@@ -22,25 +22,25 @@ int16_t3 test_abs_int16_t3(int16_t3 p0) { return abs(p0); }
2222int16_t4 test_abs_int16_t4 (int16_t4 p0) { return abs (p0); }
2323#endif // __HLSL_ENABLE_16_BIT
2424
25- // NATIVE_HALF-LABEL: define noundef half @_Z13test_abs_half
26- // NATIVE_HALF: call half @llvm.fabs.f16(
27- // NO_HALF-LABEL: define noundef float @_Z13test_abs_half
28- // NO_HALF: call float @llvm.fabs.f32(float %0)
25+ // NATIVE_HALF-LABEL: define noundef nofpclass(nan inf) half @_Z13test_abs_half
26+ // NATIVE_HALF: call reassoc nnan ninf nsz arcp afn half @llvm.fabs.f16(
27+ // NO_HALF-LABEL: define noundef nofpclass(nan inf) float @_Z13test_abs_half
28+ // NO_HALF: call reassoc nnan ninf nsz arcp afn float @llvm.fabs.f32(float %0)
2929half test_abs_half (half p0) { return abs (p0); }
30- // NATIVE_HALF-LABEL: define noundef <2 x half> @_Z14test_abs_half2
31- // NATIVE_HALF: call <2 x half> @llvm.fabs.v2f16(
32- // NO_HALF-LABEL: define noundef <2 x float> @_Z14test_abs_half2
33- // NO_HALF: call <2 x float> @llvm.fabs.v2f32(
30+ // NATIVE_HALF-LABEL: define noundef nofpclass(nan inf) <2 x half> @_Z14test_abs_half2
31+ // NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <2 x half> @llvm.fabs.v2f16(
32+ // NO_HALF-LABEL: define noundef nofpclass(nan inf) <2 x float> @_Z14test_abs_half2
33+ // NO_HALF: call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.fabs.v2f32(
3434half2 test_abs_half2 (half2 p0) { return abs (p0); }
35- // NATIVE_HALF-LABEL: define noundef <3 x half> @_Z14test_abs_half3
36- // NATIVE_HALF: call <3 x half> @llvm.fabs.v3f16(
37- // NO_HALF-LABEL: define noundef <3 x float> @_Z14test_abs_half3
38- // NO_HALF: call <3 x float> @llvm.fabs.v3f32(
35+ // NATIVE_HALF-LABEL: define noundef nofpclass(nan inf) <3 x half> @_Z14test_abs_half3
36+ // NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <3 x half> @llvm.fabs.v3f16(
37+ // NO_HALF-LABEL: define noundef nofpclass(nan inf) <3 x float> @_Z14test_abs_half3
38+ // NO_HALF: call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.fabs.v3f32(
3939half3 test_abs_half3 (half3 p0) { return abs (p0); }
40- // NATIVE_HALF-LABEL: define noundef <4 x half> @_Z14test_abs_half4
41- // NATIVE_HALF: call <4 x half> @llvm.fabs.v4f16(
42- // NO_HALF-LABEL: define noundef <4 x float> @_Z14test_abs_half4
43- // NO_HALF: call <4 x float> @llvm.fabs.v4f32(
40+ // NATIVE_HALF-LABEL: define noundef nofpclass(nan inf) <4 x half> @_Z14test_abs_half4
41+ // NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <4 x half> @llvm.fabs.v4f16(
42+ // NO_HALF-LABEL: define noundef nofpclass(nan inf) <4 x float> @_Z14test_abs_half4
43+ // NO_HALF: call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.fabs.v4f32(
4444half4 test_abs_half4 (half4 p0) { return abs (p0); }
4545
4646// CHECK-LABEL: define noundef i32 @_Z12test_abs_int
@@ -56,17 +56,17 @@ int3 test_abs_int3(int3 p0) { return abs(p0); }
5656// CHECK: call <4 x i32> @llvm.abs.v4i32(
5757int4 test_abs_int4 (int4 p0) { return abs (p0); }
5858
59- // CHECK-LABEL: define noundef float @_Z14test_abs_float
60- // CHECK: call float @llvm.fabs.f32(
59+ // CHECK-LABEL: define noundef nofpclass(nan inf) float @_Z14test_abs_float
60+ // CHECK: call reassoc nnan ninf nsz arcp afn float @llvm.fabs.f32(
6161float test_abs_float (float p0) { return abs (p0); }
62- // CHECK-LABEL: define noundef <2 x float> @_Z15test_abs_float2
63- // CHECK: call <2 x float> @llvm.fabs.v2f32(
62+ // CHECK-LABEL: define noundef nofpclass(nan inf) <2 x float> @_Z15test_abs_float2
63+ // CHECK: call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.fabs.v2f32(
6464float2 test_abs_float2 (float2 p0) { return abs (p0); }
65- // CHECK-LABEL: define noundef <3 x float> @_Z15test_abs_float3
66- // CHECK: call <3 x float> @llvm.fabs.v3f32(
65+ // CHECK-LABEL: define noundef nofpclass(nan inf) <3 x float> @_Z15test_abs_float3
66+ // CHECK: call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.fabs.v3f32(
6767float3 test_abs_float3 (float3 p0) { return abs (p0); }
68- // CHECK-LABEL: define noundef <4 x float> @_Z15test_abs_float4
69- // CHECK: call <4 x float> @llvm.fabs.v4f32(
68+ // CHECK-LABEL: define noundef nofpclass(nan inf) <4 x float> @_Z15test_abs_float4
69+ // CHECK: call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.fabs.v4f32(
7070float4 test_abs_float4 (float4 p0) { return abs (p0); }
7171
7272// CHECK-LABEL: define noundef i64 @_Z16test_abs_int64_t
@@ -82,15 +82,15 @@ int64_t3 test_abs_int64_t3(int64_t3 p0) { return abs(p0); }
8282// CHECK: call <4 x i64> @llvm.abs.v4i64(
8383int64_t4 test_abs_int64_t4 (int64_t4 p0) { return abs (p0); }
8484
85- // CHECK-LABEL: define noundef double @_Z15test_abs_double
86- // CHECK: call double @llvm.fabs.f64(
85+ // CHECK-LABEL: define noundef nofpclass(nan inf) double @_Z15test_abs_double
86+ // CHECK: call reassoc nnan ninf nsz arcp afn double @llvm.fabs.f64(
8787double test_abs_double (double p0) { return abs (p0); }
88- // CHECK-LABEL: define noundef <2 x double> @_Z16test_abs_double2
89- // CHECK: call <2 x double> @llvm.fabs.v2f64(
88+ // CHECK-LABEL: define noundef nofpclass(nan inf) <2 x double> @_Z16test_abs_double2
89+ // CHECK: call reassoc nnan ninf nsz arcp afn <2 x double> @llvm.fabs.v2f64(
9090double2 test_abs_double2 (double2 p0) { return abs (p0); }
91- // CHECK-LABEL: define noundef <3 x double> @_Z16test_abs_double3
92- // CHECK: call <3 x double> @llvm.fabs.v3f64(
91+ // CHECK-LABEL: define noundef nofpclass(nan inf) <3 x double> @_Z16test_abs_double3
92+ // CHECK: call reassoc nnan ninf nsz arcp afn <3 x double> @llvm.fabs.v3f64(
9393double3 test_abs_double3 (double3 p0) { return abs (p0); }
94- // CHECK-LABEL: define noundef <4 x double> @_Z16test_abs_double4
95- // CHECK: call <4 x double> @llvm.fabs.v4f64(
94+ // CHECK-LABEL: define noundef nofpclass(nan inf) <4 x double> @_Z16test_abs_double4
95+ // CHECK: call reassoc nnan ninf nsz arcp afn <4 x double> @llvm.fabs.v4f64(
9696double4 test_abs_double4 (double4 p0) { return abs (p0); }
0 commit comments