Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / GlobalISel / legalize-sub-v128.mir
blob7266096c1dc56cc2c7e9d7cb619b2ec161297cd3
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse2 -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL
4 --- |
5   define void @test_sub_v16i8() {
6     %ret = sub <16 x i8> undef, undef
7     ret void
8   }
10   define void @test_sub_v8i16() {
11     %ret = sub <8 x i16> undef, undef
12     ret void
13   }
15   define void @test_sub_v4i32() {
16     %ret = sub <4 x i32> undef, undef
17     ret void
18   }
20   define void @test_sub_v2i64() {
21     %ret = sub <2 x i64> undef, undef
22     ret void
23   }
24 ...
25 ---
26 name:            test_sub_v16i8
27 alignment:       16
28 legalized:       false
29 regBankSelected: false
30 registers:
31   - { id: 0, class: _ }
32   - { id: 1, class: _ }
33   - { id: 2, class: _ }
34 body:             |
35   bb.1 (%ir-block.0):
36     liveins: $xmm0, $xmm1
38     ; ALL-LABEL: name: test_sub_v16i8
39     ; ALL: liveins: $xmm0, $xmm1
40     ; ALL-NEXT: {{  $}}
41     ; ALL-NEXT: [[DEF:%[0-9]+]]:_(<16 x s8>) = IMPLICIT_DEF
42     ; ALL-NEXT: [[DEF1:%[0-9]+]]:_(<16 x s8>) = IMPLICIT_DEF
43     ; ALL-NEXT: [[SUB:%[0-9]+]]:_(<16 x s8>) = G_SUB [[DEF]], [[DEF1]]
44     ; ALL-NEXT: $xmm0 = COPY [[SUB]](<16 x s8>)
45     ; ALL-NEXT: RET 0
46     %0(<16 x s8>) = IMPLICIT_DEF
47     %1(<16 x s8>) = IMPLICIT_DEF
48     %2(<16 x s8>) = G_SUB %0, %1
49     $xmm0 = COPY %2
50     RET 0
52 ...
53 ---
54 name:            test_sub_v8i16
55 alignment:       16
56 legalized:       false
57 regBankSelected: false
58 registers:
59   - { id: 0, class: _ }
60   - { id: 1, class: _ }
61   - { id: 2, class: _ }
62 body:             |
63   bb.1 (%ir-block.0):
64     liveins: $xmm0, $xmm1
66     ; ALL-LABEL: name: test_sub_v8i16
67     ; ALL: liveins: $xmm0, $xmm1
68     ; ALL-NEXT: {{  $}}
69     ; ALL-NEXT: [[DEF:%[0-9]+]]:_(<8 x s16>) = IMPLICIT_DEF
70     ; ALL-NEXT: [[DEF1:%[0-9]+]]:_(<8 x s16>) = IMPLICIT_DEF
71     ; ALL-NEXT: [[SUB:%[0-9]+]]:_(<8 x s16>) = G_SUB [[DEF]], [[DEF1]]
72     ; ALL-NEXT: $xmm0 = COPY [[SUB]](<8 x s16>)
73     ; ALL-NEXT: RET 0
74     %0(<8 x s16>) = IMPLICIT_DEF
75     %1(<8 x s16>) = IMPLICIT_DEF
76     %2(<8 x s16>) = G_SUB %0, %1
77     $xmm0 = COPY %2
78     RET 0
80 ...
81 ---
82 name:            test_sub_v4i32
83 alignment:       16
84 legalized:       false
85 regBankSelected: false
86 registers:
87   - { id: 0, class: _ }
88   - { id: 1, class: _ }
89   - { id: 2, class: _ }
90 body:             |
91   bb.1 (%ir-block.0):
92     liveins: $xmm0, $xmm1
94     ; ALL-LABEL: name: test_sub_v4i32
95     ; ALL: liveins: $xmm0, $xmm1
96     ; ALL-NEXT: {{  $}}
97     ; ALL-NEXT: [[DEF:%[0-9]+]]:_(<4 x s32>) = IMPLICIT_DEF
98     ; ALL-NEXT: [[DEF1:%[0-9]+]]:_(<4 x s32>) = IMPLICIT_DEF
99     ; ALL-NEXT: [[SUB:%[0-9]+]]:_(<4 x s32>) = G_SUB [[DEF]], [[DEF1]]
100     ; ALL-NEXT: $xmm0 = COPY [[SUB]](<4 x s32>)
101     ; ALL-NEXT: RET 0
102     %0(<4 x s32>) = IMPLICIT_DEF
103     %1(<4 x s32>) = IMPLICIT_DEF
104     %2(<4 x s32>) = G_SUB %0, %1
105     $xmm0 = COPY %2
106     RET 0
110 name:            test_sub_v2i64
111 alignment:       16
112 legalized:       false
113 regBankSelected: false
114 registers:
115   - { id: 0, class: _ }
116   - { id: 1, class: _ }
117   - { id: 2, class: _ }
118 body:             |
119   bb.1 (%ir-block.0):
120     liveins: $xmm0, $xmm1
122     ; ALL-LABEL: name: test_sub_v2i64
123     ; ALL: liveins: $xmm0, $xmm1
124     ; ALL-NEXT: {{  $}}
125     ; ALL-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = IMPLICIT_DEF
126     ; ALL-NEXT: [[DEF1:%[0-9]+]]:_(<2 x s64>) = IMPLICIT_DEF
127     ; ALL-NEXT: [[SUB:%[0-9]+]]:_(<2 x s64>) = G_SUB [[DEF]], [[DEF1]]
128     ; ALL-NEXT: $xmm0 = COPY [[SUB]](<2 x s64>)
129     ; ALL-NEXT: RET 0
130     %0(<2 x s64>) = IMPLICIT_DEF
131     %1(<2 x s64>) = IMPLICIT_DEF
132     %2(<2 x s64>) = G_SUB %0, %1
133     $xmm0 = COPY %2
134     RET 0