Chromium Code Reviews

Unified Diff: src/compiler/mips/instruction-selector-mips.cc

Issue 1928513002: Implement UnalignedLoad and UnalignedStore in WASM using LoadByte/Shift/Or and StoreByte/Shift/And. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase to master Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: src/compiler/mips/instruction-selector-mips.cc
diff --git a/src/compiler/mips/instruction-selector-mips.cc b/src/compiler/mips/instruction-selector-mips.cc
index eaa17af7a07c44f714007609b294671736e309b4..cec6777de47386653745169b470eab83acecd22b 100644
--- a/src/compiler/mips/instruction-selector-mips.cc
+++ b/src/compiler/mips/instruction-selector-mips.cc
@@ -1542,6 +1542,20 @@ InstructionSelector::SupportedMachineOperatorFlags() {
MachineOperatorBuilder::kFloat32RoundTiesEven;
}
+// static
+MachineOperatorBuilder::UnalignedAccessConfig
+InstructionSelector::UnalignedAccessConfiguration() {
+ if (IsMipsArchVariant(kMips32r6)) {
+ return MachineOperatorBuilder::UnalignedAccessConfig::
+ FullUnalignedAccessSupport();
+ } else {
+ DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) ||
+ IsMipsArchVariant(kMips32r2));
+ return MachineOperatorBuilder::UnalignedAccessConfig::
+ NoUnalignedAccessSupport();
+ }
+}
+
} // namespace compiler
} // namespace internal
} // namespace v8

Powered by Google App Engine