diff options
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.s | 373 |
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] |