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
5 define void @test_sub_v16i8() {
6 %ret = sub <16 x i8> undef, undef
10 define void @test_sub_v8i16() {
11 %ret = sub <8 x i16> undef, undef
15 define void @test_sub_v4i32() {
16 %ret = sub <4 x i32> undef, undef
20 define void @test_sub_v2i64() {
21 %ret = sub <2 x i64> undef, undef
29 regBankSelected: false
38 ; ALL-LABEL: name: test_sub_v16i8
39 ; ALL: liveins: $xmm0, $xmm1
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>)
46 %0(<16 x s8>) = IMPLICIT_DEF
47 %1(<16 x s8>) = IMPLICIT_DEF
48 %2(<16 x s8>) = G_SUB %0, %1
57 regBankSelected: false
66 ; ALL-LABEL: name: test_sub_v8i16
67 ; ALL: liveins: $xmm0, $xmm1
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>)
74 %0(<8 x s16>) = IMPLICIT_DEF
75 %1(<8 x s16>) = IMPLICIT_DEF
76 %2(<8 x s16>) = G_SUB %0, %1
85 regBankSelected: false
94 ; ALL-LABEL: name: test_sub_v4i32
95 ; ALL: liveins: $xmm0, $xmm1
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>)
102 %0(<4 x s32>) = IMPLICIT_DEF
103 %1(<4 x s32>) = IMPLICIT_DEF
104 %2(<4 x s32>) = G_SUB %0, %1
113 regBankSelected: false
115 - { id: 0, class: _ }
116 - { id: 1, class: _ }
117 - { id: 2, class: _ }
120 liveins: $xmm0, $xmm1
122 ; ALL-LABEL: name: test_sub_v2i64
123 ; ALL: liveins: $xmm0, $xmm1
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>)
130 %0(<2 x s64>) = IMPLICIT_DEF
131 %1(<2 x s64>) = IMPLICIT_DEF
132 %2(<2 x s64>) = G_SUB %0, %1