1; Test vector NOT-XOR on z14. 2; 3; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z14 | FileCheck %s 4 5; Test a v16i8 NOT-XOR. 6define <16 x i8> @f1(<16 x i8> %dummy, <16 x i8> %val1, <16 x i8> %val2) { 7; CHECK-LABEL: f1: 8; CHECK: vnx %v24, %v26, %v28 9; CHECK: br %r14 10 %ret = xor <16 x i8> %val1, %val2 11 %not = xor <16 x i8> %ret, <i8 -1, i8 -1, i8 -1, i8 -1, 12 i8 -1, i8 -1, i8 -1, i8 -1, 13 i8 -1, i8 -1, i8 -1, i8 -1, 14 i8 -1, i8 -1, i8 -1, i8 -1> 15 ret <16 x i8> %not 16} 17 18; Test a v8i16 NOT-XOR. 19define <8 x i16> @f2(<8 x i16> %dummy, <8 x i16> %val1, <8 x i16> %val2) { 20; CHECK-LABEL: f2: 21; CHECK: vnx %v24, %v26, %v28 22; CHECK: br %r14 23 %ret = xor <8 x i16> %val1, %val2 24 %not = xor <8 x i16> %ret, <i16 -1, i16 -1, i16 -1, i16 -1, 25 i16 -1, i16 -1, i16 -1, i16 -1> 26 ret <8 x i16> %not 27} 28 29; Test a v4i32 NOT-XOR. 30define <4 x i32> @f3(<4 x i32> %dummy, <4 x i32> %val1, <4 x i32> %val2) { 31; CHECK-LABEL: f3: 32; CHECK: vnx %v24, %v26, %v28 33; CHECK: br %r14 34 %ret = xor <4 x i32> %val1, %val2 35 %not = xor <4 x i32> %ret, <i32 -1, i32 -1, i32 -1, i32 -1> 36 ret <4 x i32> %not 37} 38 39; Test a v2i64 NOT-XOR. 40define <2 x i64> @f4(<2 x i64> %dummy, <2 x i64> %val1, <2 x i64> %val2) { 41; CHECK-LABEL: f4: 42; CHECK: vnx %v24, %v26, %v28 43; CHECK: br %r14 44 %ret = xor <2 x i64> %val1, %val2 45 %not = xor <2 x i64> %ret, <i64 -1, i64 -1> 46 ret <2 x i64> %not 47} 48