|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
2 | | -; RUN: llc < %s -mtriple=i686-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefix=X86 |
3 | | -; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefix=X64 |
| 2 | +; RUN: llc < %s -mtriple=i686-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X86 |
| 3 | +; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X64 |
4 | 4 |
|
5 | 5 | ; VCVTTPD2DQS |
6 | 6 | define <8 x i32> @test_signed_v8i32_v8f64(<8 x double> %f) nounwind { |
7 | | -; X86-LABEL: test_signed_v8i32_v8f64: |
8 | | -; X86: # %bb.0: |
9 | | -; X86-NEXT: vcvttpd2dqs %zmm0, %ymm0 |
10 | | -; X86-NEXT: retl |
11 | | -; |
12 | | -; X64-LABEL: test_signed_v8i32_v8f64: |
13 | | -; X64: # %bb.0: |
14 | | -; X64-NEXT: vcvttpd2dqs %zmm0, %ymm0 |
15 | | -; X64-NEXT: retq |
| 7 | +; CHECK-LABEL: test_signed_v8i32_v8f64: |
| 8 | +; CHECK: # %bb.0: |
| 9 | +; CHECK-NEXT: vcvttpd2dqs %zmm0, %ymm0 |
| 10 | +; CHECK-NEXT: ret{{[l|q]}} |
16 | 11 | %x = call <8 x i32> @llvm.fptosi.sat.v8i32.v8f64(<8 x double> %f) |
17 | 12 | ret <8 x i32> %x |
18 | 13 | } |
19 | 14 |
|
20 | 15 | ; VCVTTPD2QQS |
21 | 16 | define <8 x i64> @test_signed_v8i64_v8f64(<8 x double> %f) nounwind { |
22 | | -; X86-LABEL: test_signed_v8i64_v8f64: |
23 | | -; X86: # %bb.0: |
24 | | -; X86-NEXT: vcvttpd2qqs %zmm0, %zmm0 |
25 | | -; X86-NEXT: retl |
26 | | -; |
27 | | -; X64-LABEL: test_signed_v8i64_v8f64: |
28 | | -; X64: # %bb.0: |
29 | | -; X64-NEXT: vcvttpd2qqs %zmm0, %zmm0 |
30 | | -; X64-NEXT: retq |
| 17 | +; CHECK-LABEL: test_signed_v8i64_v8f64: |
| 18 | +; CHECK: # %bb.0: |
| 19 | +; CHECK-NEXT: vcvttpd2qqs %zmm0, %zmm0 |
| 20 | +; CHECK-NEXT: ret{{[l|q]}} |
31 | 21 | %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f64(<8 x double> %f) |
32 | 22 | ret <8 x i64> %x |
33 | 23 | } |
34 | 24 |
|
35 | 25 | ; VCVTTPD2UDQS |
36 | 26 | define <8 x i32> @test_unsigned_v8i32_v8f64(<8 x double> %f) nounwind { |
37 | | -; X86-LABEL: test_unsigned_v8i32_v8f64: |
38 | | -; X86: # %bb.0: |
39 | | -; X86-NEXT: vcvttpd2udqs %zmm0, %ymm0 |
40 | | -; X86-NEXT: retl |
41 | | -; |
42 | | -; X64-LABEL: test_unsigned_v8i32_v8f64: |
43 | | -; X64: # %bb.0: |
44 | | -; X64-NEXT: vcvttpd2udqs %zmm0, %ymm0 |
45 | | -; X64-NEXT: retq |
| 27 | +; CHECK-LABEL: test_unsigned_v8i32_v8f64: |
| 28 | +; CHECK: # %bb.0: |
| 29 | +; CHECK-NEXT: vcvttpd2udqs %zmm0, %ymm0 |
| 30 | +; CHECK-NEXT: ret{{[l|q]}} |
46 | 31 | %x = call <8 x i32> @llvm.fptoui.sat.v8i32.v8f64(<8 x double> %f) |
47 | 32 | ret <8 x i32> %x |
48 | 33 | } |
49 | 34 |
|
50 | 35 | ; VCVTTPD2UQQS |
51 | 36 | define <8 x i64> @test_unsigned_v8i64_v8f64(<8 x double> %f) nounwind { |
52 | | -; X86-LABEL: test_unsigned_v8i64_v8f64: |
53 | | -; X86: # %bb.0: |
54 | | -; X86-NEXT: vcvttpd2uqqs %zmm0, %zmm0 |
55 | | -; X86-NEXT: retl |
56 | | -; |
57 | | -; X64-LABEL: test_unsigned_v8i64_v8f64: |
58 | | -; X64: # %bb.0: |
59 | | -; X64-NEXT: vcvttpd2uqqs %zmm0, %zmm0 |
60 | | -; X64-NEXT: retq |
| 37 | +; CHECK-LABEL: test_unsigned_v8i64_v8f64: |
| 38 | +; CHECK: # %bb.0: |
| 39 | +; CHECK-NEXT: vcvttpd2uqqs %zmm0, %zmm0 |
| 40 | +; CHECK-NEXT: ret{{[l|q]}} |
61 | 41 | %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f64(<8 x double> %f) |
62 | 42 | ret <8 x i64> %x |
63 | 43 | } |
64 | 44 |
|
65 | 45 | ; VCVTTPS2DQS |
66 | 46 | define <16 x i32> @test_signed_v16i32_v16f32(<16 x float> %f) nounwind { |
67 | | -; X86-LABEL: test_signed_v16i32_v16f32: |
68 | | -; X86: # %bb.0: |
69 | | -; X86-NEXT: vcvttps2dqs %zmm0, %zmm0 |
70 | | -; X86-NEXT: retl |
71 | | -; |
72 | | -; X64-LABEL: test_signed_v16i32_v16f32: |
73 | | -; X64: # %bb.0: |
74 | | -; X64-NEXT: vcvttps2dqs %zmm0, %zmm0 |
75 | | -; X64-NEXT: retq |
| 47 | +; CHECK-LABEL: test_signed_v16i32_v16f32: |
| 48 | +; CHECK: # %bb.0: |
| 49 | +; CHECK-NEXT: vcvttps2dqs %zmm0, %zmm0 |
| 50 | +; CHECK-NEXT: ret{{[l|q]}} |
76 | 51 | %x = call <16 x i32> @llvm.fptosi.sat.v16i32.v16f32(<16 x float> %f) |
77 | 52 | ret <16 x i32> %x |
78 | 53 | } |
79 | 54 |
|
80 | 55 | ; VCVTTPS2UDQS |
81 | 56 | define <16 x i32> @test_unsigned_v16i32_v16f32(<16 x float> %f) nounwind { |
82 | | -; X86-LABEL: test_unsigned_v16i32_v16f32: |
83 | | -; X86: # %bb.0: |
84 | | -; X86-NEXT: vcvttps2udqs %zmm0, %zmm0 |
85 | | -; X86-NEXT: retl |
86 | | -; |
87 | | -; X64-LABEL: test_unsigned_v16i32_v16f32: |
88 | | -; X64: # %bb.0: |
89 | | -; X64-NEXT: vcvttps2udqs %zmm0, %zmm0 |
90 | | -; X64-NEXT: retq |
| 57 | +; CHECK-LABEL: test_unsigned_v16i32_v16f32: |
| 58 | +; CHECK: # %bb.0: |
| 59 | +; CHECK-NEXT: vcvttps2udqs %zmm0, %zmm0 |
| 60 | +; CHECK-NEXT: ret{{[l|q]}} |
91 | 61 | %x = call <16 x i32> @llvm.fptoui.sat.v16i32.v16f32(<16 x float> %f) |
92 | 62 | ret <16 x i32> %x |
93 | 63 | } |
94 | 64 | ; VCVTTPS2QQS |
95 | 65 | define <8 x i64> @test_signed_v8i64_v8f32(<8 x float> %f) nounwind { |
96 | | -; X86-LABEL: test_signed_v8i64_v8f32: |
97 | | -; X86: # %bb.0: |
98 | | -; X86-NEXT: vcvttps2qqs %ymm0, %zmm0 |
99 | | -; X86-NEXT: retl |
100 | | -; |
101 | | -; X64-LABEL: test_signed_v8i64_v8f32: |
102 | | -; X64: # %bb.0: |
103 | | -; X64-NEXT: vcvttps2qqs %ymm0, %zmm0 |
104 | | -; X64-NEXT: retq |
| 66 | +; CHECK-LABEL: test_signed_v8i64_v8f32: |
| 67 | +; CHECK: # %bb.0: |
| 68 | +; CHECK-NEXT: vcvttps2qqs %ymm0, %zmm0 |
| 69 | +; CHECK-NEXT: ret{{[l|q]}} |
105 | 70 | %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f32(<8 x float> %f) |
106 | 71 | ret <8 x i64> %x |
107 | 72 | } |
108 | 73 |
|
109 | 74 | ; VCVTTPS2UQQS |
110 | 75 | define <8 x i64> @test_unsigned_v8i64_v8f32(<8 x float> %f) nounwind { |
111 | | -; X86-LABEL: test_unsigned_v8i64_v8f32: |
112 | | -; X86: # %bb.0: |
113 | | -; X86-NEXT: vcvttps2uqqs %ymm0, %zmm0 |
114 | | -; X86-NEXT: retl |
115 | | -; |
116 | | -; X64-LABEL: test_unsigned_v8i64_v8f32: |
117 | | -; X64: # %bb.0: |
118 | | -; X64-NEXT: vcvttps2uqqs %ymm0, %zmm0 |
119 | | -; X64-NEXT: retq |
| 76 | +; CHECK-LABEL: test_unsigned_v8i64_v8f32: |
| 77 | +; CHECK: # %bb.0: |
| 78 | +; CHECK-NEXT: vcvttps2uqqs %ymm0, %zmm0 |
| 79 | +; CHECK-NEXT: ret{{[l|q]}} |
120 | 80 | %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f32(<8 x float> %f) |
121 | 81 | ret <8 x i64> %x |
122 | 82 | } |
| 83 | +;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line: |
| 84 | +; X64: {{.*}} |
| 85 | +; X86: {{.*}} |
0 commit comments