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

Unified Diff: src/compiler/wasm-compiler.cc

Issue 1803453003: [wasm] Int64Lowering of Word64Popcnt. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@arm-shr
Patch Set: Created 4 years, 9 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/wasm-compiler.cc
diff --git a/src/compiler/wasm-compiler.cc b/src/compiler/wasm-compiler.cc
index 5742a08c1de4859bed32eb0bd1bacabc312d14b8..14d504dcb0dcb531f02901a5aa79de8078bce0d1 100644
--- a/src/compiler/wasm-compiler.cc
+++ b/src/compiler/wasm-compiler.cc
@@ -864,6 +864,16 @@ Node* WasmGraphBuilder::Unop(wasm::WasmOpcode opcode, Node* input) {
// kExprI64Clz:
// kExprI64Ctz:
// kExprI64Popcnt:
+ case wasm::kExprI64Popcnt: {
+ if (m->Word64Popcnt().IsSupported()) {
+ op = m->Word64Popcnt().op();
+ } else if (m->Is32() && m->Word32Popcnt().IsSupported()) {
+ op = m->Word64PopcntPlaceholder();
+ } else {
+ return BuildI64Popcnt(input);
+ }
+ break;
+ }
// kExprF32SConvertI64:
case wasm::kExprF32SConvertI64:
if (m->Is32()) {
@@ -956,14 +966,6 @@ Node* WasmGraphBuilder::Unop(wasm::WasmOpcode opcode, Node* input) {
return BuildI64Ctz(input);
}
}
- case wasm::kExprI64Popcnt: {
- if (m->Word64Popcnt().IsSupported()) {
- op = m->Word64Popcnt().op();
- break;
- } else {
- return BuildI64Popcnt(input);
- }
- }
#endif
default:
op = UnsupportedOpcode(opcode);

Powered by Google App Engine
This is Rietveld 408576698