http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57344
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |4.8.1, 4.9.0 Summary|[4.7/4.8/4.9 Regression] |[4.7 Regression] wrong code |wrong code with pragma |with pragma pack(1) and -O1 |pack(1) and -O1 on x86 |on x86 Known to fail|4.9.0 | --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Thu May 23 09:17:34 2013 New Revision: 199238 URL: http://gcc.gnu.org/viewcvs?rev=199238&root=gcc&view=rev Log: PR middle-end/57344 * expmed.c (store_split_bit_field): If op0 is a REG or SUBREG of a REG, don't lower unit. Handle unit not being always BITS_PER_WORD. * gcc.c-torture/execute/pr57344-1.c: New test. * gcc.c-torture/execute/pr57344-2.c: New test. * gcc.c-torture/execute/pr57344-3.c: New test. * gcc.c-torture/execute/pr57344-4.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/execute/pr57344-1.c trunk/gcc/testsuite/gcc.c-torture/execute/pr57344-2.c trunk/gcc/testsuite/gcc.c-torture/execute/pr57344-3.c trunk/gcc/testsuite/gcc.c-torture/execute/pr57344-4.c Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/testsuite/ChangeLog Author: jakub Date: Thu May 23 09:18:57 2013 New Revision: 199239 URL: http://gcc.gnu.org/viewcvs?rev=199239&root=gcc&view=rev Log: PR middle-end/57344 * expmed.c (store_split_bit_field): If op0 is a REG or SUBREG of a REG, don't lower unit. Handle unit not being always BITS_PER_WORD. * gcc.c-torture/execute/pr57344-1.c: New test. * gcc.c-torture/execute/pr57344-2.c: New test. * gcc.c-torture/execute/pr57344-3.c: New test. * gcc.c-torture/execute/pr57344-4.c: New test. Added: branches/gcc-4_8-branch/gcc/testsuite/gcc.c-torture/execute/pr57344-1.c branches/gcc-4_8-branch/gcc/testsuite/gcc.c-torture/execute/pr57344-2.c branches/gcc-4_8-branch/gcc/testsuite/gcc.c-torture/execute/pr57344-3.c branches/gcc-4_8-branch/gcc/testsuite/gcc.c-torture/execute/pr57344-4.c Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/expmed.c branches/gcc-4_8-branch/gcc/testsuite/ChangeLog Fixed for 4.8/4.9+ so far.