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
3 # RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -run-pass=legalizer %s -o - | FileCheck %s
4 # RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx2 -run-pass=legalizer %s -o - | FileCheck %s
7 define void @test_xor_v16i8() {
8 %ret = xor <16 x i8> undef, undef
12 define void @test_xor_v8i16() {
13 %ret = xor <8 x i16> undef, undef
17 define void @test_xor_v4i32() {
18 %ret = xor <4 x i32> undef, undef
22 define void @test_xor_v2i64() {
23 %ret = xor <2 x i64> undef, undef
31 regBankSelected: false
40 ; CHECK-LABEL: name: test_xor_v16i8
41 ; CHECK: liveins: $xmm0, $xmm1
43 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<16 x s8>) = IMPLICIT_DEF
44 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(<16 x s8>) = IMPLICIT_DEF
45 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<16 x s8>) = G_XOR [[DEF]], [[DEF1]]
46 ; CHECK-NEXT: $xmm0 = COPY [[XOR]](<16 x s8>)
48 %0(<16 x s8>) = IMPLICIT_DEF
49 %1(<16 x s8>) = IMPLICIT_DEF
50 %2(<16 x s8>) = G_XOR %0, %1
58 regBankSelected: false
67 ; CHECK-LABEL: name: test_xor_v8i16
68 ; CHECK: liveins: $xmm0, $xmm1
70 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<8 x s16>) = IMPLICIT_DEF
71 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(<8 x s16>) = IMPLICIT_DEF
72 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<8 x s16>) = G_XOR [[DEF]], [[DEF1]]
73 ; CHECK-NEXT: $xmm0 = COPY [[XOR]](<8 x s16>)
75 %0(<8 x s16>) = IMPLICIT_DEF
76 %1(<8 x s16>) = IMPLICIT_DEF
77 %2(<8 x s16>) = G_XOR %0, %1
85 regBankSelected: false
94 ; CHECK-LABEL: name: test_xor_v4i32
95 ; CHECK: liveins: $xmm0, $xmm1
97 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<4 x s32>) = IMPLICIT_DEF
98 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(<4 x s32>) = IMPLICIT_DEF
99 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<4 x s32>) = G_XOR [[DEF]], [[DEF1]]
100 ; CHECK-NEXT: $xmm0 = COPY [[XOR]](<4 x s32>)
102 %0(<4 x s32>) = IMPLICIT_DEF
103 %1(<4 x s32>) = IMPLICIT_DEF
104 %2(<4 x s32>) = G_XOR %0, %1
112 regBankSelected: false
114 - { id: 0, class: _ }
115 - { id: 1, class: _ }
116 - { id: 2, class: _ }
119 liveins: $xmm0, $xmm1
121 ; CHECK-LABEL: name: test_xor_v2i64
122 ; CHECK: liveins: $xmm0, $xmm1
124 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = IMPLICIT_DEF
125 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(<2 x s64>) = IMPLICIT_DEF
126 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<2 x s64>) = G_XOR [[DEF]], [[DEF1]]
127 ; CHECK-NEXT: $xmm0 = COPY [[XOR]](<2 x s64>)
129 %0(<2 x s64>) = IMPLICIT_DEF
130 %1(<2 x s64>) = IMPLICIT_DEF
131 %2(<2 x s64>) = G_XOR %0, %1