combine.c (find_split_point): Don't turn a SIGN_EXTEND into a series of shifts if...

* combine.c (find_split_point): Don't turn a SIGN_EXTEND into
        a series of shifts if either mode is a partial integer mode.

From-SVN: r13665
This commit is contained in:
Jeff Law 1997-02-19 11:18:06 -07:00
parent 930aeef3f3
commit 101c1a3d93

View File

@ -2699,6 +2699,14 @@ find_split_point (loc, insn)
case SIGN_EXTEND:
inner = XEXP (SET_SRC (x), 0);
/* We can't optimize if either mode is a partial integer
mode as we don't know how many bits are significant
in those modes. */
if (GET_MODE_CLASS (GET_MODE (inner)) == MODE_PARTIAL_INT
|| GET_MODE_CLASS (GET_MODE (SET_SRC (x))) == MODE_PARTIAL_INT)
break;
pos = 0;
len = GET_MODE_BITSIZE (GET_MODE (inner));
unsignedp = 0;