Commit 556a56ac by David S. Miller Committed by David S. Miller

sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the 32-bit ABI libfuncs to NULL.

2002-06-24  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
	32-bit ABI libfuncs to NULL.

	* expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
	optabs if op1 is const0_rtx.

From-SVN: r54950
parent 2c35c7be
2002-06-24 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
32-bit ABI libfuncs to NULL.
* expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
optabs if op1 is const0_rtx.
2002-06-24 Neil Booth <neil@daikokuya.co.uk>
* cpptrad.c (scan_out_logical_line): Check recursing only when
......
......@@ -2585,6 +2585,17 @@ do { \
sqrt_optab->handlers[(int) TFmode].libfunc \
= init_one_libfunc ("_Q_sqrt"); \
} \
if (TARGET_ARCH64) \
{ \
/* In the SPARC 64bit ABI, these libfuncs do not exist in the \
library. Make sure the compiler does not emit calls to them \
by accident. */ \
sdiv_optab->handlers[(int) SImode].libfunc = NULL; \
udiv_optab->handlers[(int) SImode].libfunc = NULL; \
smod_optab->handlers[(int) SImode].libfunc = NULL; \
umod_optab->handlers[(int) SImode].libfunc = NULL; \
smul_optab->handlers[(int) SImode].libfunc = NULL; \
} \
INIT_SUBTARGET_OPTABS; \
} while (0)
......
......@@ -3049,9 +3049,12 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
not straightforward to generalize this. Maybe we should make an array
of possible modes in init_expmed? Save this for GCC 2.7. */
optab1 = (op1_is_pow2 ? (unsignedp ? lshr_optab : ashr_optab)
optab1 = ((op1_is_pow2 && op1 != const0_rtx)
? (unsignedp ? lshr_optab : ashr_optab)
: (unsignedp ? udiv_optab : sdiv_optab));
optab2 = (op1_is_pow2 ? optab1 : (unsignedp ? udivmod_optab : sdivmod_optab));
optab2 = ((op1_is_pow2 && op1 != const0_rtx)
? optab1
: (unsignedp ? udivmod_optab : sdivmod_optab));
for (compute_mode = mode; compute_mode != VOIDmode;
compute_mode = GET_MODE_WIDER_MODE (compute_mode))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment