8264564: AArch64: use MOVI instead of FMOV to zero FP register
Reviewed-by: aph
This commit is contained in:
parent
dc608fd0f3
commit
43d4a6f615
@ -2184,13 +2184,13 @@ public:
|
|||||||
if (value)
|
if (value)
|
||||||
fmov_imm(Vn, value, 0b00);
|
fmov_imm(Vn, value, 0b00);
|
||||||
else
|
else
|
||||||
fmovs(Vn, zr);
|
movi(Vn, T2S, 0);
|
||||||
}
|
}
|
||||||
void fmovd(FloatRegister Vn, double value) {
|
void fmovd(FloatRegister Vn, double value) {
|
||||||
if (value)
|
if (value)
|
||||||
fmov_imm(Vn, value, 0b01);
|
fmov_imm(Vn, value, 0b01);
|
||||||
else
|
else
|
||||||
fmovd(Vn, zr);
|
movi(Vn, T1D, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Floating-point rounding
|
// Floating-point rounding
|
||||||
|
@ -5153,7 +5153,7 @@ address MacroAssembler::byte_array_inflate(Register src, Register dst, Register
|
|||||||
|
|
||||||
assert_different_registers(src, dst, len, tmp4, rscratch1);
|
assert_different_registers(src, dst, len, tmp4, rscratch1);
|
||||||
|
|
||||||
fmovd(vtmp1, zr);
|
fmovd(vtmp1, 0.0);
|
||||||
lsrw(tmp4, len, 3);
|
lsrw(tmp4, len, 3);
|
||||||
bind(after_init);
|
bind(after_init);
|
||||||
cbnzw(tmp4, big);
|
cbnzw(tmp4, big);
|
||||||
|
@ -261,7 +261,7 @@ void TemplateTable::fconst(int value)
|
|||||||
transition(vtos, ftos);
|
transition(vtos, ftos);
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 0:
|
case 0:
|
||||||
__ fmovs(v0, zr);
|
__ fmovs(v0, 0.0);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
__ fmovs(v0, 1.0);
|
__ fmovs(v0, 1.0);
|
||||||
@ -280,7 +280,7 @@ void TemplateTable::dconst(int value)
|
|||||||
transition(vtos, dtos);
|
transition(vtos, dtos);
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 0:
|
case 0:
|
||||||
__ fmovd(v0, zr);
|
__ fmovd(v0, 0.0);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
__ fmovd(v0, 1.0);
|
__ fmovd(v0, 1.0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user