Browse Source
* gas/arm/shift-bad.s: New test. * gas/arm/shift-bad.l: Expcted error output. * gas/arm/shift-bad.s: New control file. * config/tc-arm.c (do_shift): Do not allow shift operations at the end of a register based shift insn. (do_t_shift): Likewise.binutils-2_22-branch
6 changed files with 40 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
# name: PR 12854: Extraneous shifts |
|||
# as: |
|||
# error-output: shift-bad.l |
|||
@ -0,0 +1,6 @@ |
|||
.*shift-bad.s: Assembler messages: |
|||
.*shift-bad.s:3: Error: extraneous shift as part of operand to shift insn -- `asr r0,r1,r2,ror#5' |
|||
.*shift-bad.s:4: Error: extraneous shift as part of operand to shift insn -- `ror r0,r1,r2,lsl r3' |
|||
.*shift-bad.s:8: Error: extraneous shift as part of operand to shift insn -- `ror r0,r1,r2,lsl#1' |
|||
.*shift-bad.s:9: Error: extraneous shift as part of operand to shift insn -- `lsl r0,r1,r2,lsl#1' |
|||
.*shift-bad.s:10: Error: extraneous shift as part of operand to shift insn -- `lsl r0,r1,r2,asr r0' |
|||
@ -0,0 +1,10 @@ |
|||
.syntax unified |
|||
|
|||
asr r0, r1, r2, ror #5 |
|||
ror r0, r1, r2, lsl r3 |
|||
|
|||
.thumb_func |
|||
foo: |
|||
ror r0, r1, r2, lsl #1 |
|||
lsl r0, r1, r2, lsl #1 |
|||
lsl r0, r1, r2, asr r0 |
|||
Loading…
Reference in new issue