brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 3d2ac25 Raw
35 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=x86_64-- -mcpu=x86-64-v4 | FileCheck %s3 4define void @PR123333(ptr %in0, ptr %in1, ptr %in2, ptr %out0, ptr %out1) {5; CHECK-LABEL: PR123333:6; CHECK:       # %bb.0:7; CHECK-NEXT:    kmovq (%rsi), %k08; CHECK-NEXT:    kmovq (%rdi), %k19; CHECK-NEXT:    korq %k1, %k0, %k210; CHECK-NEXT:    vmovdqu8 (%rdx), %zmm0 {%k2} {z}11; CHECK-NEXT:    vmovdqu64 %zmm0, (%rcx)12; CHECK-NEXT:    kandnq %k0, %k1, %k013; CHECK-NEXT:    knotq %k0, %k114; CHECK-NEXT:    vmovdqu8 {{.*#+}} zmm0 {%k1} {z} = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]15; CHECK-NEXT:    vmovdqu64 %zmm0, (%r8)16; CHECK-NEXT:    vzeroupper17; CHECK-NEXT:    retq18  %i0 = load i64, ptr %in0, align 819  %i1 = load i64, ptr %in1, align 820  %i2 = load <64 x i8>, ptr %in2, align 121  %i7 = bitcast i64 %i1 to <64 x i1>22  %i9 = bitcast i64 %i0 to <64 x i1>23  %i12 = or i64 %i1, %i024  %i13 = bitcast i64 %i12 to <64 x i1>25  %i15 = or <64 x i1> %i13, %i926  %i17 = select <64 x i1> %i15, <64 x i8> %i2, <64 x i8> zeroinitializer27  store <64 x i8> %i17, ptr %out0, align 1628  %i21 = icmp eq <64 x i8> %i2, splat (i8 4)29  %i22 = xor <64 x i1> %i9, splat (i1 true)30  %i23 = and <64 x i1> %i22, %i731  %i25 = select <64 x i1> %i23, <64 x i8> zeroinitializer, <64 x i8> splat (i8 15)32  store <64 x i8> %i25, ptr %out1, align 1633  ret void34}35