[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / llvm / test / CodeGen / X86 / pr34653.ll
blobd46cd2091856ebe4fa851ed124d25244935e3a1e
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc %s -O0 -mtriple=x86_64-unknown-unknown -mattr=+avx512f -o - | FileCheck %s
4 declare fastcc <38 x double> @test()
6 define void @pr34653() {
7 ; CHECK-LABEL: pr34653:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    pushq %rbp
10 ; CHECK-NEXT:    .cfi_def_cfa_offset 16
11 ; CHECK-NEXT:    .cfi_offset %rbp, -16
12 ; CHECK-NEXT:    movq %rsp, %rbp
13 ; CHECK-NEXT:    .cfi_def_cfa_register %rbp
14 ; CHECK-NEXT:    andq $-512, %rsp # imm = 0xFE00
15 ; CHECK-NEXT:    subq $1024, %rsp # imm = 0x400
16 ; CHECK-NEXT:    movq %rsp, %rdi
17 ; CHECK-NEXT:    callq test@PLT
18 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
19 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
20 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
21 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
22 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
23 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
24 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
25 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
26 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
27 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
28 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
29 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
30 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
31 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
32 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
33 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
34 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
35 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
36 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
37 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
38 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
39 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
40 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
41 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
42 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
43 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
44 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
45 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
46 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
47 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
48 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
49 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
50 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
51 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
52 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
53 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
54 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
55 ; CHECK-NEXT:    vmovsd {{.*#+}} xmm0 = mem[0],zero
56 ; CHECK-NEXT:    movq %rbp, %rsp
57 ; CHECK-NEXT:    popq %rbp
58 ; CHECK-NEXT:    .cfi_def_cfa %rsp, 8
59 ; CHECK-NEXT:    retq
60 entry:
61   %v = call fastcc <38 x double> @test()
62   %v.0 = extractelement <38 x double> %v, i32 0
63   ret void