From 43f4a281a321cf24391870c340e2a52e8acb6b7f Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 8 Feb 2016 09:09:22 +0000 Subject: [PATCH] re PR target/69274 (435.gromacs performance regression after r231814 on x86 Haswell and bdver2) 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. From-SVN: r233209 --- 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 2c4a8b6096d..3e8055136f8 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 249e2fffae7..81d1d339947 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 6aa927d05de..e0e68af43ca 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 27623ffd96c..8b1b4d42c73 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.30.2