(SECONDARY_INPUT_RELOAD_CLASS): Also need a temp reg
when loading HImode and QImode values from memory to FP_REGS.
(SECONDARY_OUTPUT_RELOAD_CLASS): New macro. Define this to handle
HImode and QImode stores from FP_REGS to memory similar to above.
From-SVN: r2301
* pa.md (add high part and dp register): Split into two patterns,
one for normal code, one for kernels. Kernel version only allows
"r1" as the destination register.
From-SVN: r2298
* pa.h (LEGITIMIZE_ADDRESS, SYMBOL_REF case): Emit a sequence
which will cause "addil" instructions to be emitted instead of
"ldil; add" sequences.
* pa.h (TARGET_KERNEL): New switch "-mkernel" which forces gcc to
avoid "ldil; add" sequences with %r27 and instead generate "addil"
sequences. This avoids a HPUX linker bug when compiling kernels.
From-SVN: r2297
* pa.c (emit_move_sequence): When making a reference to the data
space before reload, emit an insn sequence which is much more
likely to create "addil" instructions rather than "ldil; add"
sequences. Doing so greatly reduces the chance of running into a
HPUX linker bug when compiling kernels.
From-SVN: r2296
(copy_loop_body, JUMP_INSN case): When invert jump
insn, must first construct new insn before trying to invert it,
so that validate_change will work properly.
From-SVN: r2277
(copy_loop_body, JUMP_INSN case): When setting
JUMP_LABEL field, verify that what we think is a label actually
is. If it isn't then map the old JUMP_LABEL to find the new one.
From-SVN: r2275
(assign_parms): If PROMOTE_FUNCTION_ARGS is defined, see if the incoming
register should be used in a wider mode.
(expand_function_start): Likewise for return value if PROMOTE_FUNCTION_RETURN
is defined.
From-SVN: r2263
(subsi3): Don't bother calling negate_rtx for constant; we shouldn't be
called with a constant.
(maskir patterns): Don't mention an operand before it is used; use operand
number 1 for operand with '0' constraint.
(allocate_stack): Use reg_or_short_operand for predicate of allocation amount;
use negate_rtx and always make a PLUS.
From-SVN: r2262
(zero_extendhisi2): Rewrite to work if op0 == op1. Use
gen_lowpart in preparation code.
(extendqisi2, extendhisi2): Likewise.
(extendqihi2): Expand.
(restorehi): Rewrite for correctness, efficiency, and
clarity. Avoid generating insns involving truncate. Generate
needed pseudos in preparation statements.
(storehi): Likewise.
(storeinthi): Likewise.
(movhi): Call gen_storehi, gen_restorehi, gen_storeinthi according
their new definitions. Use force_reg to put address in register.
From-SVN: r2255