diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index af67073ba12..7830f3b1c5d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert + to permit subregs. + +2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace define_insn with define_expand and new define_insn *altivec_lve<VI_char>x_internal. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 2dff39ef665..55e209a3bc5 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8040,7 +8040,7 @@ rs6000_emit_le_vsx_move (rtx dest, rtx source, enum machine_mode mode) if (MEM_P (source)) { - gcc_assert (REG_P (dest)); + gcc_assert (REG_P (dest) || GET_CODE (dest) == SUBREG); rs6000_emit_le_vsx_load (dest, source, mode); } else |