[Bug rtl-optimization/21239] [4.0/4.1 Regression] Illegal elimination of SSE2 load/store using xmm intrinsics
--- Additional Comments From jakub at gcc dot gnu dot org 2005-05-03 14:42 --- Yeah, a bug in combine_simplify_rtx. I have a patch that fixes this, but while working on a testcase I encountered other bug as well, so am looking into that too. -- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2005-04-27 00:00:41 |2005-05-03 14:42:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21239
[Bug rtl-optimization/21239] [4.0/4.1 Regression] Illegal elimination of SSE2 load/store using xmm intrinsics
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-03 22:16 --- Subject: Bug 21239 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-05-03 22:16:02 Modified files: gcc: ChangeLog combine.c gcc/testsuite : ChangeLog gcc/config/i386: i386.c Added files: gcc/testsuite/gcc.dg: i386-sse-11.c Log message: * config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th item in V4SF mode. PR rtl-optimization/21239 * combine.c (combine_simplify_rtx) case VEC_SELECT: Fix a typo. * gcc.dg/i386-sse-11.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.8587r2=2.8588 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gccr1=1.488r2=1.489 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gccr1=1.5436r2=1.5437 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gccr1=1.817r2=1.818 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/i386-sse-11.c.diff?cvsroot=gccr1=NONEr2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21239
[Bug rtl-optimization/21239] [4.0/4.1 Regression] Illegal elimination of SSE2 load/store using xmm intrinsics
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-27 00:00 --- Confirmed. Combine is combing the following RTL: (insn 30 27 31 2 (set (reg:DF 70) (mem:DF (reg/v/f:SI 64 [ s ]) [0 S8 A64])) -1 (nil) (nil)) (insn 31 30 32 2 (set (reg:V2DF 69) (vec_concat:V2DF (reg:DF 70) (const_double:DF 0 [0x0] 0.0 [0x0.0p+0]))) -1 (insn_list:REG_DEP_TRUE 30 (nil)) (expr_list:REG_DEAD (reg:DF 70) (nil))) (insn 32 31 34 2 (set (reg:DF 71) (vec_select:DF (reg:V2DF 69) (parallel [ (const_int 0 [0x0]) ]))) -1 (insn_list:REG_DEP_TRUE 31 (nil)) (expr_list:REG_DEAD (reg:V2DF 69) (nil))) (insn 34 32 36 2 (set (mem:DF (reg/v/f:SI 63 [ d ]) [0 S8 A64]) (reg:DF 71)) -1 (insn_list:REG_DEP_TRUE 32 (nil)) (expr_list:REG_DEAD (reg:DF 71) (nil))) into: (insn 34 32 36 2 (set (mem:DF (reg/v/f:SI 63 [ d ]) [0 S8 A64]) (const_double:DF 0 [0x0] 0.0 [0x0.0p+0])) 65 {*movdf_nointeger} (nil) (nil)) Which is just wrong. -- What|Removed |Added Status|UNCONFIRMED |NEW Component|c |rtl-optimization Ever Confirmed||1 Keywords||ssemmx, wrong-code Last reconfirmed|-00-00 00:00:00 |2005-04-27 00:00:41 date|| Summary|Illegal elimination of SSE2 |[4.0/4.1 Regression] Illegal |load/store using xmm|elimination of SSE2 |intrinsics |load/store using xmm ||intrinsics Target Milestone|--- |4.0.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21239