constraints.md
3.3 KB
-
mn10300.c: Include tm-constrs.h. · a45d420a
* 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. From-SVN: r170182
Nick Clifton committed