Skip to content

Commit 2f87882

Browse files
committed
Correct test
1 parent 4416017 commit 2f87882

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

llvm/test/CodeGen/X86/llc-accept-avx10-512.ll

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
2+
13
; avx10.x-512 is just avx10.x -- 512 is kept for compatibility purposes.
24

35
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx10.1-512 2>&1 | FileCheck --check-prefixes=CHECK-AVX10_1 %s
@@ -8,11 +10,87 @@
810
; CHECK-AVX10_2-NOT: is not recognizable
911

1012
define <32 x bfloat> @foo_avx10.1(<16 x float> %a, <16 x float> %b) {
13+
; CHECK-AVX10_1-LABEL: foo_avx10.1:
14+
; CHECK-AVX10_1: # %bb.0:
15+
; CHECK-AVX10_1-NEXT: vcvtne2ps2bf16 %zmm1, %zmm0, %zmm0
16+
; CHECK-AVX10_1-NEXT: retq
17+
;
18+
; CHECK-AVX10_2-LABEL: foo_avx10.1:
19+
; CHECK-AVX10_2: # %bb.0:
20+
; CHECK-AVX10_2-NEXT: vcvtne2ps2bf16 %zmm1, %zmm0, %zmm0
21+
; CHECK-AVX10_2-NEXT: retq
1122
%ret = call <32 x bfloat> @llvm.x86.avx512bf16.cvtne2ps2bf16.512(<16 x float> %a, <16 x float> %b)
1223
ret <32 x bfloat> %ret
1324
}
1425

1526
define <8 x i32> @foo_avx10.2(<8 x double> %f) {
27+
; CHECK-AVX10_1-LABEL: foo_avx10.2:
28+
; CHECK-AVX10_1: # %bb.0:
29+
; CHECK-AVX10_1-NEXT: vextractf32x4 $2, %zmm0, %xmm1
30+
; CHECK-AVX10_1-NEXT: vshufpd {{.*#+}} xmm2 = xmm1[1,0]
31+
; CHECK-AVX10_1-NEXT: vmovsd {{.*#+}} xmm3 = [-2.147483648E+9,0.0E+0]
32+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm2, %xmm4
33+
; CHECK-AVX10_1-NEXT: vmovsd {{.*#+}} xmm5 = [2.147483647E+9,0.0E+0]
34+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm4, %xmm4
35+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm4, %ecx
36+
; CHECK-AVX10_1-NEXT: xorl %eax, %eax
37+
; CHECK-AVX10_1-NEXT: vucomisd %xmm2, %xmm2
38+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
39+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm1, %xmm2
40+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm2, %xmm2
41+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm2, %edx
42+
; CHECK-AVX10_1-NEXT: vucomisd %xmm1, %xmm1
43+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %edx
44+
; CHECK-AVX10_1-NEXT: vmovd %edx, %xmm1
45+
; CHECK-AVX10_1-NEXT: vpinsrd $1, %ecx, %xmm1, %xmm1
46+
; CHECK-AVX10_1-NEXT: vextractf32x4 $3, %zmm0, %xmm2
47+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm2, %xmm4
48+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm4, %xmm4
49+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm4, %ecx
50+
; CHECK-AVX10_1-NEXT: vucomisd %xmm2, %xmm2
51+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
52+
; CHECK-AVX10_1-NEXT: vpinsrd $2, %ecx, %xmm1, %xmm1
53+
; CHECK-AVX10_1-NEXT: vshufpd {{.*#+}} xmm2 = xmm2[1,0]
54+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm2, %xmm4
55+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm4, %xmm4
56+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm4, %ecx
57+
; CHECK-AVX10_1-NEXT: vucomisd %xmm2, %xmm2
58+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
59+
; CHECK-AVX10_1-NEXT: vpinsrd $3, %ecx, %xmm1, %xmm1
60+
; CHECK-AVX10_1-NEXT: vshufpd {{.*#+}} xmm2 = xmm0[1,0]
61+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm2, %xmm4
62+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm4, %xmm4
63+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm4, %ecx
64+
; CHECK-AVX10_1-NEXT: vucomisd %xmm2, %xmm2
65+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
66+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm0, %xmm2
67+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm2, %xmm2
68+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm2, %edx
69+
; CHECK-AVX10_1-NEXT: vucomisd %xmm0, %xmm0
70+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %edx
71+
; CHECK-AVX10_1-NEXT: vmovd %edx, %xmm2
72+
; CHECK-AVX10_1-NEXT: vpinsrd $1, %ecx, %xmm2, %xmm2
73+
; CHECK-AVX10_1-NEXT: vextractf128 $1, %ymm0, %xmm0
74+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm0, %xmm4
75+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm4, %xmm4
76+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm4, %ecx
77+
; CHECK-AVX10_1-NEXT: vucomisd %xmm0, %xmm0
78+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
79+
; CHECK-AVX10_1-NEXT: vpinsrd $2, %ecx, %xmm2, %xmm2
80+
; CHECK-AVX10_1-NEXT: vshufpd {{.*#+}} xmm0 = xmm0[1,0]
81+
; CHECK-AVX10_1-NEXT: vmaxsd %xmm3, %xmm0, %xmm3
82+
; CHECK-AVX10_1-NEXT: vminsd %xmm5, %xmm3, %xmm3
83+
; CHECK-AVX10_1-NEXT: vcvttsd2si %xmm3, %ecx
84+
; CHECK-AVX10_1-NEXT: vucomisd %xmm0, %xmm0
85+
; CHECK-AVX10_1-NEXT: cmovpl %eax, %ecx
86+
; CHECK-AVX10_1-NEXT: vpinsrd $3, %ecx, %xmm2, %xmm0
87+
; CHECK-AVX10_1-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
88+
; CHECK-AVX10_1-NEXT: retq
89+
;
90+
; CHECK-AVX10_2-LABEL: foo_avx10.2:
91+
; CHECK-AVX10_2: # %bb.0:
92+
; CHECK-AVX10_2-NEXT: vcvttpd2dqs %zmm0, %ymm0
93+
; CHECK-AVX10_2-NEXT: retq
1694
%x = call <8 x i32> @llvm.fptosi.sat.v8i32.v8f64(<8 x double> %f)
1795
ret <8 x i32> %x
1896
}

0 commit comments

Comments
 (0)