@@ -131,8 +131,8 @@ define half @test_fsub(half %a, half %b) #0 {
131
131
ret half %r
132
132
}
133
133
134
- ; CHECK-LABEL: test_fneg (
135
- ; CHECK-DAG: ld.param.b16 [[A:%rs[0-9]+]], [test_fneg_param_0 ];
134
+ ; CHECK-LABEL: test_old_fneg (
135
+ ; CHECK-DAG: ld.param.b16 [[A:%rs[0-9]+]], [test_old_fneg_param_0 ];
136
136
; CHECK-F16-NOFTZ-NEXT: mov.b16 [[Z:%rs[0-9]+]], 0x0000
137
137
; CHECK-F16-NOFTZ-NEXT: sub.rn.f16 [[R:%rs[0-9]+]], [[Z]], [[A]];
138
138
; CHECK-F16-FTZ-NEXT: mov.b16 [[Z:%rs[0-9]+]], 0x0000
@@ -143,11 +143,23 @@ define half @test_fsub(half %a, half %b) #0 {
143
143
; CHECK-NOF16-NEXT: cvt.rn.f16.f32 [[R:%rs[0-9]+]], [[R32]]
144
144
; CHECK-NEXT: st.param.b16 [func_retval0+0], [[R]];
145
145
; CHECK-NEXT: ret;
146
- define half @test_fneg (half %a ) #0 {
146
+ define half @test_old_fneg (half %a ) #0 {
147
147
%r = fsub half 0 .0 , %a
148
148
ret half %r
149
149
}
150
150
151
+ ; CHECK-LABEL: test_fneg(
152
+ ; CHECK: ld.param.b16 [[A:%rs[0-9]+]], [test_fneg_param_0];
153
+ ; CHECK-F16-NOFTZ-NEXT: neg.f16 [[R:%rs[0-9]+]], [[A]];
154
+ ; CHECK-F16-FTZ-NEXT: neg.ftz.f16 [[R:%rs[0-9]+]], [[A]];
155
+ ; CHECK-NOF16-NEXT: xor.b16 [[R:%rs[0-9]+]], [[A]], -32768;
156
+ ; CHECK-NEXT: st.param.b16 [func_retval0+0], [[R]];
157
+ ; CHECK-NEXT: ret;
158
+ define half @test_fneg (half %a ) #0 {
159
+ %r = fneg half %a
160
+ ret half %r
161
+ }
162
+
151
163
; CHECK-LABEL: test_fmul(
152
164
; CHECK-DAG: ld.param.b16 [[A:%rs[0-9]+]], [test_fmul_param_0];
153
165
; CHECK-DAG: ld.param.b16 [[B:%rs[0-9]+]], [test_fmul_param_1];
0 commit comments