aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-12-10 13:43:45 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-12-10 13:43:45 +0100
commitfee457233eea9e0f2a88273ba3e6b75b9f9b73d9 (patch)
treeaab57dda08ff140cafb849f1ab38eb82755c4e49 /gcc/jump.c
parent6391db68149b57978967c220d6253a6bd04eb581 (diff)
downloadgcc-fee457233eea9e0f2a88273ba3e6b75b9f9b73d9.zip
gcc-fee457233eea9e0f2a88273ba3e6b75b9f9b73d9.tar.gz
gcc-fee457233eea9e0f2a88273ba3e6b75b9f9b73d9.tar.bz2
re PR rtl-optimization/46865 (Using -save-temps (or ccache, distcc) produces different results with multiline macros containing asm code)
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. From-SVN: r167686
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 928bb81..b85326a 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1727,7 +1727,13 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
case 'i':
if (XINT (x, i) != XINT (y, i))
- return 0;
+ {
+ if (((code == ASM_OPERANDS && i == 6)
+ || (code == ASM_INPUT && i == 1))
+ && locator_eq (XINT (x, i), XINT (y, i)))
+ break;
+ return 0;
+ }
break;
case 't':