src/cpu/sparc/vm/assembler_sparc.inline.hpp

changeset 2350
2f644f85485d
parent 2314
f95d63e2154a
child 2441
c17b998c5926
     1.1 --- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Thu Dec 02 17:21:12 2010 -0800
     1.2 +++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Fri Dec 03 01:34:31 2010 -0800
     1.3 @@ -328,6 +328,11 @@
     1.4  inline void Assembler::stdcq(  int crd, Register s1, Register s2) { v8_only();  emit_long( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | rs2(s2) ); }
     1.5  inline void Assembler::stdcq(  int crd, Register s1, int simm13a) { v8_only();  emit_data( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
     1.6  
     1.7 +inline void Assembler::sub(Register s1, RegisterOrConstant s2, Register d, int offset) {
     1.8 +  if (s2.is_register())  sub(s1, s2.as_register(),          d);
     1.9 +  else                 { sub(s1, s2.as_constant() + offset, d); offset = 0; }
    1.10 +  if (offset != 0)       sub(d,  offset,                    d);
    1.11 +}
    1.12  
    1.13  // pp 231
    1.14  

mercurial