summaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-02 15:44:50 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-02 15:44:50 +0000
commitc1f616f4683129679bb036d6db79a576669c9505 (patch)
tree0590639133f50d9e0624a4599e7d51eeca1c9bce /gcc/optabs.c
parentc9f1fe2344dce13988f30ef655c0ff905bb269df (diff)
downloadgcc-c1f616f4683129679bb036d6db79a576669c9505.tar.gz
Unroll my commit of 1999/08/01 16:14:58, there was a communications mixup
about its status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index bad27764cff..2b9091bcf4e 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -857,12 +857,12 @@ expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods)
/* In case the insn wants input operands in modes different from
the result, convert the operands. */
- if ((GET_MODE (op0) != VOIDmode || GET_CODE (op0) == CONST_INT)
+ if (GET_MODE (op0) != VOIDmode
&& GET_MODE (op0) != mode0
&& mode0 != VOIDmode)
xop0 = convert_to_mode (mode0, xop0, unsignedp);
- if ((GET_MODE (xop1) != VOIDmode || GET_CODE (xop1) == CONST_INT)
+ if (GET_MODE (xop1) != VOIDmode
&& GET_MODE (xop1) != mode1
&& mode1 != VOIDmode)
xop1 = convert_to_mode (mode1, xop1, unsignedp);
@@ -4231,7 +4231,7 @@ expand_fix (to, from, unsignedp)
NULL_RTX, 0, OPTAB_LIB_WIDEN);
expand_fix (to, target, 0);
target = expand_binop (GET_MODE (to), xor_optab, to,
- GEN_INT ((HOST_WIDE_INT) -1 << (bitsize - 1)),
+ GEN_INT ((HOST_WIDE_INT) 1 << (bitsize - 1)),
to, 1, OPTAB_LIB_WIDEN);
if (target != to)