[patch] Thumb2 gas fixes

Paul Brook paul@codesourcery.com
Thu Aug 4 14:04:00 GMT 2005


The attached patch fixed 4 thumb2 gas bugs:

- Immediate operands allow shifted 8-bit constants, unlike arm which allows 
rotated constants.
- ALU operations do not allow shift by register operands.
- Incorrect encoding of shifted index addressing modes.
- Incorrect encoding of ldm and stm instructions

Tested on arm-none-eabi.
Ok?

Paul

2005-08-04  Paul Brook  <paul@codesourcery.com>

gas/
	* config/tc-arm.c (encode_thumb32_immediate): Only accept shifted
	constants.
	(encode_thumb32_shifted_operand): Prohibit register shifts.
	(encode_thumb32_addr_mode): Fix typo.
	(insns): Correct thumb2 ldm and stm opcodes.
gas/testsuite/
	* gas/arm/thumb32.d: Update ldm/stm dests.
	* gas/arm/thumb32.s: Ditto.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.gas_t2_bugs
Type: text/x-diff
Size: 4174 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20050804/0ccf88aa/attachment.bin>


More information about the Binutils mailing list