From 0418e71d5f2bc69e4b10586c07b5207be62bd6b1 Mon Sep 17 00:00:00 2001 From: rguenth Date: Mon, 8 Feb 2016 09:09:22 +0000 Subject: [PATCH] 2016-02-08 Richard Biener PR rtl-optimization/69274 * ira.c (ira_setup_alts): Do not change recog_data.operand order. * gcc.target/i386/addr-sel-1.c: XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233209 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/ira.c | 5 +++-- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/i386/addr-sel-1.c | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2c4a8b6096df..3e8055136f84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-02-08 Richard Biener + + PR rtl-optimization/69274 + * ira.c (ira_setup_alts): Do not change recog_data.operand + order. + 2016-02-08 Jeff Law PR tree-optimization/65917 diff --git a/gcc/ira.c b/gcc/ira.c index 249e2fffae72..81d1d3399479 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -1889,10 +1889,11 @@ ira_setup_alts (rtx_insn *insn, HARD_REG_SET &alts) } if (commutative < 0) break; - if (curr_swapped) - break; + /* Swap forth and back to avoid changing recog_data. */ std::swap (recog_data.operand[commutative], recog_data.operand[commutative + 1]); + if (curr_swapped) + break; } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6aa927d05de8..e0e68af43ca4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-02-08 Richard Biener + + PR rtl-optimization/69274 + * gcc.target/i386/addr-sel-1.c: XFAIL. + 2016-02-08 Jeff Law PR tree-optimization/68541 diff --git a/gcc/testsuite/gcc.target/i386/addr-sel-1.c b/gcc/testsuite/gcc.target/i386/addr-sel-1.c index 27623ffd96cc..8b1b4d42c730 100644 --- a/gcc/testsuite/gcc.target/i386/addr-sel-1.c +++ b/gcc/testsuite/gcc.target/i386/addr-sel-1.c @@ -14,4 +14,4 @@ int f(int i) } /* { dg-final { scan-assembler "a\\+1" } } */ -/* { dg-final { scan-assembler "b\\+1" } } */ +/* { dg-final { scan-assembler "b\\+1" { xfail *-*-* } } } */ -- 2.47.3