1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdeclare void @Print__512(<16 x i32>) #0 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine void @bar__512(<16 x i32>* %var) #0 { 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: bar__512: 8*9880d681SAndroid Build Coastguard Worker; CHECK: ## BB#0: ## %allocas 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: pushq %rbx 10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: subq $112, %rsp 11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movq %rdi, %rbx 12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vmovdqu32 (%rbx), %zmm0 13*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vmovups %zmm0, (%rsp) ## 64-byte Spill 14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %zmm1 15*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vmovdqa32 %zmm1, (%rbx) 16*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: callq _Print__512 17*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vmovups (%rsp), %zmm0 ## 64-byte Reload 18*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: callq _Print__512 19*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 20*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: vmovdqa32 %zmm0, (%rbx) 21*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: addq $112, %rsp 22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: popq %rbx 23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: retq 24*9880d681SAndroid Build Coastguard Workerallocas: 25*9880d681SAndroid Build Coastguard Worker %var_load_load = load <16 x i32>, <16 x i32>* %var, align 1 26*9880d681SAndroid Build Coastguard Worker store <16 x i32> <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>, <16 x i32>* %var, align 64 27*9880d681SAndroid Build Coastguard Worker call void @Print__512(<16 x i32> %var_load_load) 28*9880d681SAndroid Build Coastguard Worker ; %var_load_load value should be reloaded 29*9880d681SAndroid Build Coastguard Worker call void @Print__512(<16 x i32> %var_load_load) 30*9880d681SAndroid Build Coastguard Worker store <16 x i32> <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>, <16 x i32>* %var, align 64 31*9880d681SAndroid Build Coastguard Worker ret void 32*9880d681SAndroid Build Coastguard Worker} 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind } 36