On Thu, Nov 14, 2019 at 05:42:43PM -0500, Michael Meissner wrote: > -;; Split a load of a large constant into the appropriate two-insn > -;; sequence. > +;; Split a load of a large constant into the appropriate two-insn sequence. > On > +;; systems that support PADDI (PLI), we can use PLI to load any 32-bit > constant > +;; in one instruction. > > (define_split > [(set (match_operand:SI 0 "gpc_reg_operand") > (match_operand:SI 1 "const_int_operand"))] > "(unsigned HOST_WIDE_INT) (INTVAL (operands[1]) + 0x8000) >= 0x10000 > - && (INTVAL (operands[1]) & 0xffff) != 0" > + && (INTVAL (operands[1]) & 0xffff) != 0 && !TARGET_PREFIXED_ADDR" > [(set (match_dup 0) > (match_dup 2)) > (set (match_dup 0)
Please use num_insns_constant, instead (and fix num_insns_constant_gpr so it knows about SIGNED_34BIT). Segher