diff options
author | Richard Biener <rguenther@suse.de> | 2016-02-08 09:09:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-02-08 09:09:22 +0000 |
commit | 43f4a281a321cf24391870c340e2a52e8acb6b7f (patch) | |
tree | 432be309bd23dbde8ace856de84c5d8c7ecc89a5 /gcc/ira.c | |
parent | e8dfe49e7d737db40010122c5fad7f4ca9926eaa (diff) | |
download | gcc-43f4a281a321cf24391870c340e2a52e8acb6b7f.zip gcc-43f4a281a321cf24391870c340e2a52e8acb6b7f.tar.gz gcc-43f4a281a321cf24391870c340e2a52e8acb6b7f.tar.bz2 |
re PR target/69274 (435.gromacs performance regression after r231814 on x86 Haswell and bdver2)
2016-02-08 Richard Biener <rguenther@suse.de>
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
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; } } |