mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 07:13:20 +00:00
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:
parent
df659d83b3
commit
eacb0cf990
@ -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);
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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()) {
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user