brintos

brintos / llvm-project-archived public Read only

0
0
Text · 951 B · bd7478d Raw
26 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512f,+avx512vl | FileCheck %s --check-prefixes=CHECK3 4define <8 x i64> @foo(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) {5; CHECK-LABEL: foo:6; CHECK:       # %bb.0:7; CHECK-NEXT:    vpternlogq {{.*#+}} zmm0 = ~(zmm0 | zmm2 | zmm1)8; CHECK-NEXT:    retq9  %and.demorgan = or <8 x i64> %b, %a10  %and3.demorgan = or <8 x i64> %and.demorgan, %c11  %and3 = xor <8 x i64> %and3.demorgan, splat (i64 -1)12  ret <8 x i64> %and313}14 15define <8 x i64> @xorbitcast(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c) {16; CHECK-LABEL: xorbitcast:17; CHECK:       # %bb.0:18; CHECK-NEXT:    vpternlogq {{.*#+}} zmm0 = ~(zmm0 | zmm2 | zmm1)19; CHECK-NEXT:    retq20  %or1 = or <64 x i8> %a, %b21  %or2 = or <64 x i8> %or1, %c22  %cast = bitcast <64 x i8> %or2 to <8 x i64>23  %xor = xor <8 x i64> %cast, splat (i64 -1)24  ret <8 x i64> %xor25}26