| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc -mtriple=x86_64-- < %s | FileCheck %s | |
| @a = external global <16 x float>, align 64 | |
| declare void @goo(<2 x i256>) | |
| define void @foo() #0 { | |
| ; CHECK-LABEL: foo: | |
| ; CHECK: # %bb.0: | |
| ; CHECK-NEXT: subq $24, %rsp | |
| ; CHECK-NEXT: movq a+{{.*}}(%rip), %r9 | |
| ; CHECK-NEXT: movq a+{{.*}}(%rip), %r8 | |
| ; CHECK-NEXT: movq a+{{.*}}(%rip), %rcx | |
| ; CHECK-NEXT: movq a+{{.*}}(%rip), %rdx | |
| ; CHECK-NEXT: movq a+{{.*}}(%rip), %rsi | |
| ; CHECK-NEXT: movq {{.*}}(%rip), %rdi | |
| ; CHECK-NEXT: vmovaps a+{{.*}}(%rip), %xmm0 | |
| ; CHECK-NEXT: vmovups %xmm0, (%rsp) | |
| ; CHECK-NEXT: callq goo | |
| ; CHECK-NEXT: addq $24, %rsp | |
| ; CHECK-NEXT: retq | |
| %k = bitcast <16 x float>* @a to <2 x i256>* | |
| %load = load <2 x i256>, <2 x i256>* %k, align 64 | |
| call void @goo(<2 x i256> %load) | |
| ret void | |
| } | |
| attributes #0 = { nounwind "target-features"="+avx512bw" } |