|
36 | 36 |
|
37 | 37 |
|
38 | 38 | // DXCHECK: define [[FNATTRS]] [[TYPE]] @
|
39 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn [[TYPE]] %4, %5 |
40 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn [[TYPE]] %7 |
41 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge [[TYPE]] %6, %fneg.i |
42 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn [[TYPE]] @llvm.fabs.[[INT_TYPE]]([[TYPE]] %8) |
| 39 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn [[TYPE]] %{{.*}}, %{{.*}} |
| 40 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge [[TYPE]] %{{.*}}, 0 |
| 41 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn [[TYPE]] @llvm.fabs.[[INT_TYPE]]([[TYPE]] %{{.*}}) |
43 | 42 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn [[TYPE]] @llvm.dx.frac.[[INT_TYPE]]([[TYPE]] %elt.abs.i)
|
44 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn [[TYPE]] %11 |
45 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn i1 %loadedv.i, [[TYPE]] %10, [[TYPE]] %fneg2.i |
46 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn [[TYPE]] %hlsl.select.i, %12 |
| 43 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn [[TYPE]] %{{.*}} |
| 44 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn i1 %{{.*}}, [[TYPE]] %{{.*}}, [[TYPE]] %fneg.i |
| 45 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn [[TYPE]] %hlsl.select.i, %{{.*}} |
47 | 46 | // DXCHECK: ret [[TYPE]] %mul.i
|
48 | 47 | // CHECK: define [[FNATTRS]] [[TYPE]] @
|
49 | 48 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn [[TYPE]]
|
50 | 49 | // CHECK: ret [[TYPE]] %fmod.i
|
51 | 50 | half test_fmod_half(half p0, half p1) { return fmod(p0, p1); }
|
52 | 51 |
|
53 | 52 | // DXCHECK: define [[FNATTRS]] <2 x [[TYPE]]> @
|
54 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %4, %5 |
55 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %7 |
56 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <2 x [[TYPE]]> %6, %fneg.i |
57 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> @llvm.fabs.v2[[INT_TYPE]](<2 x [[TYPE]]> %9) |
| 53 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %{{.*}}, %{{.*}} |
| 54 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <2 x [[TYPE]]> %{{.*}}, zeroinitializer |
| 55 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> @llvm.fabs.v2[[INT_TYPE]](<2 x [[TYPE]]> %{{.*}}) |
58 | 56 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> @llvm.dx.frac.v2[[INT_TYPE]](<2 x [[TYPE]]> %elt.abs.i)
|
59 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %12 |
60 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <2 x i1> %extractvec.i, <2 x [[TYPE]]> %11, <2 x [[TYPE]]> %fneg2.i |
61 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %hlsl.select.i, %13 |
| 57 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %{{.*}} |
| 58 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <2 x i1> %{{.*}}, <2 x [[TYPE]]> %{{.*}}, <2 x [[TYPE]]> %fneg.i |
| 59 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]> %hlsl.select.i, %{{.*}} |
62 | 60 | // DXCHECK: ret <2 x [[TYPE]]> %mul.i
|
63 | 61 | // CHECK: define [[FNATTRS]] <2 x [[TYPE]]> @
|
64 | 62 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <2 x [[TYPE]]>
|
65 | 63 | // CHECK: ret <2 x [[TYPE]]> %fmod.i
|
66 | 64 | half2 test_fmod_half2(half2 p0, half2 p1) { return fmod(p0, p1); }
|
67 | 65 |
|
68 | 66 | // DXCHECK: define [[FNATTRS]] <3 x [[TYPE]]> @
|
69 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %4, %5 |
70 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %7 |
71 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <3 x [[TYPE]]> %6, %fneg.i |
72 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> @llvm.fabs.v3[[INT_TYPE]](<3 x [[TYPE]]> %9) |
| 67 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %{{.*}}, %{{.*}} |
| 68 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <3 x [[TYPE]]> %{{.*}}, zeroinitializer |
| 69 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> @llvm.fabs.v3[[INT_TYPE]](<3 x [[TYPE]]> %{{.*}}) |
73 | 70 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> @llvm.dx.frac.v3[[INT_TYPE]](<3 x [[TYPE]]> %elt.abs.i)
|
74 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %12 |
75 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <3 x i1> %extractvec.i, <3 x [[TYPE]]> %11, <3 x [[TYPE]]> %fneg2.i |
76 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %hlsl.select.i, %13 |
| 71 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %{{.*}} |
| 72 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <3 x i1> %{{.*}}, <3 x [[TYPE]]> %{{.*}}, <3 x [[TYPE]]> %fneg.i |
| 73 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]> %hlsl.select.i, %{{.*}} |
77 | 74 | // DXCHECK: ret <3 x [[TYPE]]> %mul.i
|
78 | 75 | // CHECK: define [[FNATTRS]] <3 x [[TYPE]]> @
|
79 | 76 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <3 x [[TYPE]]>
|
80 | 77 | // CHECK: ret <3 x [[TYPE]]> %fmod.i
|
81 | 78 | half3 test_fmod_half3(half3 p0, half3 p1) { return fmod(p0, p1); }
|
82 | 79 |
|
83 | 80 | // DXCHECK: define [[FNATTRS]] <4 x [[TYPE]]> @
|
84 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %4, %5 |
85 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %7 |
86 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <4 x [[TYPE]]> %6, %fneg.i |
87 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> @llvm.fabs.v4[[INT_TYPE]](<4 x [[TYPE]]> %9) |
| 81 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %{{.*}}, %{{.*}} |
| 82 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <4 x [[TYPE]]> %{{.*}}, zeroinitializer |
| 83 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> @llvm.fabs.v4[[INT_TYPE]](<4 x [[TYPE]]> %{{.*}}) |
88 | 84 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> @llvm.dx.frac.v4[[INT_TYPE]](<4 x [[TYPE]]> %elt.abs.i)
|
89 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %12 |
90 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <4 x i1> %extractvec.i, <4 x [[TYPE]]> %11, <4 x [[TYPE]]> %fneg2.i |
91 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %hlsl.select.i, %13 |
| 85 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %{{.*}} |
| 86 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <4 x i1> %{{.*}}, <4 x [[TYPE]]> %{{.*}}, <4 x [[TYPE]]> %fneg.i |
| 87 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]> %hlsl.select.i, %{{.*}} |
92 | 88 | // DXCHECK: ret <4 x [[TYPE]]> %mul.i
|
93 | 89 | // CHECK: define [[FNATTRS]] <4 x [[TYPE]]> @
|
94 | 90 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <4 x [[TYPE]]>
|
95 | 91 | // CHECK: ret <4 x [[TYPE]]> %fmod.i
|
96 | 92 | half4 test_fmod_half4(half4 p0, half4 p1) { return fmod(p0, p1); }
|
97 | 93 |
|
98 | 94 | // DXCHECK: define [[FNATTRS]] float @
|
99 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn float %4, %5 |
100 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn float %7 |
101 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge float %6, %fneg.i |
102 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn float @llvm.fabs.f32(float %8) |
| 95 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn float %{{.*}}, %{{.*}} |
| 96 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge float %{{.*}}, 0.000000e+00 |
| 97 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn float @llvm.fabs.f32(float %{{.*}}) |
103 | 98 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn float @llvm.dx.frac.f32(float %elt.abs.i)
|
104 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn float %11 |
105 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn i1 %loadedv.i, float %10, float %fneg2.i |
106 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn float %hlsl.select.i, %12 |
| 99 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn float %{{.*}} |
| 100 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn i1 %{{.*}}, float %{{.*}}, float %fneg.i |
| 101 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn float %hlsl.select.i, %{{.*}} |
107 | 102 | // DXCHECK: ret float %mul.i
|
108 | 103 | // CHECK: define [[FNATTRS]] float @
|
109 | 104 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn float
|
110 | 105 | // CHECK: ret float %fmod.i
|
111 | 106 | float test_fmod_float(float p0, float p1) { return fmod(p0, p1); }
|
112 | 107 |
|
113 | 108 | // DXCHECK: define [[FNATTRS]] <2 x float> @
|
114 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <2 x float> %4, %5 |
115 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <2 x float> %7 |
116 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <2 x float> %6, %fneg.i |
117 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.fabs.v2f32(<2 x float> %9) |
| 109 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <2 x float> %{{.*}}, %{{.*}} |
| 110 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <2 x float> %{{.*}}, zeroinitializer |
| 111 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.fabs.v2f32(<2 x float> %{{.*}}) |
118 | 112 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.dx.frac.v2f32(<2 x float> %elt.abs.i)
|
119 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <2 x float> %12 |
120 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <2 x i1> %extractvec.i, <2 x float> %11, <2 x float> %fneg2.i |
121 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <2 x float> %hlsl.select.i, %13 |
| 113 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <2 x float> %{{.*}} |
| 114 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <2 x i1> %{{.*}}, <2 x float> %{{.*}}, <2 x float> %fneg.i |
| 115 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <2 x float> %hlsl.select.i, %{{.*}} |
122 | 116 | // DXCHECK: ret <2 x float> %mul.i
|
123 | 117 | // CHECK: define [[FNATTRS]] <2 x float> @
|
124 | 118 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <2 x float>
|
125 | 119 | // CHECK: ret <2 x float> %fmod.i
|
126 | 120 | float2 test_fmod_float2(float2 p0, float2 p1) { return fmod(p0, p1); }
|
127 | 121 |
|
128 | 122 | // DXCHECK: define [[FNATTRS]] <3 x float> @
|
129 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <3 x float> %4, %5 |
130 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <3 x float> %7 |
131 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <3 x float> %6, %fneg.i |
132 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.fabs.v3f32(<3 x float> %9) |
| 123 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <3 x float> %{{.*}}, %{{.*}} |
| 124 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <3 x float> %{{.*}}, zeroinitializer |
| 125 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.fabs.v3f32(<3 x float> %{{.*}}) |
133 | 126 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.dx.frac.v3f32(<3 x float> %elt.abs.i)
|
134 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <3 x float> %12 |
135 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <3 x i1> %extractvec.i, <3 x float> %11, <3 x float> %fneg2.i |
136 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <3 x float> %hlsl.select.i, %13 |
| 127 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <3 x float> %{{.*}} |
| 128 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <3 x i1> %{{.*}}, <3 x float> %{{.*}}, <3 x float> %fneg.i |
| 129 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <3 x float> %hlsl.select.i, %{{.*}} |
137 | 130 | // DXCHECK: ret <3 x float> %mul.i
|
138 | 131 | // CHECK: define [[FNATTRS]] <3 x float> @
|
139 | 132 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <3 x float>
|
140 | 133 | // CHECK: ret <3 x float> %fmod.i
|
141 | 134 | float3 test_fmod_float3(float3 p0, float3 p1) { return fmod(p0, p1); }
|
142 | 135 |
|
143 | 136 | // DXCHECK: define [[FNATTRS]] <4 x float> @
|
144 |
| -// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <4 x float> %4, %5 |
145 |
| -// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <4 x float> %7 |
146 |
| -// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <4 x float> %6, %fneg.i |
147 |
| -// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.fabs.v4f32(<4 x float> %9) |
| 137 | +// DXCHECK: %div1.i = fdiv reassoc nnan ninf nsz arcp afn <4 x float> %{{.*}}, %{{.*}} |
| 138 | +// DXCHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn oge <4 x float> %{{.*}}, zeroinitializer |
| 139 | +// DXCHECK: %elt.abs.i = call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.fabs.v4f32(<4 x float> %{{.*}}) |
148 | 140 | // DXCHECK: %hlsl.frac.i = call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.dx.frac.v4f32(<4 x float> %elt.abs.i)
|
149 |
| -// DXCHECK: %fneg2.i = fneg reassoc nnan ninf nsz arcp afn <4 x float> %12 |
150 |
| -// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <4 x i1> %extractvec.i, <4 x float> %11, <4 x float> %fneg2.i |
151 |
| -// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <4 x float> %hlsl.select.i, %13 |
| 141 | +// DXCHECK: %fneg.i = fneg reassoc nnan ninf nsz arcp afn <4 x float> %{{.*}} |
| 142 | +// DXCHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %fneg.i |
| 143 | +// DXCHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn <4 x float> %hlsl.select.i, %{{.*}} |
152 | 144 | // DXCHECK: ret <4 x float> %mul.i
|
153 | 145 | // CHECK: define [[FNATTRS]] <4 x float> @
|
154 | 146 | // CHECK: %fmod.i = frem reassoc nnan ninf nsz arcp afn <4 x float>
|
|
0 commit comments