[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / arm64-unaligned_ldst.ll
blobd6705b095626d616e6df481611ffc3fc67e9df8d
1 ; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s
2 ; rdar://r11231896
4 define void @t1(ptr nocapture %a, ptr nocapture %b) nounwind {
5 entry:
6 ; CHECK-LABEL: t1:
7 ; CHECK-NOT: orr
8 ; CHECK: ldr [[X0:x[0-9]+]], [x1]
9 ; CHECK: str [[X0]], [x0]
10   %tmp3 = load i64, ptr %b, align 1
11   store i64 %tmp3, ptr %a, align 1
12   ret void
15 define void @t2(ptr nocapture %a, ptr nocapture %b) nounwind {
16 entry:
17 ; CHECK-LABEL: t2:
18 ; CHECK-NOT: orr
19 ; CHECK: ldr [[W0:w[0-9]+]], [x1]
20 ; CHECK: str [[W0]], [x0]
21   %tmp3 = load i32, ptr %b, align 1
22   store i32 %tmp3, ptr %a, align 1
23   ret void
26 define void @t3(ptr nocapture %a, ptr nocapture %b) nounwind {
27 entry:
28 ; CHECK-LABEL: t3:
29 ; CHECK-NOT: orr
30 ; CHECK: ldrh [[W0:w[0-9]+]], [x1]
31 ; CHECK: strh [[W0]], [x0]
32   %tmp3 = load i16, ptr %b, align 1
33   store i16 %tmp3, ptr %a, align 1
34   ret void