@@ -14,8 +14,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
1414 // CHECK-DAG: [[I0:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 0, i32 0, i8 0, i32 undef)
1515 // CHECK-DAG: [[I1:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 0, i32 1, i8 0, i32 undef)
1616 // CHECK: mul i32 [[I0]], [[I1]]
17- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 134 , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
18- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 167 , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
17+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 [[IDOT:[0-9]*]] , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
18+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 [[IMUL:[0-9]*]] , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
1919 i += FUNC (i1[0 ], i1[1 ]);
2020
2121 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
@@ -25,8 +25,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
2525
2626 // CHECK: [[MUL:%.*]] = mul i32 [[I00]], [[I10]]
2727 // CHECK: call i32 @dx.op.tertiary.i32(i32 48, i32 [[I01]], i32 [[I11]], i32 [[MUL]]) ; IMad(a,b,c)
28- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 134 , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
29- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 167 , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
28+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 [[IDOT]] , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
29+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 [[IMUL]] , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
3030 i += FUNC (i2[0 ], i2[1 ]);
3131
3232 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 0, i32 undef)
@@ -41,8 +41,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
4141 // CHECK: [[PING:%.*]] = mul i32 [[I00]], [[I10]]
4242 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 48, i32 [[I01]], i32 [[I11]], i32 [[PING]]) ; IMad(a,b,c)
4343 // CHECK: [[PING:%.*]] = call i32 @dx.op.tertiary.i32(i32 48, i32 [[I02]], i32 [[I12]], i32 [[PONG]]) ; IMad(a,b,c)
44- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 134 , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
45- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 167 , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
44+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 [[IDOT]] , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
45+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 [[IMUL]] , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
4646 i += FUNC (i3[0 ], i3[1 ]);
4747
4848 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 3, i32 0, i8 0, i32 undef)
@@ -58,17 +58,17 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
5858 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 48, i32 [[I01]], i32 [[I11]], i32 [[PING]]) ; IMad(a,b,c)
5959 // CHECK: [[PING:%.*]] = call i32 @dx.op.tertiary.i32(i32 48, i32 [[I02]], i32 [[I12]], i32 [[PONG]]) ; IMad(a,b,c)
6060 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 48, i32 [[I03]], i32 [[I13]], i32 [[PING]]) ; IMad(a,b,c)
61- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 134 , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
62- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 167 , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
61+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 [[IDOT]] , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
62+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 [[IMUL]] , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
6363 i += FUNC (i4[0 ], i4[1 ]);
6464
6565 float f = 0.0 ;
6666
6767 // CHECK-DAG: [[F0:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 4, i32 0, i8 0, i32 undef)
6868 // CHECK-DAG: [[F1:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 4, i32 1, i8 0, i32 undef)
6969 // CHECK: mul fast float [[F0]], [[F1]]
70- // CGLDOT: call float @"dx.hl.op.rn.float (i32, <1 x float>, <1 x float>)"(i32 134 , <1 x float> %{{.*}}, <1 x float> %{{.*}})
71- // CGLMUL: call float @"dx.hl.op.rn.float (i32, <1 x float>, <1 x float>)"(i32 167 , <1 x float> %{{.*}}, <1 x float> %{{.*}})
70+ // CGLDOT: call float @"dx.hl.op.rn.float (i32, <1 x float>, <1 x float>)"(i32 [[IDOT]] , <1 x float> %{{.*}}, <1 x float> %{{.*}})
71+ // CGLMUL: call float @"dx.hl.op.rn.float (i32, <1 x float>, <1 x float>)"(i32 [[IMUL]] , <1 x float> %{{.*}}, <1 x float> %{{.*}})
7272 f += FUNC (f1[0 ], f1[1 ]);
7373
7474 // CHECK-DAG: [[F00:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 5, i32 0, i8 0, i32 undef)
@@ -77,8 +77,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
7777 // CHECK-DAG: [[F11:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 5, i32 1, i8 1, i32 undef)
7878
7979 // CHECK: call float @dx.op.dot2.f32(i32 54, float [[F00]], float [[F01]], float [[F10]], float [[F11]])
80- // CGLDOT: call float @"dx.hl.op.rn.float (i32, <2 x float>, <2 x float>)"(i32 134 , <2 x float> %{{.*}}, <2 x float> %{{.*}})
81- // CGLMUL: call float @"dx.hl.op.rn.float (i32, <2 x float>, <2 x float>)"(i32 167 , <2 x float> %{{.*}}, <2 x float> %{{.*}})
80+ // CGLDOT: call float @"dx.hl.op.rn.float (i32, <2 x float>, <2 x float>)"(i32 [[IDOT]] , <2 x float> %{{.*}}, <2 x float> %{{.*}})
81+ // CGLMUL: call float @"dx.hl.op.rn.float (i32, <2 x float>, <2 x float>)"(i32 [[IMUL]] , <2 x float> %{{.*}}, <2 x float> %{{.*}})
8282 f += FUNC (f2[0 ], f2[1 ]);
8383
8484 // CHECK-DAG: [[F00:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 6, i32 0, i8 0, i32 undef)
@@ -89,8 +89,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
8989 // CHECK-DAG: [[F12:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 6, i32 1, i8 2, i32 undef)
9090
9191 // CHECK: call float @dx.op.dot3.f32(i32 55, float [[F00]], float [[F01]], float [[F02]], float [[F10]], float [[F11]], float [[F12]])
92- // CGLDOT: call float @"dx.hl.op.rn.float (i32, <3 x float>, <3 x float>)"(i32 134 , <3 x float> %{{.*}}, <3 x float> %{{.*}})
93- // CGLMUL: call float @"dx.hl.op.rn.float (i32, <3 x float>, <3 x float>)"(i32 167 , <3 x float> %{{.*}}, <3 x float> %{{.*}})
92+ // CGLDOT: call float @"dx.hl.op.rn.float (i32, <3 x float>, <3 x float>)"(i32 [[IDOT]] , <3 x float> %{{.*}}, <3 x float> %{{.*}})
93+ // CGLMUL: call float @"dx.hl.op.rn.float (i32, <3 x float>, <3 x float>)"(i32 [[IMUL]] , <3 x float> %{{.*}}, <3 x float> %{{.*}})
9494 f += FUNC (f3[0 ], f3[1 ]);
9595
9696 // CHECK-DAG: [[F00:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 7, i32 0, i8 0, i32 undef)
@@ -103,16 +103,16 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
103103 // CHECK-DAG: [[F13:%.*]] = call float @dx.op.loadInput.f32(i32 4, i32 7, i32 1, i8 3, i32 undef)
104104
105105 // CHECK: call float @dx.op.dot4.f32(i32 56, float [[F00]], float [[F01]], float [[F02]], float [[F03]], float [[F10]], float [[F11]], float [[F12]], float [[F13]])
106- // CGLDOT: call float @"dx.hl.op.rn.float (i32, <4 x float>, <4 x float>)"(i32 134 , <4 x float> %{{.*}}, <4 x float> %{{.*}})
107- // CGLMUL: call float @"dx.hl.op.rn.float (i32, <4 x float>, <4 x float>)"(i32 167 , <4 x float> %{{.*}}, <4 x float> %{{.*}})
106+ // CGLDOT: call float @"dx.hl.op.rn.float (i32, <4 x float>, <4 x float>)"(i32 [[IDOT]] , <4 x float> %{{.*}}, <4 x float> %{{.*}})
107+ // CGLMUL: call float @"dx.hl.op.rn.float (i32, <4 x float>, <4 x float>)"(i32 [[IMUL]] , <4 x float> %{{.*}}, <4 x float> %{{.*}})
108108 f += FUNC (f4[0 ], f4[1 ]);
109109
110110 int u = 0 ;
111111 // CHECK-DAG: [[I0:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 8, i32 0, i8 0, i32 undef)
112112 // CHECK-DAG: [[I1:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 8, i32 1, i8 0, i32 undef)
113113 // CHECK: mul i32 [[I0]], [[I1]]
114- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 349 , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
115- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 354 , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
114+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 [[UDOT:[0-9]*]] , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
115+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <1 x i32>, <1 x i32>)"(i32 [[UMUL:[0-9]*]] , <1 x i32> %{{.*}}, <1 x i32> %{{.*}})
116116 u += FUNC (u1[0 ], u1[1 ]);
117117
118118 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 9, i32 0, i8 0, i32 undef)
@@ -122,8 +122,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
122122
123123 // CHECK: [[MUL:%.*]] = mul i32 [[I00]], [[I10]]
124124 // CHECK: call i32 @dx.op.tertiary.i32(i32 49, i32 [[I01]], i32 [[I11]], i32 [[MUL]]) ; UMad(a,b,c)
125- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 349 , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
126- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 354 , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
125+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 [[UDOT]] , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
126+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <2 x i32>, <2 x i32>)"(i32 [[UMUL]] , <2 x i32> %{{.*}}, <2 x i32> %{{.*}})
127127 u += FUNC (u2[0 ], u2[1 ]);
128128
129129 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 10, i32 0, i8 0, i32 undef)
@@ -136,8 +136,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
136136 // CHECK: [[PING:%.*]] = mul i32 [[I00]], [[I10]]
137137 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 49, i32 [[I01]], i32 [[I11]], i32 [[PING]]) ; UMad(a,b,c)
138138 // CHECK: [[PING:%.*]] = call i32 @dx.op.tertiary.i32(i32 49, i32 [[I02]], i32 [[I12]], i32 [[PONG]]) ; UMad(a,b,c)
139- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 349 , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
140- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 354 , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
139+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 [[UDOT]] , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
140+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <3 x i32>, <3 x i32>)"(i32 [[UMUL]] , <3 x i32> %{{.*}}, <3 x i32> %{{.*}})
141141 u += FUNC (u3[0 ], u3[1 ]);
142142
143143 // CHECK-DAG: [[I00:%.*]] = call i32 @dx.op.loadInput.i32(i32 4, i32 11, i32 0, i8 0, i32 undef)
@@ -153,8 +153,8 @@ float4 main(int1 i1[2] : IO, int2 i2[2] : IT, int3 i3[2] : IH, int4 i4[2] : IF,
153153 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 49, i32 [[I01]], i32 [[I11]], i32 [[PING]]) ; UMad(a,b,c)
154154 // CHECK: [[PING:%.*]] = call i32 @dx.op.tertiary.i32(i32 49, i32 [[I02]], i32 [[I12]], i32 [[PONG]]) ; UMad(a,b,c)
155155 // CHECK: [[PONG:%.*]] = call i32 @dx.op.tertiary.i32(i32 49, i32 [[I03]], i32 [[I13]], i32 [[PING]]) ; UMad(a,b,c)
156- // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 349 , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
157- // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 354 , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
156+ // CGLDOT: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 [[UDOT]] , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
157+ // CGLMUL: call i32 @"dx.hl.op.rn.i32 (i32, <4 x i32>, <4 x i32>)"(i32 [[UMUL]] , <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
158158 u += FUNC (u4[0 ], u4[1 ]);
159159
160160 return float4 (i, f, u, 0 );
0 commit comments