aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ira.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/addr-sel-1.c2
4 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c4a8b6..3e80551 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-02-08 Richard Biener <rguenther@suse.de>
+
+ PR rtl-optimization/69274
+ * ira.c (ira_setup_alts): Do not change recog_data.operand
+ order.
+
2016-02-08 Jeff Law <law@redhat.com>
PR tree-optimization/65917
diff --git a/gcc/ira.c b/gcc/ira.c
index 249e2ff..81d1d33 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 6aa927d..e0e68af 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-08 Richard Biener <rguenther@suse.de>
+
+ PR rtl-optimization/69274
+ * gcc.target/i386/addr-sel-1.c: XFAIL.
+
2016-02-08 Jeff Law <law@redhat.com>
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 27623ff..8b1b4d4 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 *-*-* } } } */