diff src/cpu/sparc/vm/sparc.ad @ 4003:4bac06a82bc3

7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc Summary: Instruction countTrailingZerosL() should use iRegIsafe dst register since it is used in long arithmetic. Reviewed-by: never, twisti
author kvn
date Fri, 14 Oct 2011 10:07:28 -0700
parents a64d352d1118
children d8cb48376797
line wrap: on
line diff
--- a/src/cpu/sparc/vm/sparc.ad	Thu Oct 13 14:08:15 2011 -0700
+++ b/src/cpu/sparc/vm/sparc.ad	Fri Oct 14 10:07:28 2011 -0700
@@ -10476,7 +10476,7 @@
   ins_pipe(ialu_reg);
 %}
 
-instruct countTrailingZerosL(iRegI dst, iRegL src, flagsReg cr) %{
+instruct countTrailingZerosL(iRegIsafe dst, iRegL src, flagsReg cr) %{
   predicate(UsePopCountInstruction);  // See Matcher::match_rule_supported
   match(Set dst (CountTrailingZerosL src));
   effect(TEMP dst, KILL cr);