diff -r 93767e6a2dfd -r 0a43776437b6 src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp --- a/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Thu Apr 08 10:55:40 2010 +0200 +++ b/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Thu Apr 08 12:13:07 2010 -0700 @@ -1728,9 +1728,13 @@ ShouldNotReachHere(); } } else if (code == lir_cmp_l2i) { +#ifdef _LP64 + __ lcmp(left->as_register_lo(), right->as_register_lo(), dst->as_register()); +#else __ lcmp(left->as_register_hi(), left->as_register_lo(), right->as_register_hi(), right->as_register_lo(), dst->as_register()); +#endif } else { ShouldNotReachHere(); }