sparc.c (const64_operand, [...]): Get it right when HOST_BITS_PER_WIDE_INT is not 64.
authorDavid S. Miller <davem@pierdol.cobaltmicro.com>
Fri, 14 Aug 1998 01:49:23 +0000 (01:49 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Fri, 14 Aug 1998 01:49:23 +0000 (18:49 -0700)
commit9208e4b25c6909de6e7032be427c8be101c14ffd
treee1d5d273d6ad51a8e580f7ac2bf13de6fe5a122a
parenta2cd38a9f83408401e59231579cc6bc73ae4b902
sparc.c (const64_operand, [...]): Get it right when HOST_BITS_PER_WIDE_INT is not 64.

* config/sparc/sparc.c (const64_operand, const64_high_operand):
Get it right when HOST_BITS_PER_WIDE_INT is not 64.
(input_operand): Fixup test for what we accept for constant
integers.
(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
set VOIDmode.
(safe_constDI): Remove.
(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
gen_safe_XOR64): New functions.
(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
them.
* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
available when HOST_BITS_PER_WIDE_INT is not 64.
(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
move before movdi_insn_sp64 pattern.
(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
symbolic_operand as predicate for second operand.
(DImode minus split on arch32, negsi2 expander, one_cmplsi2
expander): Give set VOIDmode.

From-SVN: r21724
gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md