brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 3812f3f Raw
40 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_mem_shuffle2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s3 4; CHECK: .LCPI0_0:5; CHECK-NEXT: .long   0x000000006; CHECK-NEXT: .zero   47; CHECK-NEXT: .long   0x3eb5dbc68; CHECK-NEXT: .long   0x3eb5dbc69; CHECK-NEXT: .zero   410; CHECK-NEXT: .long   0x3eb5dbc611; CHECK-NEXT: .long   0x3eb5dbc612; CHECK-NEXT: .long   0x3eb5dbc613 14; CHECK: .LCPI0_1:15; CHECK-NEXT: .long   316; CHECK-NEXT: .long   317; CHECK-NEXT: .long   118; CHECK-NEXT: .long   119; CHECK-NEXT: .long   620; CHECK-NEXT: .long   721; CHECK-NEXT: .long   622; CHECK-NEXT: .long   423 24define <16 x float> @PR51281(<8 x float> %a0) {25; CHECK-LABEL: PR51281:26; CHECK:       # %bb.0:27; CHECK-NEXT:    vextractf128 $1, %ymm0, %xmm128; CHECK-NEXT:    vshufps {{.*#+}} xmm2 = xmm0[1,0],xmm1[3,0]29; CHECK-NEXT:    vshufps {{.*#+}} xmm1 = xmm2[2,0],xmm1[1,3]30; CHECK-NEXT:    vmovsldup {{.*#+}} xmm2 = xmm0[0,0,2,2]31; CHECK-NEXT:    vinsertf128 $1, %xmm1, %ymm2, %ymm132; CHECK-NEXT:    vblendps $141, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm1 # ymm1 = mem[0],ymm1[1],mem[2,3],ymm1[4,5,6],mem[7]33; CHECK-NEXT:    vperm2f128 {{.*#+}} ymm2 = ymm0[2,3,0,1]34; CHECK-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0],ymm0[1],ymm2[2,3,4,5],ymm0[6],ymm2[7]35; CHECK-NEXT:    vpermilps {{.*#+}} ymm0 = ymm0[3,3,1,1,6,7,6,4]36; CHECK-NEXT:    retq37  %shuffle = shufflevector <8 x float> %a0, <8 x float> <float poison, float 0x3FD6BB78C0000000, float poison, float poison, float poison, float poison, float 0.000000e+00, float poison>, <16 x i32> <i32 7, i32 7, i32 1, i32 1, i32 6, i32 3, i32 6, i32 0, i32 14, i32 0, i32 9, i32 9, i32 7, i32 1, i32 5, i32 9>38  ret <16 x float> %shuffle39}40