summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/ARM
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/ARM')
-rw-r--r--llvm/test/MC/ARM/directive-fpu-instrs.s2
-rw-r--r--llvm/test/MC/ARM/vfp-aliases-diagnostics.s84
-rw-r--r--llvm/test/MC/ARM/vfp-aliases.s34
3 files changed, 8 insertions, 112 deletions
diff --git a/llvm/test/MC/ARM/directive-fpu-instrs.s b/llvm/test/MC/ARM/directive-fpu-instrs.s
index ec97a77aef6..d3c8a0f8bbb 100644
--- a/llvm/test/MC/ARM/directive-fpu-instrs.s
+++ b/llvm/test/MC/ARM/directive-fpu-instrs.s
@@ -12,5 +12,3 @@ str r6, [r7, #264]
mov r6, r5
vldr d21, [r7, #296]
add r9, r7, #216
-
-fstmfdd sp!, {d8, d9, d10, d11, d12, d13, d14, d15}
diff --git a/llvm/test/MC/ARM/vfp-aliases-diagnostics.s b/llvm/test/MC/ARM/vfp-aliases-diagnostics.s
index d1ab18e9982..30fc6bb2e3f 100644
--- a/llvm/test/MC/ARM/vfp-aliases-diagnostics.s
+++ b/llvm/test/MC/ARM/vfp-aliases-diagnostics.s
@@ -6,24 +6,6 @@
.type aliases,%function
aliases:
- fstmfdd sp!, {s0}
- fstmead sp!, {s0}
- fstmdbd sp!, {s0}
- fstmiad sp!, {s0}
- fstmfds sp!, {d0}
- fstmeas sp!, {d0}
- fstmdbs sp!, {d0}
- fstmias sp!, {d0}
-
- fldmias sp!, {d0}
- fldmdbs sp!, {d0}
- fldmeas sp!, {d0}
- fldmfds sp!, {d0}
- fldmiad sp!, {s0}
- fldmdbd sp!, {s0}
- fldmead sp!, {s0}
- fldmfdd sp!, {s0}
-
fstmeax sp!, {s0}
fldmfdx sp!, {s0}
@@ -31,67 +13,17 @@ aliases:
fldmeax sp!, {s0}
@ CHECK-LABEL: aliases
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fstmfdd sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fstmead sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fstmdbd sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fstmiad sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fstmfds sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fstmeas sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fstmdbs sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fstmias sp!, {d0}
-@ CHECK: ^
-
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fldmias sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fldmdbs sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fldmeas sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon single precision register expected
-@ CHECK: fldmfds sp!, {d0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fldmiad sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fldmdbd sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fldmead sp!, {s0}
-@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
-@ CHECK: fldmfdd sp!, {s0}
-@ CHECK: ^
-
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmeax sp!, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fldmfdx sp!, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmfdx sp!, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fldmeax sp!, {s0}
@ CHECK: ^
@@ -99,16 +31,16 @@ aliases:
fstmiaxhs r0, {s0}
fstmiaxls r0, {s0}
fstmiaxvs r0, {s0}
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmiaxcs r0, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmiaxhs r0, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmiaxls r0, {s0}
@ CHECK: ^
-@ CHECK: error: VFP/Neon double precision register expected
+@ CHECK: error: operand must be a list of registers in range [d0, d31]
@ CHECK: fstmiaxvs r0, {s0}
@ CHECK: ^
diff --git a/llvm/test/MC/ARM/vfp-aliases.s b/llvm/test/MC/ARM/vfp-aliases.s
index 4074feabbf1..247522f1d11 100644
--- a/llvm/test/MC/ARM/vfp-aliases.s
+++ b/llvm/test/MC/ARM/vfp-aliases.s
@@ -5,24 +5,6 @@
.type aliases,%function
aliases:
- fstmfdd sp!, {d0}
- fstmead sp!, {d0}
- fstmdbd sp!, {d0}
- fstmiad sp!, {d0}
- fstmfds sp!, {s0}
- fstmeas sp!, {s0}
- fstmdbs sp!, {s0}
- fstmias sp!, {s0}
-
- fldmias sp!, {s0}
- fldmdbs sp!, {s0}
- fldmeas sp!, {s0}
- fldmfds sp!, {s0}
- fldmiad sp!, {d0}
- fldmdbd sp!, {d0}
- fldmead sp!, {d0}
- fldmfdd sp!, {d0}
-
fstmeax sp!, {d0}
fldmfdx sp!, {d0}
@@ -30,22 +12,6 @@ aliases:
fldmeax sp!, {d0}
@ CHECK-LABEL: aliases
-@ CHECK: vpush {d0}
-@ CHECK: vstmia sp!, {d0}
-@ CHECK: vpush {d0}
-@ CHECK: vstmia sp!, {d0}
-@ CHECK: vpush {s0}
-@ CHECK: vstmia sp!, {s0}
-@ CHECK: vpush {s0}
-@ CHECK: vstmia sp!, {s0}
-@ CHECK: vpop {s0}
-@ CHECK: vldmdb sp!, {s0}
-@ CHECK: vldmdb sp!, {s0}
-@ CHECK: vpop {s0}
-@ CHECK: vpop {d0}
-@ CHECK: vldmdb sp!, {d0}
-@ CHECK: vldmdb sp!, {d0}
-@ CHECK: vpop {d0}
@ CHECK: fstmiax sp!, {d0}
@ CHECK: fldmiax sp!, {d0}
@ CHECK: fstmdbx sp!, {d0}
OpenPOWER on IntegriCloud