This patchset improves the ARM inline assembler I posted earlier.
(Please apply it on top of the patchset I posted earlier--it does
not replace it)
First, I add support for the barrel shifter--supporting specifying both
modifiers for the old ARM instructions and also the new ARM shift
instructions.
I add ROR support for sxtb, sxth, uxtb, uxth.
I add some warnings and errors for some cases that are not supported by
ARM hardware.
Danny Milosavljevic (9):
arm-asm: Add lsl, lsr, asr, ror, rrx
arm-asm: For data processing instructions, support shifts and
rotations.
arm-asm: Support rotation for sxtb, sxth, uxtb, uxth
arm-asm: Warn if regset registers are not specified in ascending order
arm-asm: Add error case in asm_multiplication_opcode
arm-asm: Raise an error if asm_binary_opcode is used with PC as
operand
arm-asm: Print a warning if asm_binary_opcode is used with SP as
operand
arm-asm: Raise error if more than two operands are specified on mov,
mvn, cmp, cmn, tst, teq
arm-asm: Raise error if asm_data_processing_opcode and
asm_shift_opcode try to use PC for register-controlled shifts
arm-asm.c | 322 +++++++++++++++++++++++++++++++++++++++++++++++++-----
arm-tok.h | 15 +++
2 files changed, 312 insertions(+), 25 deletions(-)
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel