Index: src/compiler/x64/instruction-selector-x64.cc |
diff --git a/src/compiler/x64/instruction-selector-x64.cc b/src/compiler/x64/instruction-selector-x64.cc |
index d89daf25306a89882a8c1c8a961f7509ceea3b10..ce7ce56616522b995dc51ce5ce3a1091556ad33c 100644 |
--- a/src/compiler/x64/instruction-selector-x64.cc |
+++ b/src/compiler/x64/instruction-selector-x64.cc |
@@ -353,6 +353,9 @@ void InstructionSelector::VisitWord32Sar(Node* node) { |
if (mleft.right().Is(16) && m.right().Is(16)) { |
Emit(kX64Movsxwl, g.DefineAsRegister(node), g.Use(mleft.left().node())); |
return; |
+ } else if (mleft.right().Is(24) && m.right().Is(24)) { |
+ Emit(kX64Movsxbl, g.DefineAsRegister(node), g.Use(mleft.left().node())); |
+ return; |
} |
} |
VisitWord32Shift(this, node, kX64Sar32); |