summaryrefslogtreecommitdiffstats
path: root/binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s')
-rw-r--r--binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s373
1 files changed, 0 insertions, 373 deletions
diff --git a/binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s b/binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s
deleted file mode 100644
index 3da08610..00000000
--- a/binutils-2.24/gas/testsuite/gas/arm/sp-pc-validations-bad-t.s
+++ /dev/null
@@ -1,373 +0,0 @@
-.syntax unified
-.arch armv7-a
-.thumb
-.macro it_test opcode operands:vararg
-itt eq
-\opcode\()eq r15, \operands
-moveq r0, r0
-.endm
-
-.macro it_testw opcode operands:vararg
-itt eq
-\opcode\()eq.w r15, \operands
-moveq r0, r0
-.endm
-
-.macro LOAD operands:vararg
-it_test ldr, \operands
-.endm
-
-.macro LOADw operands:vararg
-it_testw ldr, \operands
-.endm
-
-@ Loads ===============================================================
-
-@ LDR (register)
-LOAD [r0]
-LOAD [r0,#0]
-LOAD [sp]
-LOAD [sp,#0]
-LOADw [r0]
-LOADw [r0,#0]
-LOAD [r0,#-4]
-LOAD [r0],#4
-LOAD [r0,#0]!
-
-@ LDR (literal)
-LOAD label
-LOADw label
-LOADw [pc, #-0]
-
-@ LDR (register)
-LOAD [r0, r1]
-LOADw [r0, r1]
-LOADw [r0, r1, LSL #2]
-
-@ LDRB (immediate, Thumb)
-ldrb pc, [r0,#4] @ low reg
-@ldrb r0, [pc,#4] @ ALLOWED!
-ldrb.w sp, [r0,#4] @ Unpredictable
-ldrb.w pc, [r0,#4] @ => PLD
-ldrb pc, [r0, #-4] @ => PLD
-@ LDRB<c><q> <Rt>, [<Rn>, #+<imm>] => See LDRBT
-ldrb pc, [r0],#4 @ BadReg
-ldrb sp, [r0],#4 @ ditto
-ldrb pc,[r0,#4]! @ ditto
-ldrb sp,[r0,#4]! @ ditto
-
-@ LDRB (literal)
-ldrb pc,label @ => PLD
-ldrb pc,[PC,#-0] @ => PLD (special case)
-ldrb sp,label @ Unpredictable
-ldrb sp,[PC,#-0] @ ditto
-
-@ LDRB (register)
-ldrb pc,[r0,r1] @ low reg
-ldrb r0,[pc,r1] @ ditto
-ldrb r0,[r1,pc] @ ditto
-ldrb.w pc,[r0,r1,LSL #1] @ => PLD
-ldrb.w sp,[r0,r1] @ Unpredictable
-ldrb.w r2,[r0,pc,LSL #2] @ BadReg
-ldrb.w r2,[r0,sp,LSL #2] @ ditto
-
-@ LDRBT
-ldrbt pc, [r0, #4] @ BadReg
-ldrbt sp, [r0, #4] @ ditto
-
-@ LDRD (immediate)
-ldrd pc, r0, [r1] @ BadReg
-ldrd sp, r0, [r1] @ ditto
-ldrd r12, [r1] @ ditto
-ldrd r14, [r1] @ ditto
-ldrd r0, pc, [r1] @ ditto
-ldrd r0, sp, [r1] @ ditto
-ldrd pc, r0, [r1], #4 @ ditto
-ldrd sp, r0, [r1], #4 @ ditto
-ldrd r0, pc, [r1], #4 @ ditto
-ldrd r0, sp, [r1], #4 @ ditto
-ldrd r12, [r1], #4 @ ditto
-ldrd r14, [r1], #4 @ ditto
-ldrd pc, r0, [r1, #4]! @ ditto
-ldrd sp, r0, [r1, #4]! @ ditto
-ldrd r0, pc, [r1, #4]! @ ditto
-ldrd r0, sp, [r1, #4]! @ ditto
-ldrd r12, [r1, #4]! @ ditto
-ldrd r14, [r1, #4]! @ ditto
-
-@ LDRD (literal)
-ldrd pc, r0, label @ BadReg
-ldrd sp, r0, label @ ditto
-ldrd r0, pc, label @ ditto
-ldrd r0, sp, label @ ditto
-ldrd pc, r0, [pc, #-0] @ ditto
-ldrd sp, r0, [pc, #-0] @ ditto
-ldrd r0, pc, [pc, #-0] @ ditto
-ldrd r0, sp, [pc, #-0] @ ditto
-
-@ LDRD (register): ARM only
-
-@ LDREX/B/D/H
-ldrex pc, [r0] @ BadReg
-ldrex sp, [r0] @ ditto
-ldrex r0, [pc] @ Unpredictable
-ldrexb pc, [r0] @ BadReg
-ldrexb sp, [r0] @ ditto
-ldrexb r0, [pc] @ Unpredictable
-ldrexd pc, r0, [r1] @ BadReg
-ldrexd sp, r0, [r1] @ ditto
-ldrexd r0, pc, [r1] @ ditto
-ldrexd r0, sp, [r1] @ ditto
-ldrexd r0, r1, [pc] @ Unpredictable
-ldrexh pc, [r0] @ BadReg
-ldrexh sp, [r0] @ ditto
-ldrexh r0, [pc] @ Unpredictable
-
-@ LDRH (immediate)
-ldrh pc, [r0] @ low reg
-ldrh pc, [r0, #4] @ ditto
-@ldrh r0, [pc] @ ALLOWED!
-@ldrh r0, [pc, #4] @ ditto
-ldrh.w pc, [r0] @ => Unallocated memory hints
-ldrh.w pc, [r0, #4] @ ditto
-ldrh.w sp, [r0] @ Unpredictable
-ldrh.w sp, [r0, #4] @ ditto
-ldrh pc, [r0, #-3] @ => Unallocated memory hint
-@ LDRH<c><q> <Rt>, [<Rn>, #+<imm>] => See LDRHT
-ldrh pc,[r0],#4 @ BadReg
-ldrh sp,[r0],#4 @ ditto
-ldrh pc,[r0,#4]! @ ditto
-ldrh sp,[r0,#4]! @ ditto
-
-@ LDRH (literal)
-ldrh pc, label @ Unallocated memory hint
-ldrh pc, [pc, #-0] @ ditto
-ldrh sp, label @ Unpredictable
-ldrh sp, [pc, #-0] @ ditto
-
-@ LDRH (register)
-ldrh pc, [r0, r1] @ low reg
-ldrh r0, [pc, r1] @ ditto
-ldrh r0, [r1, pc] @ ditto
-ldrh.w pc,[r0,r1,LSL #1] @ => Unallocated memory hints
-ldrh.w sp,[r0,r1,LSL #1] @ Unpredictable
-ldrh.w r2,[r0,pc,LSL #1] @ ditto
-ldrh.w r2,[r0,sp,LSL #1] @ ditto
-
-@ LDRHT
-ldrht pc, [r0, #4] @ BadReg
-ldrht sp, [r0, #4] @ ditto
-
-@ LDRSB (immediate)
-ldrsb pc, [r0, #4] @ => PLI
-@ldrsb r0, [pc, #4] => LDRSB (literal)
-ldrsb sp, [r0, #4] @ Unpredictable
-ldrsb pc, [r0, #-4] @ => PLI
-ldrsb sp,[r0,#-4] @ BadReg
-ldrsb pc,[r0],#4 @ ditto
-ldrsb sp,[r0],#4 @ ditto
-ldrsb pc,[r0,#4]! @ ditto
-ldrsb sp,[r0,#4]! @ ditto
-
-@ LDRSB (literal)
-ldrsb pc, label @ => PLI
-ldrsb pc, [pc, #-0] @ => PLI
-ldrsb sp, label @ Unpredictable
-ldrsb sp, [pc, #-0] @ ditto
-
-@ LDRSB (register)
-ldrsb pc, [r0, r1] @ low reg
-ldrsb r0, [pc, r1] @ ditto
-ldrsb r0, [r1, pc] @ ditto
-ldrsb.w pc, [r0, r1, LSL #2] @ => PLI
-@ldrsb.w r0, [pc, r0, LSL #2] => LDRSB (literal)
-ldrsb.w sp, [r0, r1, LSL #2] @ Unpredictable
-ldrsb.w r2, [r0, pc, LSL #2] @ ditto
-ldrsb.w r2, [r0, sp, LSL #2] @ ditto
-
-@ LDRSBT
-@ldrsbt r0, [pc, #4] => LDRSB (literal)
-ldrsbt pc, [r0, #4] @ BadReg
-ldrsbt sp, [r0, #4] @ ditto
-
-@ LDRSH (immediate)
-@ldrsh r0,[pc,#4] => LDRSH (literal)
-ldrsh pc,[r0,#4] @ => Unallocated memory hints
-ldrsh sp,[r0,#4] @ Unpredictable
-ldrsh pc, [r0, #-4] @ => Unallocated memory hints
-ldrsh pc,[r0],#4 @ BadReg
-ldrsh pc,[r0,#4]! @ ditto
-ldrsh sp,[r0,#-4] @ ditto
-ldrsh sp,[r0],#4 @ ditto
-ldrsh sp,[r0,#4]! @ ditto
-
-@ LDRSH (literal)
-ldrsh pc, label @ => Unallocated memory hints
-ldrsh sp, label @ Unpredictable
-ldrsh sp, [pc,#-0] @ ditto
-
-@ LDRSH (register)
-ldrsh pc,[r0,r1] @ low reg
-ldrsh r0,[pc,r1] @ ditto
-ldrsh r0,[r1,pc] @ ditto
-@ldrsh.w r0,[pc,r1,LSL #3] => LDRSH (literal)
-ldrsh.w pc,[r0,r1,LSL #3] @ => Unallocated memory hints
-ldrsh.w sp,[r0,r1,LSL #3] @ Unpredictable
-ldrsh.w r0,[r1,sp,LSL #3] @ BadReg
-ldrsh.w r0,[r1,pc,LSL #3] @ ditto
-
-@ LDRSHT
-@ldrsht r0,[pc,#4] => LDRSH (literal)
-ldrsht pc,[r0,#4] @ BadReg
-ldrsht sp,[r0,#4] @ ditto
-
-@ LDRT
-@ldrt r0,[pc,#4] => LDR (literal)
-ldrt pc,[r0,#4] @ BadReg
-ldrt sp,[r0,#4] @ ditto
-
-@ Stores ==============================================================
-
-@ STR (immediate, Thumb)
-str pc, [r0, #4] @ Unpredictable
-str.w r0, [pc, #4] @ Undefined
-str r0, [pc, #-4] @ ditto
-str r0, [pc], #4 @ ditto
-str r0, [pc, #4]! @ ditto
-
-@ STR (register)
-str.w r0,[pc,r1] @ Undefined
-str.w r0,[pc,r1,LSL #2] @ ditto
-@str.w pc,[r0,r1{,LSL #<imm2>}] @ Unpredictable
-@str.w r1,[r0,sp{,LSL #<imm2>}] @ ditto
-@str.w r1,[r0,pc{,LSL #<imm2>}] @ ditto
-
-@ STRB (immediate, Thumb)
-strb.w r0,[pc,#4] @ Undefined
-strb.w pc,[r0,#4] @ Unpredictable
-strb.w sp,[r0,#4] @ ditto
-strb r0,[pc,#-4] @ Undefined
-strb r0,[pc],#4 @ ditto
-strb r0,[pc,#4]! @ ditto
-strb pc,[r0,#-4] @ Unpredictable
-strb pc,[r0],#4 @ ditto
-strb pc,[r0,#4]! @ ditto
-strb sp,[r0,#-4] @ ditto
-strb sp,[r0],#4 @ ditto
-strb sp,[r0,#4]! @ ditto
-
-@ STRB (register)
-strb.w r0,[pc,r1] @ Undefined
-strb.w r0,[pc,r1,LSL #2] @ ditto
-strb.w pc,[r0,r1] @ Unpredictable
-strb.w pc,[r0,r1,LSL #2] @ ditto
-strb.w sp,[r0,r1] @ ditto
-strb.w sp,[r0,r1,LSL #2] @ ditto
-strb.w r0,[r1,pc] @ ditto
-strb.w r0,[r1,pc,LSL #2] @ ditto
-strb.w r0,[r1,sp] @ ditto
-strb.w r0,[r1,sp,LSL #2] @ ditto
-
-@ STRBT
-strbt r0,[pc,#4] @ Undefined
-strbt pc,[r0,#4] @ Unpredictable
-strbt sp,[r0,#4] @ ditto
-
-@ STRD (immediate)
-strd r0,r1,[pc,#4] @ Unpredictable
-strd r0,r1,[pc],#4 @ ditto
-strd r0,r1,[pc,#4]! @ ditto
-strd pc,r0,[r1,#4] @ ditto
-strd pc,r0,[r1],#4 @ ditto
-strd pc,r0,[r1,#4]! @ ditto
-strd sp,r0,[r1,#4] @ ditto
-strd sp,r0,[r1],#4 @ ditto
-strd sp,r0,[r1,#4]! @ ditto
-strd r0,pc,[r1,#4] @ ditto
-strd r0,pc,[r1],#4 @ ditto
-strd r0,pc,[r1,#4]! @ ditto
-strd r0,sp,[r1,#4] @ ditto
-strd r0,sp,[r1],#4 @ ditto
-strd r0,sp,[r1,#4]! @ ditto
-
-@ STRD (register)
-@No thumb.
-
-@ STREX
-strex pc,r0,[r1] @ Unpredictable
-strex pc,r0,[r1,#4] @ ditto
-strex sp,r0,[r1] @ ditto
-strex sp,r0,[r1,#4] @ ditto
-strex r0,pc,[r1] @ ditto
-strex r0,pc,[r1,#4] @ ditto
-strex r0,sp,[r1] @ ditto
-strex r0,sp,[r1,#4] @ ditto
-strex r0,r1,[pc] @ ditto
-strex r0,r1,[pc,#4] @ ditto
-
-@ STREXB
-strexb pc,r0,[r1] @ Unpredictable
-strexb sp,r0,[r1] @ ditto
-strexb r0,pc,[r1] @ ditto
-strexb r0,sp,[r1] @ ditto
-strexb r0,r1,[pc] @ ditto
-
-@ STREXD
-strexd pc,r0,r1,[r2] @ Unpredictable
-strexd sp,r0,r1,[r2] @ ditto
-strexd r0,pc,r1,[r2] @ ditto
-strexd r0,sp,r1,[r2] @ ditto
-strexd r0,r1,pc,[r2] @ ditto
-strexd r0,r1,sp,[r2] @ ditto
-strexd r0,r1,r2,[pc] @ ditto
-
-@ STREXH
-strexh pc,r0,[r1] @ Unpredictable
-strexh sp,r0,[r1] @ ditto
-strexh r0,pc,[r1] @ ditto
-strexh r0,sp,[r1] @ ditto
-strexh r0,r1,[pc] @ ditto
-
-@ STRH (immediate, Thumb)
-strh.w r0,[pc] @ Undefined
-strh.w r0,[pc,#4] @ ditto
-strh r0,[pc,#-4] @ ditto
-strh r0,[pc],#4 @ ditto
-strh r0,[pc,#4]! @ ditto
-
-@ STRH (register)
-strh.w r0,[pc,r1] @ Undefined
-strh.w r0,[pc,r1,LSL #2] @ ditto
-strh.w pc,[r0,#4] @ Unpredictable
-strh.w pc,[r0] @ ditto
-strh.w sp,[r0,#4] @ ditto
-strh.w sp,[r0] @ ditto
-strh pc,[r0,#-4] @ ditto
-strh pc,[r0],#4 @ ditto
-strh pc,[r0,#4]! @ ditto
-strh sp,[r0,#-4] @ ditto
-strh sp,[r0],#4 @ ditto
-strh sp,[r0,#4]! @ ditto
-strh.w pc,[r0,r1] @ ditto
-strh.w sp,[r0,r1] @ ditto
-strh.w r0,[r1,pc] @ ditto
-strh.w r0,[r1,sp] @ ditto
-strh.w pc,[r0,r1,LSL #2] @ ditto
-strh.w sp,[r0,r1,LSL #2] @ ditto
-strh.w r0,[r1,pc,LSL #2] @ ditto
-strh.w r0,[r1,sp,LSL #2] @ ditto
-
-@ STRHT
-strht r0,[pc,#4] @ Undefined
-strht pc,[r0,#4] @ Unpredictable
-strht sp,[pc,#4] @ ditto
-
-@ STRT
-strt r0,[pc,#4] @ Undefined
-strt pc,[r0,#4] @ Unpredictable
-strt sp,[r0,#4] @ ditto
-
-@ ============================================================================
-
-.label:
-ldr r0, [r1]