; RUN: llc -march=x86 -promote-elements < %s
; RUN: llc -march=x86 < %s
; RUN: llc -march=x86-64 -promote-elements < %s
; RUN: llc -march=x86-64 < %s
define <1 x i8> @test_1xi8(<1 x i8> %x, <1 x i8>* %b) {
%bb = load <1 x i8>* %b
%tt = xor <1 x i8> %x, %bb
store <1 x i8> %tt, <1 x i8>* %b
br label %next
next:
ret <1 x i8> %tt
}
define <1 x i16> @test_1xi16(<1 x i16> %x, <1 x i16>* %b) {
%bb = load <1 x i16>* %b
%tt = xor <1 x i16> %x, %bb
store <1 x i16> %tt, <1 x i16>* %b
br label %next
next:
ret <1 x i16> %tt
}
define <1 x i32> @test_1xi32(<1 x i32> %x, <1 x i32>* %b) {
%bb = load <1 x i32>* %b
%tt = xor <1 x i32> %x, %bb
store <1 x i32> %tt, <1 x i32>* %b
br label %next
next:
ret <1 x i32> %tt
}
define <1 x i64> @test_1xi64(<1 x i64> %x, <1 x i64>* %b) {
%bb = load <1 x i64>* %b
%tt = xor <1 x i64> %x, %bb
store <1 x i64> %tt, <1 x i64>* %b
br label %next
next:
ret <1 x i64> %tt
}
define <1 x i128> @test_1xi128(<1 x i128> %x, <1 x i128>* %b) {
%bb = load <1 x i128>* %b
%tt = xor <1