Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / X86 / gep-expanded-vector.ll
blob943cd3610c9d3243cc925d550fd93abda3cd0a00
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; RUN: llc < %s -O2 -mattr=avx512f -mtriple=x86_64-unknown | FileCheck %s
4 %struct.S1 = type { ptr, ptr }
6 define ptr @malloc_init_state(<64 x ptr> %tmp, i32 %ind) nounwind {
7 ; CHECK-LABEL: malloc_init_state:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    pushq %rbp
10 ; CHECK-NEXT:    movq %rsp, %rbp
11 ; CHECK-NEXT:    andq $-64, %rsp
12 ; CHECK-NEXT:    subq $576, %rsp # imm = 0x240
13 ; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi
14 ; CHECK-NEXT:    vpbroadcastq {{.*#+}} zmm8 = [16,16,16,16,16,16,16,16]
15 ; CHECK-NEXT:    vpaddq %zmm8, %zmm0, %zmm0
16 ; CHECK-NEXT:    vpaddq %zmm8, %zmm1, %zmm1
17 ; CHECK-NEXT:    vpaddq %zmm8, %zmm2, %zmm2
18 ; CHECK-NEXT:    vpaddq %zmm8, %zmm3, %zmm3
19 ; CHECK-NEXT:    vpaddq %zmm8, %zmm4, %zmm4
20 ; CHECK-NEXT:    vpaddq %zmm8, %zmm5, %zmm5
21 ; CHECK-NEXT:    vpaddq %zmm8, %zmm6, %zmm6
22 ; CHECK-NEXT:    vpaddq %zmm8, %zmm7, %zmm7
23 ; CHECK-NEXT:    vmovdqa64 %zmm7, {{[0-9]+}}(%rsp)
24 ; CHECK-NEXT:    vmovdqa64 %zmm6, {{[0-9]+}}(%rsp)
25 ; CHECK-NEXT:    vmovdqa64 %zmm5, {{[0-9]+}}(%rsp)
26 ; CHECK-NEXT:    vmovdqa64 %zmm4, {{[0-9]+}}(%rsp)
27 ; CHECK-NEXT:    vmovdqa64 %zmm3, {{[0-9]+}}(%rsp)
28 ; CHECK-NEXT:    vmovdqa64 %zmm2, {{[0-9]+}}(%rsp)
29 ; CHECK-NEXT:    vmovdqa64 %zmm1, {{[0-9]+}}(%rsp)
30 ; CHECK-NEXT:    vmovdqa64 %zmm0, (%rsp)
31 ; CHECK-NEXT:    andl $63, %edi
32 ; CHECK-NEXT:    movq (%rsp,%rdi,8), %rax
33 ; CHECK-NEXT:    movq %rbp, %rsp
34 ; CHECK-NEXT:    popq %rbp
35 ; CHECK-NEXT:    vzeroupper
36 ; CHECK-NEXT:    retq
37 entry:
38   %Vec = getelementptr inbounds ptr, <64 x ptr> %tmp , i64 2
39   %ptr = extractelement <64 x ptr> %Vec, i32 %ind
40   ret ptr %ptr