diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-12-10 13:43:45 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-12-10 13:43:45 +0100 |
commit | fee457233eea9e0f2a88273ba3e6b75b9f9b73d9 (patch) | |
tree | aab57dda08ff140cafb849f1ab38eb82755c4e49 /gcc/jump.c | |
parent | 6391db68149b57978967c220d6253a6bd04eb581 (diff) | |
download | gcc-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.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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': |