| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc < %s -mtriple=armeb-eabi -mattr=+v7,+neon | FileCheck %s --check-prefix=BE | |
| ; RUN: llc < %s -mtriple=arm-eabi -mattr=+v7,+neon | FileCheck %s --check-prefix=LE | |
| define <2 x i32> @test_offset_load(ptr %p, <4 x i32> %v) { | |
| ; BE-LABEL: test_offset_load: | |
| ; BE: @ %bb.0: | |
| ; BE-NEXT: vldr d17, [sp] | |
| ; BE-NEXT: vmov r1, r12, d17 | |
| ; BE-NEXT: vmov d16, r3, r2 | |
| ; BE-NEXT: vst1.64 {d16, d17}, [r0:128] | |
| ; BE-NEXT: mov r0, r12 | |
| ; BE-NEXT: bx lr | |
| ; | |
| ; LE-LABEL: test_offset_load: | |
| ; LE: @ %bb.0: | |
| ; LE-NEXT: vldr d17, [sp] | |
| ; LE-NEXT: mov r1, #8 | |
| ; LE-NEXT: vmov d16, r2, r3 | |
| ; LE-NEXT: vst1.32 {d16, d17}, [r0:128], r1 | |
| ; LE-NEXT: vldr d16, [r0] | |
| ; LE-NEXT: vmov r0, r1, d16 | |
| ; LE-NEXT: bx lr | |
| store <4 x i32> %v, ptr %p, align 16 | |
| %p2 = getelementptr i8, ptr %p, i64 8 | |
| %res = load <2 x i32>, ptr %p2, align 8 | |
| ret <2 x i32> %res | |
| } |