Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: src/compiler/machine-operator-reducer.cc

Issue 2122853002: Implement UnaligedLoad and UnaligedStore turbofan operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/machine-operator-reducer.cc
diff --git a/src/compiler/machine-operator-reducer.cc b/src/compiler/machine-operator-reducer.cc
index a93713824dc2bf387aefc22f1eaaebffeff1b080..2fa47ef12dfe21cc4e7495c8f4e7175d818dcdf8 100644
--- a/src/compiler/machine-operator-reducer.cc
+++ b/src/compiler/machine-operator-reducer.cc
@@ -568,6 +568,7 @@ Reduction MachineOperatorReducer::Reduce(Node* node) {
case IrOpcode::kFloat64InsertHighWord32:
return ReduceFloat64InsertHighWord32(node);
case IrOpcode::kStore:
+ case IrOpcode::kUnalignedStore:
case IrOpcode::kCheckedStore:
return ReduceStore(node);
case IrOpcode::kFloat64Equal:
@@ -782,9 +783,13 @@ Reduction MachineOperatorReducer::ReduceStore(Node* node) {
if (nm.IsCheckedStore()) {
rep = CheckedStoreRepresentationOf(node->op());
value_input = 3;
- } else {
+ } else if (nm.IsStore()) {
rep = StoreRepresentationOf(node->op()).representation();
value_input = 2;
+ } else {
+ DCHECK(nm.IsUnalignedStore());
+ rep = UnalignedStoreRepresentationOf(node->op());
+ value_input = 2;
}
Node* const value = node->InputAt(value_input);

Powered by Google App Engine
This is Rietveld 408576698