@@ -99,9 +99,20 @@ define void @foo_complex(ptr nocapture readonly align 16 dereferenceable(1342177
99
99
100
100
; CHECK-LABEL: extv8f16_global_a16(
101
101
define void @extv8f16_global_a16 (ptr addrspace (1 ) noalias readonly align 16 %dst , ptr addrspace (1 ) noalias readonly align 16 %src ) #0 {
102
- ; CHECK: ld.global.v4.b16 {%f
103
- ; CHECK: ld.global.v4.b16 {%f
102
+ ; CHECK: ld.global.v4.b32 {%r
104
103
%v = load <8 x half >, ptr addrspace (1 ) %src , align 16
104
+ ; CHECK: mov.b32 {%rs
105
+ ; CHECK: mov.b32 {%rs
106
+ ; CHECK: mov.b32 {%rs
107
+ ; CHECK: mov.b32 {%rs
108
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
109
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
110
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
111
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
112
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
113
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
114
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
115
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
105
116
%ext = fpext <8 x half > %v to <8 x float >
106
117
; CHECK: st.global.v4.f32
107
118
; CHECK: st.global.v4.f32
@@ -111,11 +122,23 @@ define void @extv8f16_global_a16(ptr addrspace(1) noalias readonly align 16 %dst
111
122
112
123
; CHECK-LABEL: extv8f16_global_a4(
113
124
define void @extv8f16_global_a4 (ptr addrspace (1 ) noalias readonly align 16 %dst , ptr addrspace (1 ) noalias readonly align 16 %src ) #0 {
114
- ; CHECK: ld.global.v2.b16 {%f
115
- ; CHECK: ld.global.v2.b16 {%f
116
- ; CHECK: ld.global.v2.b16 {%f
117
- ; CHECK: ld.global.v2.b16 {%f
125
+ ; CHECK: ld.global.b32 %r
126
+ ; CHECK: ld.global.b32 %r
127
+ ; CHECK: ld.global.b32 %r
128
+ ; CHECK: ld.global.b32 %r
118
129
%v = load <8 x half >, ptr addrspace (1 ) %src , align 4
130
+ ; CHECK: mov.b32 {%rs
131
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
132
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
133
+ ; CHECK: mov.b32 {%rs
134
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
135
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
136
+ ; CHECK: mov.b32 {%rs
137
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
138
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
139
+ ; CHECK: mov.b32 {%rs
140
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
141
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
119
142
%ext = fpext <8 x half > %v to <8 x float >
120
143
; CHECK: st.global.v4.f32
121
144
; CHECK: st.global.v4.f32
@@ -126,9 +149,20 @@ define void @extv8f16_global_a4(ptr addrspace(1) noalias readonly align 16 %dst,
126
149
127
150
; CHECK-LABEL: extv8f16_generic_a16(
128
151
define void @extv8f16_generic_a16 (ptr noalias readonly align 16 %dst , ptr noalias readonly align 16 %src ) #0 {
129
- ; CHECK: ld.v4.b16 {%f
130
- ; CHECK: ld.v4.b16 {%f
152
+ ; CHECK: ld.v4.b32 {%r
131
153
%v = load <8 x half >, ptr %src , align 16
154
+ ; CHECK: mov.b32 {%rs
155
+ ; CHECK: mov.b32 {%rs
156
+ ; CHECK: mov.b32 {%rs
157
+ ; CHECK: mov.b32 {%rs
158
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
159
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
160
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
161
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
162
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
163
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
164
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
165
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
132
166
%ext = fpext <8 x half > %v to <8 x float >
133
167
; CHECK: st.v4.f32
134
168
; CHECK: st.v4.f32
@@ -138,11 +172,23 @@ define void @extv8f16_generic_a16(ptr noalias readonly align 16 %dst, ptr noalia
138
172
139
173
; CHECK-LABEL: extv8f16_generic_a4(
140
174
define void @extv8f16_generic_a4 (ptr noalias readonly align 16 %dst , ptr noalias readonly align 16 %src ) #0 {
141
- ; CHECK: ld.v2.b16 {%f
142
- ; CHECK: ld.v2.b16 {%f
143
- ; CHECK: ld.v2.b16 {%f
144
- ; CHECK: ld.v2.b16 {%f
175
+ ; CHECK: ld.b32 %r
176
+ ; CHECK: ld.b32 %r
177
+ ; CHECK: ld.b32 %r
178
+ ; CHECK: ld.b32 %r
145
179
%v = load <8 x half >, ptr %src , align 4
180
+ ; CHECK: mov.b32 {%rs
181
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
182
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
183
+ ; CHECK: mov.b32 {%rs
184
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
185
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
186
+ ; CHECK: mov.b32 {%rs
187
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
188
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
189
+ ; CHECK: mov.b32 {%rs
190
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
191
+ ; CHECK: cvt.f32.f16 %f{{.*}}, %rs
146
192
%ext = fpext <8 x half > %v to <8 x float >
147
193
; CHECK: st.v4.f32
148
194
; CHECK: st.v4.f32
0 commit comments