http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46598
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW AssignedTo|rguenth at gcc dot gnu.org |unassigned at gcc dot | |gnu.org --- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-23 14:15:33 UTC --- Making havege_hardtick long long doesn't solve the problem. Now we have (insn 23 22 26 3 pr46598_0.i:20 (parallel [ (set (reg:DI 1 dx) (asm_operands/v:DI ("rdtsc") ("=A") 0 [] [] [] pr46598_0.i:36)) (clobber (reg:QI 18 fpsr)) (clobber (reg:QI 17 flags)) ]) -1 (nil)) with -m32 we get (reg:DI 0 ax) instead which is ok. With int havege_hardtick it's (reg:SI 1 dx) again. This is not really my area of expertise. Eh. Reproducible in a similar way on trunk.