$ gcc dsputil_mmx.i -c -mmmx -O1 i386/h264dsp_mmx.c: In function ‘h264_h_loop_filter_chroma_intra_mmx2’: i386/h264dsp_mmx.c:542: internal compiler error: in inline_secondary_memory_needed, at config/i386/i386.c:21849
Created attachment 16120 [details] testcase
Confirmed on 4.3, latent on 4.4. Patch in testing.
Subject: Bug 37191 Author: uros Date: Fri Aug 22 13:58:52 2008 New Revision: 139471 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139471 Log: PR target/37184 * config/i386/i386.c (ix86_match_ccmode): Handle CCAmode, CCCmode, CCOmode and CCSmode destination modes. PR target/37191 * config/i386/mmx.md (*vec_extractv2sf_0): Avoid combining registers from different units in a single alternative. (*vec_extractv2sf_1): Ditto. (*vec_extractv2si_0): Ditto. (*vec_extractv2si_1): Ditto. * config/i386/sse.md (sse2_storehpd): Ditto. (sse2_storelpd): Ditto. (sse2_loadhpd): Ditto. (sse2_loadlpd): Ditto. PR target/37197 * config/i386/i386.md (clzsi2_abm): Fix operand 1 constraints. (popcountsi2): Ditto. (clzdi2_abm): Ditto. (popcountdi2): Ditto. (clzhi2_abm): Ditto. (popcounthi2): Ditto. testsuite/ChangeLog: PR target/37184 * gcc.target/i386/pr37184.c: New test. PR target/37191 * gcc.target/i386/pr37191.c: New test. PR target/37197 * gcc.target/i386/pr37197.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr37184.c trunk/gcc/testsuite/gcc.target/i386/pr37191.c trunk/gcc/testsuite/gcc.target/i386/pr37197.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.md trunk/gcc/config/i386/mmx.md trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog
Fixed for 4.4.
(In reply to comment #4) > Fixed for 4.4. > the 4.3.2 was released. could you commit fix to 4.3 branch?
Subject: Bug 37191 Author: uros Date: Thu Aug 28 13:31:33 2008 New Revision: 139707 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139707 Log: PR target/37184 * config/i386/i386.c (ix86_match_ccmode): Handle CCAmode, CCCmode, CCOmode and CCSmode destination modes. PR target/37191 * config/i386/mmx.md (*vec_extractv2sf_0): Avoid combining registers from different units in a single alternative. (*vec_extractv2sf_1): Ditto. (*vec_extractv2si_0): Ditto. (*vec_extractv2si_1): Ditto. * config/i386/sse.md (sse2_storehpd): Ditto. (sse2_storelpd): Ditto. (sse2_loadhpd): Ditto. (sse2_loadlpd): Ditto. PR target/37197 * config/i386/i386.md (clzsi2_abm): Fix operand 1 constraints. (popcountsi2): Ditto. (clzdi2_abm): Ditto. (popcountdi2): Ditto. (clzhi2_abm): Ditto. (popcounthi2): Ditto. testsuite/ChangeLog: PR target/37184 * gcc.target/i386/pr37184.c: New test. PR target/37191 * gcc.target/i386/pr37191.c: New test. PR target/37197 * gcc.target/i386/pr37197.c: New test. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.target/i386/pr37184.c - copied unchanged from r139471, trunk/gcc/testsuite/gcc.target/i386/pr37184.c branches/gcc-4_3-branch/gcc/testsuite/gcc.target/i386/pr37191.c - copied unchanged from r139471, trunk/gcc/testsuite/gcc.target/i386/pr37191.c branches/gcc-4_3-branch/gcc/testsuite/gcc.target/i386/pr37197.c - copied unchanged from r139471, trunk/gcc/testsuite/gcc.target/i386/pr37197.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/config/i386/i386.c branches/gcc-4_3-branch/gcc/config/i386/i386.md branches/gcc-4_3-branch/gcc/config/i386/mmx.md branches/gcc-4_3-branch/gcc/config/i386/sse.md branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
Fixed.
Author: uros Date: Thu Oct 27 06:17:00 2011 New Revision: 180560 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180560 Log: PR target/37191 * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers from different units in a single alternative. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/sse.md