src/cpu/sparc/vm/assembler_sparc.hpp

changeset 1441
dcf03e02b020
parent 1421
62001a362ce9
child 1831
d7f654633cfe
child 1845
f03d0a26bf83
     1.1 --- a/src/cpu/sparc/vm/assembler_sparc.hpp	Wed Sep 30 13:25:39 2009 -0700
     1.2 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp	Tue Oct 06 02:11:49 2009 -0700
     1.3 @@ -1279,6 +1279,7 @@
     1.4  
     1.5    // 171
     1.6  
     1.7 +  inline void ldf(FloatRegisterImpl::Width w, Register s1, RegisterOrConstant s2, FloatRegister d);
     1.8    inline void ldf(FloatRegisterImpl::Width w, Register s1, Register s2, FloatRegister d);
     1.9    inline void ldf(FloatRegisterImpl::Width w, Register s1, int simm13a, FloatRegister d, RelocationHolder const& rspec = RelocationHolder());
    1.10  
    1.11 @@ -1535,7 +1536,8 @@
    1.12  
    1.13    // pp 222
    1.14  
    1.15 -  inline void stf(    FloatRegisterImpl::Width w, FloatRegister d, Register s1, Register s2 );
    1.16 +  inline void stf(    FloatRegisterImpl::Width w, FloatRegister d, Register s1, RegisterOrConstant s2);
    1.17 +  inline void stf(    FloatRegisterImpl::Width w, FloatRegister d, Register s1, Register s2);
    1.18    inline void stf(    FloatRegisterImpl::Width w, FloatRegister d, Register s1, int simm13a);
    1.19    inline void stf(    FloatRegisterImpl::Width w, FloatRegister d, const Address& a, int offset = 0);
    1.20  
    1.21 @@ -2049,12 +2051,13 @@
    1.22                         Register temp = noreg );
    1.23    void regcon_sll_ptr( RegisterOrConstant& dest, RegisterOrConstant src,
    1.24                         Register temp = noreg );
    1.25 -  RegisterOrConstant ensure_rs2(RegisterOrConstant rs2, Register sethi_temp) {
    1.26 -    guarantee(sethi_temp != noreg, "constant offset overflow");
    1.27 -    if (is_simm13(rs2.constant_or_zero()))
    1.28 -      return rs2;               // register or short constant
    1.29 -    set(rs2.as_constant(), sethi_temp);
    1.30 -    return sethi_temp;
    1.31 +
    1.32 +  RegisterOrConstant ensure_simm13_or_reg(RegisterOrConstant roc, Register Rtemp) {
    1.33 +    guarantee(Rtemp != noreg, "constant offset overflow");
    1.34 +    if (is_simm13(roc.constant_or_zero()))
    1.35 +      return roc;               // register or short constant
    1.36 +    set(roc.as_constant(), Rtemp);
    1.37 +    return RegisterOrConstant(Rtemp);
    1.38    }
    1.39  
    1.40    // --------------------------------------------------

mercurial