Mercurial > hg > truffle
diff src/cpu/sparc/vm/assembler_sparc.inline.hpp @ 2029:6ce496c8fc07
Merge
author | coleenp |
---|---|
date | Thu, 16 Dec 2010 09:31:55 -0500 |
parents | 2f644f85485d |
children | c17b998c5926 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp Wed Dec 15 08:03:54 2010 -0800 +++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp Thu Dec 16 09:31:55 2010 -0500 @@ -328,6 +328,11 @@ 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) ); } 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)); } +inline void Assembler::sub(Register s1, RegisterOrConstant s2, Register d, int offset) { + if (s2.is_register()) sub(s1, s2.as_register(), d); + else { sub(s1, s2.as_constant() + offset, d); offset = 0; } + if (offset != 0) sub(d, offset, d); +} // pp 231