提交 dc0c0c0c 编写于 作者: Z zmajo

8071818: Incorrect addressing mode used for ldf in SPARC assembler

Summary: Update MacroAssembler::ldf to select addressing mode depending on Address parameter.
Reviewed-by: kvn, dlong
上级 e8438252
......@@ -630,7 +630,12 @@ inline void MacroAssembler::ldf(FloatRegisterImpl::Width w, Register s1, Registe
inline void MacroAssembler::ldf(FloatRegisterImpl::Width w, const Address& a, FloatRegister d, int offset) {
relocate(a.rspec(offset));
ldf(w, a.base(), a.disp() + offset, d);
if (a.has_index()) {
assert(offset == 0, "");
ldf(w, a.base(), a.index(), d);
} else {
ldf(w, a.base(), a.disp() + offset, d);
}
}
// returns if membar generates anything, obviously this code should mirror
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册