diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af67073ba12b77e8e77b90391c160d90d8e4cae1..7830f3b1c5d21c9e7d27628ee4c92d9943c4ac62 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 2dff39ef66536bcf9ddbc8dd522f69879db7e1a2..55e209a3bc5910144a7e0430a0becc5f18b93b13 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