| Index: tests_lit/assembler/arm32/vldr.vstr.imm.ll
|
| diff --git a/tests_lit/assembler/arm32/vldr.vstr.imm.ll b/tests_lit/assembler/arm32/vldr.vstr.imm.ll
|
| index 0fa12b00cddd954b380a6d752d90495e588f12c8..053dae8947e9e6885624fae3cb4e2f6197a2c4f0 100644
|
| --- a/tests_lit/assembler/arm32/vldr.vstr.imm.ll
|
| +++ b/tests_lit/assembler/arm32/vldr.vstr.imm.ll
|
| @@ -1,4 +1,4 @@
|
| -; Test vldrd and vstrd when address is offset with an immediate.
|
| +; Test vldr{s,d} and vstr{s,d} when address is offset with an immediate.
|
|
|
| ; REQUIRES: allow_dump
|
|
|
| @@ -24,23 +24,45 @@
|
| ; RUN: -reg-use d20 \
|
| ; RUN: | FileCheck %s --check-prefix=DIS
|
|
|
| -define internal i64 @testVldrStrImm(double %d) {
|
| -; ASM-LABEL: testVldrStrImm:
|
| -; DIS-LABEL: 00000000 <testVldrStrImm>:
|
| -; IASM-LABEL: testVldrStrImm:
|
| +define internal i32 @testFloatImm(float %f) {
|
| +; ASM-LABEL: testFloatImm:
|
| +; DIS-LABEL: 00000000 <testFloatImm>:
|
| +; IASM-LABEL: testFloatImm:
|
|
|
| entry:
|
| -; ASM-NEXT: .LtestVldrStrImm$entry:
|
| -; IASM-NEXT: .LtestVldrStrImm$entry:
|
| +; ASM: .LtestFloatImm$entry:
|
| +; IASM: .LtestFloatImm$entry:
|
| +
|
| +; ASM: vstr s0, [sp, #4]
|
| +; DIS: 4: ed8d0a01
|
| +; IASM-NOT: vstr
|
| +
|
| + %v = bitcast float %f to i32
|
| +
|
| +; ASM: vldr s0, [sp, #4]
|
| +; DIS: 8: ed9d0a01
|
| +; IASM-NOT: vldr
|
| +
|
| + ret i32 %v
|
| +}
|
| +
|
| +define internal i64 @testDoubleImm(double %d) {
|
| +; ASM-LABEL: testDoubleImm:
|
| +; DIS-LABEL: 00000020 <testDoubleImm>:
|
| +; IASM-LABEL: testDoubleImm:
|
| +
|
| +entry:
|
| +; ASM: .LtestDoubleImm$entry:
|
| +; IASM: .LtestDoubleImm$entry:
|
|
|
| ; ASM: vstr d0, [sp, #8]
|
| -; DIS: 4: ed8d0b02
|
| +; DIS: 24: ed8d0b02
|
| ; IASM-NOT: vstr
|
|
|
| %v = bitcast double %d to i64
|
|
|
| ; ASM: vldr d20, [sp, #8]
|
| -; DIS: 8: eddd4b02
|
| +; DIS: 28: eddd4b02
|
| ; IASM-NOT: vldr
|
|
|
| ret i64 %v
|
|
|