[webkit-changes] [WebKit/WebKit] 34f0ba: Improve VectorShuffle on arm
Justin Michaud
noreply at github.com
Wed Jan 25 14:51:15 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 34f0ba48fd68b5467f5b0d5c2f09a14f8d5834fa
https://github.com/WebKit/WebKit/commit/34f0ba48fd68b5467f5b0d5c2f09a14f8d5834fa
Author: Justin Michaud <justin at justinmichaud.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
M Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
M Source/JavaScriptCore/b3/B3LowerMacros.cpp
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/B3Opcode.cpp
M Source/JavaScriptCore/b3/B3Opcode.h
M Source/JavaScriptCore/b3/B3SIMDValue.h
M Source/JavaScriptCore/b3/B3Validate.cpp
M Source/JavaScriptCore/b3/B3Value.cpp
M Source/JavaScriptCore/b3/B3Value.h
M Source/JavaScriptCore/b3/B3ValueInlines.h
M Source/JavaScriptCore/b3/air/AirLowerMacros.cpp
M Source/JavaScriptCore/b3/air/AirOpcode.opcodes
M Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp
M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
Log Message:
-----------
Improve VectorShuffle on arm
https://bugs.webkit.org/show_bug.cgi?id=251172
rdar://104661654
Reviewed by Yusuke Suzuki.
VectorShuffle is very hot in tfjs, so let's make it lower directly to
tbl like other engines do.
Also fix up some intel redundancy.
This is a 2x speedup on tfjs on arm.
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::vectorSwizzle2):
(JSC::MacroAssemblerARM64::vectorShuffle): Deleted.
* Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:
* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::vectorShuffle): Deleted.
* Source/JavaScriptCore/b3/B3LowerMacros.cpp:
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3Opcode.cpp:
(WTF::printInternal):
* Source/JavaScriptCore/b3/B3Opcode.h:
* Source/JavaScriptCore/b3/B3SIMDValue.h:
* Source/JavaScriptCore/b3/B3Validate.cpp:
* Source/JavaScriptCore/b3/B3Value.cpp:
(JSC::B3::Value::effects const):
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/b3/B3ValueInlines.h:
* Source/JavaScriptCore/b3/air/AirLowerMacros.cpp:
(JSC::B3::Air::lowerMacros):
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp:
(JSC::Wasm::AirIRGenerator64::fixupOutOfBoundsIndicesForSwizzle):
(JSC::Wasm::AirIRGenerator64::addSIMDV_VV):
(JSC::Wasm::AirIRGenerator64::addSIMDShuffle):
(JSC::Wasm::AirIRGenerator64::addSIMDSwizzleHelperX86): Deleted.
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::fixupOutOfBoundsIndicesForSwizzle):
(JSC::Wasm::B3IRGenerator::addSIMDV_VV):
(JSC::Wasm::B3IRGenerator::addSIMDShuffle):
Canonical link: https://commits.webkit.org/259388@main
More information about the webkit-changes
mailing list