(cmpXf insns): Allow 0.0 for either operand of the
comparison. Update output template to handle 0.0 as one
of the operands.
(movsi insn, fp->fp case): Update constraints and template to
allow store of zero into an FP register.
(movhi insn, fp->fp case): Likewise.
(movqi insn, fp->fp case): Likewise.
(movdi insn, fp->fp case): Likewise.
(movDF const_double pattern): Do not apply this pattern
if the const_double is zero.
(movdf insn, fp->fp and gr->gr cases): Update constraints
and output template to allow store of zero into a FP or GR.
Update condition string to allow zero as operand 1.
(movsf insn, fp->fp and gr->gr cases): Likewise. Also allow
store of zero into a memory location.
From-SVN: r3393
* pa.h (CONST_DOUBLE_OK_FOR_LETTER_P): Generalize.
(LEGITIMATE_CONSTANT_P): Allow 0.0.
(CONST_COSTS, case CONST_DOUBLE): fp0.0 is free when
not used in a SET expression.
From-SVN: r3392
* pa.c (reg_or_0_operand): Use CONST0_RTX instead of
const0_rtx.
(reg_or_0_or_nonsymb_mem_operand): New function.
(emit_move_sequence): Copying CONST0_RTX into any
register can be done directly. Use CONST0_RTX instead
of const0_rtx.
(output_fp_move_double): Handle copying a CONST0_RTX
into FP or integer registers.
(print_operand): Handle "%r0" for DFmode and SFmode
values too.
From-SVN: r3391
* c-common.c (c_build_type_variant): Moved here from c-decl.c.
Redirected the TYPE_MAIN_VARIANT to the "real" main variant.
Build the possibly new array type on the permanent obstack if it
the original type was permanent.
(permanent_obstack): Added extern declaration.
From-SVN: r3388
* reload.c (find_reloads_toplev): When handling a (subreg (reg))
where (reg) will be replaced by a memory reference, if the memory
address is invalid for the mode of the subreg, then search the
memory address for reloads.
From-SVN: r3385
* pa.md (iorsi3): Split into two patterns, a named "iorsi3" which
only accepts registers, and a combiner pattern which accepts a
restricted set of constant integers for one term.
From-SVN: r3382
Remove 29050-specific variants of patterns generating loadm that have
earlyclobber. This was put in for some very old version of the '050,
which isn't used anymore, that had a bug.
From-SVN: r3376
change /include and -I values from [.config] to [.config.] (this
trailing period works with GNU C's preprocessor but not with VAX C's).
From-SVN: r3375
(simplify_relation_operation): We can compute the result of a
comparison of CONST_INTs no matter what mode the computation is to be
done in.
From-SVN: r3372
* Makefile.in (insn-*.[ch], protoize.o, unprotoize.o, install): When
using a trailing semicolon to force a rule to not do anything,
explicitly run the command `true', to avoid warnings or other
problems with versions of make which don't like null commands.
From-SVN: r3349