6833573: C2 sparc: assert(c < 64 && (c & 1) == 0,"bad double float register")
Reviewed-by: twisti
--- a/hotspot/src/cpu/sparc/vm/sparc.ad Fri Apr 24 09:14:39 2009 -0700
+++ b/hotspot/src/cpu/sparc/vm/sparc.ad Fri Apr 24 15:08:30 2009 -0700
@@ -2794,7 +2794,9 @@
AddressLiteral addrlit(double_address, rspec);
__ sethi(addrlit, $tmp$$Register);
- __ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), $dst$$FloatRegister, rspec);
+ // XXX This is a quick fix for 6833573.
+ //__ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), $dst$$FloatRegister, rspec);
+ __ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), as_DoubleFloatRegister($dst$$reg), rspec);
%}
// Compiler ensures base is doubleword aligned and cnt is count of doublewords
@@ -5902,7 +5904,9 @@
AddressLiteral addrlit(double_address, rspec);
__ sethi(addrlit, $tmp$$Register);
- __ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), $dst$$FloatRegister, rspec);
+ // XXX This is a quick fix for 6833573.
+ //__ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), $dst$$FloatRegister, rspec);
+ __ ldf(FloatRegisterImpl::D, $tmp$$Register, addrlit.low10(), as_DoubleFloatRegister($dst$$reg), rspec);
%}
ins_pipe(loadConFD);
%}