constraints.md
7.11 KB
-
predicates.md (qi_mask_operand, [...]): New predicates. · b2c9d70f
* config/mips/predicates.md (qi_mask_operand, hi_mask_operand, si_mask_operand, and_load_operand, low_bitmask_operand, and_reg_operand, and_operand): New predicates. * config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints. * config/mips/mips.c (and_operands_ok): New function. * config/mips/mips-protos.h (and_operands_ok): Declare it. * config/mips/mips.md (move_type): Add ext_ins and logical. (type): Handle them. (and<mode>3): Use and_reg_operand as the second operand's predicate. (*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and shift_shift. Remove commutative constraint modifier. (*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and shift_shift. (*clear_upper32_dext): Remove define_insn_and_split. (*clear_upper32): Turn this define_insn_and_split ... (splitter for ANDing register with 0xffff_ffff): .. into this. testsuite/ * gcc.target/mips/ext-5.c: New test. * gcc.target/mips/ext-6.c: New test. * gcc.target/mips/ext-7.c: New test. * gcc.target/mips/ext-8.c: New test. * gcc.target/mips/extend-2.c: New test. From-SVN: r150657
Adam Nemet committed