[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / Hexagon / select-instr-align.ll
blob1021f924f1d714def8bd957c4aa192d003a7a91f
1 ; RUN: llc -march=hexagon -hexagon-align-loads=0 < %s | FileCheck %s
3 ; CHECK-LABEL: aligned_load:
4 ; CHECK: = vmem({{.*}})
5 define <16 x i32> @aligned_load(<16 x i32>* %p, <16 x i32> %a) #0 {
6   %v = load <16 x i32>, <16 x i32>* %p, align 64
7   ret <16 x i32> %v
10 ; CHECK-LABEL: aligned_store:
11 ; CHECK: vmem({{.*}}) =
12 define void @aligned_store(<16 x i32>* %p, <16 x i32> %a) #0 {
13   store <16 x i32> %a, <16 x i32>* %p, align 64
14   ret void
17 ; CHECK-LABEL: unaligned_load:
18 ; CHECK: = vmemu({{.*}})
19 define <16 x i32> @unaligned_load(<16 x i32>* %p, <16 x i32> %a) #0 {
20   %v = load <16 x i32>, <16 x i32>* %p, align 32
21   ret <16 x i32> %v
24 ; CHECK-LABEL: unaligned_store:
25 ; CHECK: vmemu({{.*}}) =
26 define void @unaligned_store(<16 x i32>* %p, <16 x i32> %a) #0 {
27   store <16 x i32> %a, <16 x i32>* %p, align 32
28   ret void
31 attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvxv60,+hvx-length64b" }