http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54084
--- Comment #7 from Steven Bosscher <steven at gcc dot gnu.org> 2012-07-26
12:08:31 UTC ---
This is the variant of the patch that I will commit after testing:
Index: sel-sched-ir.c
===================================================================
--- sel-sched-ir.c (revision 189887)
+++ sel-sched-ir.c (working copy)
@@ -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