diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2012-07-26 13:21:21 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2012-07-26 13:21:21 +0000 |
commit | d38933a0032bf9b04639575267bcb25e8c6a4463 (patch) | |
tree | 3e54749ca77a5bf2e498c7c29e1f4e5e0088296c | |
parent | 6dd8f4bb6154b0d8190a09369dc51b2acd427b93 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/sel-sched-ir.c | 8 |
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 |