Bug 1693490 - Remove zeroSimd128. r=lth

The zeroSimd128 is not used -- removing it.

Differential Revision: https://phabricator.services.mozilla.com/D144636
This commit is contained in:
Yury Delendik 2022-04-27 13:29:40 +00:00
parent df659d83b3
commit eacb0cf990
5 changed files with 4 additions and 19 deletions

View File

@ -2161,8 +2161,6 @@ class MacroAssembler : public MacroAssemblerSpecific {
// Constants
inline void zeroSimd128(FloatRegister dest) DEFINED_ON(x86_shared, arm64);
inline void loadConstantSimd128(const SimdConstant& v, FloatRegister dest)
DEFINED_ON(x86_shared, arm64);

View File

@ -2209,12 +2209,6 @@ void MacroAssembler::moveSimd128(FloatRegister src, FloatRegister dest) {
}
}
void MacroAssembler::zeroSimd128(FloatRegister dest) {
// Unclear what the best code is here, xor is just what we do on x86.
// Alternatives would be `FMOV dest.4s, #0` and `FMOV dest, xzr`.
Eor(Simd16B(dest), Simd16B(dest), Simd16B(dest));
}
void MacroAssembler::loadConstantSimd128(const SimdConstant& v,
FloatRegister dest) {
// Movi does not yet generate good code for many cases, bug 1664397.

View File

@ -25,7 +25,7 @@ void MacroAssemblerX86Shared::splatX16(Register input, FloatRegister output) {
vbroadcastb(Operand(output), output);
return;
}
zeroSimd128Int(scratch);
vpxor(scratch, scratch, scratch);
vpshufb(scratch, output, output);
}

View File

@ -1228,7 +1228,7 @@ void MacroAssembler::memoryBarrier(MemoryBarrierBits barrier) {
//
// For the time being, we always choose the integer interpretation when we are
// forced to choose blind, but whether that is right or wrong depends on the
// application. This applies to moveSimd128, zeroSimd128, loadConstantSimd128,
// application. This applies to moveSimd128, loadConstantSimd128,
// loadUnalignedSimd128, and storeUnalignedSimd128, at least.
//
// SSE4.1 or better is assumed.
@ -1243,10 +1243,6 @@ void MacroAssembler::moveSimd128(FloatRegister src, FloatRegister dest) {
// Constants. See comments above regarding integer operation.
void MacroAssembler::zeroSimd128(FloatRegister dest) {
MacroAssemblerX86Shared::zeroSimd128Int(dest);
}
void MacroAssembler::loadConstantSimd128(const SimdConstant& v,
FloatRegister dest) {
if (v.isFloatingType()) {

View File

@ -562,9 +562,6 @@ class MacroAssemblerX86Shared : public Assembler {
// SIMD inline methods private to the implementation, that appear to be used.
void zeroSimd128Float(FloatRegister dest) { vxorps(dest, dest, dest); }
void zeroSimd128Int(FloatRegister dest) { vpxor(dest, dest, dest); }
template <class T, class Reg>
inline void loadScalar(const Operand& src, Reg dest);
template <class T, class Reg>
@ -832,7 +829,7 @@ class MacroAssemblerX86Shared : public Assembler {
bool maybeInlineSimd128Int(const SimdConstant& v, const FloatRegister& dest) {
if (v.isZeroBits()) {
zeroSimd128Int(dest);
vpxor(dest, dest, dest);
return true;
}
if (v.isOneBits()) {
@ -844,7 +841,7 @@ class MacroAssemblerX86Shared : public Assembler {
bool maybeInlineSimd128Float(const SimdConstant& v,
const FloatRegister& dest) {
if (v.isZeroBits()) {
zeroSimd128Float(dest);
vxorps(dest, dest, dest);
return true;
}
return false;