1 # RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse2 -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=SSE2
4 define void @test_sub_v16i8() {
5 %ret = sub <16 x i8> undef, undef
9 define void @test_sub_v8i16() {
10 %ret = sub <8 x i16> undef, undef
14 define void @test_sub_v4i32() {
15 %ret = sub <4 x i32> undef, undef
19 define void @test_sub_v2i64() {
20 %ret = sub <2 x i64> undef, undef
26 # ALL-LABEL: name: test_sub_v16i8
29 regBankSelected: false
34 # ALL: %0(<16 x s8>) = IMPLICIT_DEF
35 # ALL-NEXT: %1(<16 x s8>) = IMPLICIT_DEF
36 # ALL-NEXT: %2(<16 x s8>) = G_SUB %0, %1
42 %0(<16 x s8>) = IMPLICIT_DEF
43 %1(<16 x s8>) = IMPLICIT_DEF
44 %2(<16 x s8>) = G_SUB %0, %1
50 # ALL-LABEL: name: test_sub_v8i16
53 regBankSelected: false
58 # ALL: %0(<8 x s16>) = IMPLICIT_DEF
59 # ALL-NEXT: %1(<8 x s16>) = IMPLICIT_DEF
60 # ALL-NEXT: %2(<8 x s16>) = G_SUB %0, %1
66 %0(<8 x s16>) = IMPLICIT_DEF
67 %1(<8 x s16>) = IMPLICIT_DEF
68 %2(<8 x s16>) = G_SUB %0, %1
74 # ALL-LABEL: name: test_sub_v4i32
77 regBankSelected: false
82 # ALL: %0(<4 x s32>) = IMPLICIT_DEF
83 # ALL-NEXT: %1(<4 x s32>) = IMPLICIT_DEF
84 # ALL-NEXT: %2(<4 x s32>) = G_SUB %0, %1
90 %0(<4 x s32>) = IMPLICIT_DEF
91 %1(<4 x s32>) = IMPLICIT_DEF
92 %2(<4 x s32>) = G_SUB %0, %1
98 # ALL-LABEL: name: test_sub_v2i64
101 regBankSelected: false
103 - { id: 0, class: _ }
104 - { id: 1, class: _ }
105 - { id: 2, class: _ }
106 # ALL: %0(<2 x s64>) = IMPLICIT_DEF
107 # ALL-NEXT: %1(<2 x s64>) = IMPLICIT_DEF
108 # ALL-NEXT: %2(<2 x s64>) = G_SUB %0, %1
112 liveins: %xmm0, %xmm1
114 %0(<2 x s64>) = IMPLICIT_DEF
115 %1(<2 x s64>) = IMPLICIT_DEF
116 %2(<2 x s64>) = G_SUB %0, %1