mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-13 21:36:07 +08:00
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:
parent
930aeef3f3
commit
101c1a3d93
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user