aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-07-26 13:21:21 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-07-26 13:21:21 +0000
commitd38933a0032bf9b04639575267bcb25e8c6a4463 (patch)
tree3e54749ca77a5bf2e498c7c29e1f4e5e0088296c /gcc
parent6dd8f4bb6154b0d8190a09369dc51b2acd427b93 (diff)
downloadgcc-d38933a0032bf9b04639575267bcb25e8c6a4463.zip
gcc-d38933a0032bf9b04639575267bcb25e8c6a4463.tar.gz
gcc-d38933a0032bf9b04639575267bcb25e8c6a4463.tar.bz2
re PR regression/54084 (Bunch of fails for x86)
PR regression/54084 * sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix pointer difference check. From-SVN: r189891
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sel-sched-ir.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6f75076..ec73ade 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR regression/54084
+ * sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
+ pointer difference check.
+
2012-07-26 Bill Schmidt <wschmidt@linux.ibm.com>
* tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 4781f05..2dfecf5 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -954,7 +954,13 @@ return_regset_to_pool (regset rs)
static int
cmp_v_in_regset_pool (const void *x, const void *xx)
{
- return *((const regset *) x) - *((const regset *) xx);
+ uintptr_t r1 = (uintptr_t) *((const regset *) x);
+ uintptr_t r2 = (uintptr_t) *((const regset *) xx);
+ if (r1 > r2)
+ return 1;
+ else if (r1 < r2)
+ return -1;
+ gcc_unreachable ();
}
#endif