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 3 4declare fastcc <38 x double> @test() 5 6define 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 60entry: 61 %v = call fastcc <38 x double> @test() 62 %v.0 = extractelement <38 x double> %v, i32 0 63 ret void 64} 65 66