http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48335
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-04-06 20:39:24 UTC --- Author: jakub Date: Wed Apr 6 20:39:20 2011 New Revision: 172063 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172063 Log: Backported from mainline 2011-04-01 Jakub Jelinek <ja...@redhat.com> PR middle-end/48335 * expr.c (expand_assignment): Handle all possibilities if TO_RTX is CONCAT. * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs. (store_split_bit_field): If SUBREG_REG (op0) or op0 itself has smaller mode than word, return it for offset 0 and const0_rtx for out-of-bounds stores. If word is const0_rtx, skip it. * gcc.c-torture/compile/pr48335-1.c: New test. * gcc.dg/pr48335-1.c: New test. * gcc.dg/pr48335-2.c: New test. * gcc.dg/pr48335-3.c: New test. * gcc.dg/pr48335-4.c: New test. * gcc.dg/pr48335-5.c: New test. * gcc.dg/pr48335-6.c: New test. * gcc.dg/pr48335-7.c: New test. * gcc.dg/pr48335-8.c: New test. * gcc.target/i386/pr48335-1.c: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr48335-1.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-1.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-2.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-3.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-4.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-5.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-6.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-7.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48335-8.c branches/gcc-4_6-branch/gcc/testsuite/gcc.target/i386/pr48335-1.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/expmed.c branches/gcc-4_6-branch/gcc/expr.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog