http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48335
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-04-01 21:13:31 UTC --- Author: jakub Date: Fri Apr 1 21:13:29 2011 New Revision: 171855 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=171855 Log: 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: trunk/gcc/testsuite/gcc.c-torture/compile/pr48335-1.c trunk/gcc/testsuite/gcc.dg/pr48335-1.c trunk/gcc/testsuite/gcc.dg/pr48335-2.c trunk/gcc/testsuite/gcc.dg/pr48335-3.c trunk/gcc/testsuite/gcc.dg/pr48335-4.c trunk/gcc/testsuite/gcc.dg/pr48335-5.c trunk/gcc/testsuite/gcc.dg/pr48335-6.c trunk/gcc/testsuite/gcc.dg/pr48335-7.c trunk/gcc/testsuite/gcc.dg/pr48335-8.c trunk/gcc/testsuite/gcc.target/i386/pr48335-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/expr.c trunk/gcc/testsuite/ChangeLog