http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54084

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |steven at gcc dot gnu.org
         AssignedTo|unassigned at gcc dot       |steven at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2012-07-24 
15:31:50 UTC ---
I suspect this is a 64-bit pointer vs. 32-bit integer issue.

Could you please test with this patch? 

Index: sel-sched-ir.c
===================================================================
--- sel-sched-ir.c      (revision 189808)
+++ sel-sched-ir.c      (working copy)
@@ -954,7 +954,9 @@ 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);
+  intptr_t d = (intptr_t) *((const regset *) x);
+  intptr_t dd = (intptr_t) *((const regset *) xx);
+  return d - dd;
 }
 #endif

Reply via email to