8071818: Incorrect addressing mode used for ldf in SPARC assembler
Update MacroAssembler::ldf to select addressing mode depending on Address parameter. Reviewed-by: kvn, dlong
This commit is contained in:
parent
efd80ec6af
commit
883d349e17
@ -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) {
|
inline void MacroAssembler::ldf(FloatRegisterImpl::Width w, const Address& a, FloatRegister d, int offset) {
|
||||||
relocate(a.rspec(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
|
// returns if membar generates anything, obviously this code should mirror
|
||||||
|
Loading…
Reference in New Issue
Block a user