[Bug rtl-optimization/46865] [4.3/4.4/4.5/4.6 Regression] Using -save-temps (or ccache, distcc) produces different results with multiline macros containing asm code

2010-12-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46865

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2010-12-10 
12:43:49 UTC ---
Author: jakub
Date: Fri Dec 10 12:43:45 2010
New Revision: 167686

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167686
Log:
PR rtl-optimization/46865
* rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
ASM_OPERANDS and ASM_INPUT if integers are different,
call locator_eq.
* jump.c (rtx_renumbered_equal_p): Likewise.

* gcc.target/i386/pr46865-1.c: New test.
* gcc.target/i386/pr46865-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr46865-1.c
trunk/gcc/testsuite/gcc.target/i386/pr46865-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/jump.c
trunk/gcc/rtl.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/46865] [4.3/4.4/4.5/4.6 Regression] Using -save-temps (or ccache, distcc) produces different results with multiline macros containing asm code

2010-12-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46865

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||jakub at gcc dot gnu.org
  Component|other   |rtl-optimization
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |


[Bug rtl-optimization/46865] [4.3/4.4/4.5/4.6 Regression] Using -save-temps (or ccache, distcc) produces different results with multiline macros containing asm code

2010-12-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46865

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2010-12-09 
19:11:08 UTC ---
Created attachment 22698
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22698
gcc46-pr46865.patch

The problem is that we do not guarantee the rtl locators are unique, locator_eq
needs to be called to check equality.

Perhaps for 4.7 a better way would be to use a different fmt string letter for
these locations and adjust all routines that look at rtl format strings.