diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-15 17:09:39 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-15 17:09:39 +0000 |
commit | e7076c2150f2e397c0ecd8398350f818a2928e29 (patch) | |
tree | 060852815ff3bf81b7fef60acee53e79f440a99b /gcc/ChangeLog | |
parent | 2e7f8af9e6363e9c68905cfc38526719a187fad5 (diff) | |
download | gcc-e7076c2150f2e397c0ecd8398350f818a2928e29.tar.gz |
* config/mn10300/mn10300.c: Include tm-constrs.h.
(struct liw_data): New data structure describing an LIW candidate
instruction.
(extract_bundle): Use struct liw_data. Allow small integer
operands for some instructions.
(check_liw_constraints): Use struct liw_data. Remove swapped
parameter. Add comments describing the checks. Fix bug when
assigning the source of liw1 to the source of liw2.
(liw_candidate): Delete. Code moved into extract_bundle.
(mn10300_bundle_liw): Use struct liw_data. Check constraints
before swapping.
* config/mn10300/predicates.md (liw_operand): New predicate.
Allows registers and small integer constants.
* config/mn10300/constraints.md (O): New constraint. Accetps
integers in the range -8 to +7 inclusive.
* config/mn10300/mn10300.md (movesi_internal): Add an alternative
for moving a small integer into a register. Give this alternative
LIW attributes.
(addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
(ashlsi3): Likewise, plus give LIW attributes to the alternatives
using the J,K,L and M constraints,
(liw): Remove SI mode on second operands to allow for HI and QI
mode values.
(cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
instruction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170182 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f4f569d024..a6d81d03550 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,31 @@ +2011-02-15 Nick Clifton <nickc@redhat.com> + + * config/mn10300/mn10300.c: Include tm-constrs.h. + (struct liw_data): New data structure describing an LIW candidate + instruction. + (extract_bundle): Use struct liw_data. Allow small integer + operands for some instructions. + (check_liw_constraints): Use struct liw_data. Remove swapped + parameter. Add comments describing the checks. Fix bug when + assigning the source of liw1 to the source of liw2. + (liw_candidate): Delete. Code moved into extract_bundle. + (mn10300_bundle_liw): Use struct liw_data. Check constraints + before swapping. + * config/mn10300/predicates.md (liw_operand): New predicate. + Allows registers and small integer constants. + * config/mn10300/constraints.md (O): New constraint. Accetps + integers in the range -8 to +7 inclusive. + * config/mn10300/mn10300.md (movesi_internal): Add an alternative + for moving a small integer into a register. Give this alternative + LIW attributes. + (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise. + (ashlsi3): Likewise, plus give LIW attributes to the alternatives + using the J,K,L and M constraints, + (liw): Remove SI mode on second operands to allow for HI and QI + mode values. + (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the + instruction. + 2011-02-15 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/47725 |