aboutsummaryrefslogtreecommitdiff
path: root/gcc/lower-subreg.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2016-03-30 22:07:45 +0000
committerMichael Meissner <meissner@linux.vnet.ibm.com>2016-03-30 22:07:45 +0000
commit8445c9b065c2cf5fc637caf86d1a20493135af79 (patch)
treeb29e4d12674c675286e1c2fb04cfdb97fb17cd83 /gcc/lower-subreg.c
parentc0c667a4e2cb1c2c64348d890a2a2d2119c3d103 (diff)
parent5416ccc1643061d74894c51c8a98adde9ab22417 (diff)
Merge up to 234598
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/pre-gcc7@234601 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lower-subreg.c')
-rw-r--r--gcc/lower-subreg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index 5432d0597c5..f7b3ac4170e 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -614,7 +614,8 @@ simplify_subreg_concatn (machine_mode outermode, rtx op,
innermode = GET_MODE (op);
gcc_assert (byte < GET_MODE_SIZE (innermode));
- gcc_assert (GET_MODE_SIZE (outermode) <= GET_MODE_SIZE (innermode));
+ if (GET_MODE_SIZE (outermode) > GET_MODE_SIZE (innermode))
+ return NULL_RTX;
inner_size = GET_MODE_SIZE (innermode) / XVECLEN (op, 0);
part = XVECEXP (op, 0, byte / inner_size);