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