brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 9bd1f49 Raw
37 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-none-unknown-elf -mattr=+avx512vl | FileCheck %s3 4define half @test1(half %x) {5; CHECK-LABEL: test1:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    vpextrw $0, %xmm0, %eax8; CHECK-NEXT:    vcvtph2ps %xmm0, %xmm09; CHECK-NEXT:    vucomiss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm010; CHECK-NEXT:    movl $64512, %ecx # imm = 0xFC0011; CHECK-NEXT:    cmoval %eax, %ecx12; CHECK-NEXT:    vpinsrw $0, %ecx, %xmm0, %xmm013; CHECK-NEXT:    retq14entry:15  %cmp2 = fcmp ogt half %x, 0xHFC0016  %cond.v = select i1 %cmp2, half %x, half 0xHFC0017  ret half %cond.v18}19 20define <8 x half> @test2(<8 x half> %x) {21; CHECK-LABEL: test2:22; CHECK:       # %bb.0: # %entry23; CHECK-NEXT:    vcvtph2ps %xmm0, %ymm124; CHECK-NEXT:    vcmpgtps {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm1, %k125; CHECK-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf]26; CHECK-NEXT:    vpcmpeqd %ymm2, %ymm2, %ymm227; CHECK-NEXT:    vmovdqa32 %ymm2, %ymm2 {%k1} {z}28; CHECK-NEXT:    vpmovdw %ymm2, %xmm229; CHECK-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm1 ^ (xmm2 & (xmm0 ^ xmm1))30; CHECK-NEXT:    vzeroupper31; CHECK-NEXT:    retq32entry:33  %cmp2 = fcmp ogt <8 x half> %x, splat (half 0xHFC00)34  %cond.v = select <8 x i1> %cmp2, <8 x half> %x, <8 x half> splat (half 0xHFC00)35  ret <8 x half> %cond.v36}37