@@ -110,56 +110,56 @@ uint64_t test_dot_ulong4(uint64_t4 p0, uint64_t4 p1) { return dot(p0, p1); }
110110// NO_HALF: ret float %dx.dot
111111half test_dot_half (half p0, half p1) { return dot (p0, p1); }
112112
113- // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot .v2f16(<2 x half> %0, <2 x half> %1)
113+ // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot2 .v2f16(<2 x half> %0, <2 x half> %1)
114114// NATIVE_HALF: ret half %dx.dot
115- // NO_HALF: %dx.dot = call float @llvm.dx.dot .v2f32(<2 x float> %0, <2 x float> %1)
115+ // NO_HALF: %dx.dot = call float @llvm.dx.dot2 .v2f32(<2 x float> %0, <2 x float> %1)
116116// NO_HALF: ret float %dx.dot
117117half test_dot_half2 (half2 p0, half2 p1) { return dot (p0, p1); }
118118
119- // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot .v3f16(<3 x half> %0, <3 x half> %1)
119+ // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot3 .v3f16(<3 x half> %0, <3 x half> %1)
120120// NATIVE_HALF: ret half %dx.dot
121- // NO_HALF: %dx.dot = call float @llvm.dx.dot .v3f32(<3 x float> %0, <3 x float> %1)
121+ // NO_HALF: %dx.dot = call float @llvm.dx.dot3 .v3f32(<3 x float> %0, <3 x float> %1)
122122// NO_HALF: ret float %dx.dot
123123half test_dot_half3 (half3 p0, half3 p1) { return dot (p0, p1); }
124124
125- // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot .v4f16(<4 x half> %0, <4 x half> %1)
125+ // NATIVE_HALF: %dx.dot = call half @llvm.dx.dot4 .v4f16(<4 x half> %0, <4 x half> %1)
126126// NATIVE_HALF: ret half %dx.dot
127- // NO_HALF: %dx.dot = call float @llvm.dx.dot .v4f32(<4 x float> %0, <4 x float> %1)
127+ // NO_HALF: %dx.dot = call float @llvm.dx.dot4 .v4f32(<4 x float> %0, <4 x float> %1)
128128// NO_HALF: ret float %dx.dot
129129half test_dot_half4 (half4 p0, half4 p1) { return dot (p0, p1); }
130130
131131// CHECK: %dx.dot = fmul float %0, %1
132132// CHECK: ret float %dx.dot
133133float test_dot_float (float p0, float p1) { return dot (p0, p1); }
134134
135- // CHECK: %dx.dot = call float @llvm.dx.dot .v2f32(<2 x float> %0, <2 x float> %1)
135+ // CHECK: %dx.dot = call float @llvm.dx.dot2 .v2f32(<2 x float> %0, <2 x float> %1)
136136// CHECK: ret float %dx.dot
137137float test_dot_float2 (float2 p0, float2 p1) { return dot (p0, p1); }
138138
139- // CHECK: %dx.dot = call float @llvm.dx.dot .v3f32(<3 x float> %0, <3 x float> %1)
139+ // CHECK: %dx.dot = call float @llvm.dx.dot3 .v3f32(<3 x float> %0, <3 x float> %1)
140140// CHECK: ret float %dx.dot
141141float test_dot_float3 (float3 p0, float3 p1) { return dot (p0, p1); }
142142
143- // CHECK: %dx.dot = call float @llvm.dx.dot .v4f32(<4 x float> %0, <4 x float> %1)
143+ // CHECK: %dx.dot = call float @llvm.dx.dot4 .v4f32(<4 x float> %0, <4 x float> %1)
144144// CHECK: ret float %dx.dot
145145float test_dot_float4 (float4 p0, float4 p1) { return dot (p0, p1); }
146146
147- // CHECK: %dx.dot = call float @llvm.dx.dot .v2f32(<2 x float> %splat.splat, <2 x float> %1)
147+ // CHECK: %dx.dot = call float @llvm.dx.dot2 .v2f32(<2 x float> %splat.splat, <2 x float> %1)
148148// CHECK: ret float %dx.dot
149149float test_dot_float2_splat (float p0, float2 p1) { return dot (p0, p1); }
150150
151- // CHECK: %dx.dot = call float @llvm.dx.dot .v3f32(<3 x float> %splat.splat, <3 x float> %1)
151+ // CHECK: %dx.dot = call float @llvm.dx.dot3 .v3f32(<3 x float> %splat.splat, <3 x float> %1)
152152// CHECK: ret float %dx.dot
153153float test_dot_float3_splat (float p0, float3 p1) { return dot (p0, p1); }
154154
155- // CHECK: %dx.dot = call float @llvm.dx.dot .v4f32(<4 x float> %splat.splat, <4 x float> %1)
155+ // CHECK: %dx.dot = call float @llvm.dx.dot4 .v4f32(<4 x float> %splat.splat, <4 x float> %1)
156156// CHECK: ret float %dx.dot
157157float test_dot_float4_splat (float p0, float4 p1) { return dot (p0, p1); }
158158
159159// CHECK: %conv = sitofp i32 %1 to float
160160// CHECK: %splat.splatinsert = insertelement <2 x float> poison, float %conv, i64 0
161161// CHECK: %splat.splat = shufflevector <2 x float> %splat.splatinsert, <2 x float> poison, <2 x i32> zeroinitializer
162- // CHECK: %dx.dot = call float @llvm.dx.dot .v2f32(<2 x float> %0, <2 x float> %splat.splat)
162+ // CHECK: %dx.dot = call float @llvm.dx.dot2 .v2f32(<2 x float> %0, <2 x float> %splat.splat)
163163// CHECK: ret float %dx.dot
164164float test_builtin_dot_float2_int_splat (float2 p0, int p1) {
165165 return dot (p0, p1);
@@ -168,7 +168,7 @@ float test_builtin_dot_float2_int_splat(float2 p0, int p1) {
168168// CHECK: %conv = sitofp i32 %1 to float
169169// CHECK: %splat.splatinsert = insertelement <3 x float> poison, float %conv, i64 0
170170// CHECK: %splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> poison, <3 x i32> zeroinitializer
171- // CHECK: %dx.dot = call float @llvm.dx.dot .v3f32(<3 x float> %0, <3 x float> %splat.splat)
171+ // CHECK: %dx.dot = call float @llvm.dx.dot3 .v3f32(<3 x float> %0, <3 x float> %splat.splat)
172172// CHECK: ret float %dx.dot
173173float test_builtin_dot_float3_int_splat (float3 p0, int p1) {
174174 return dot (p0, p1);
0 commit comments