From 45d88e3ef5f895b2fde77e3588f84d66e67bdd88 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 2 Oct 2017 11:12:50 -0700 Subject: fix optimize-instructions handling of shifts by a zero or of a zero when combining added constants (#1206) --- test/passes/optimize-instructions.txt | 22 ++++++++++++++++++++++ test/passes/optimize-instructions.wast | 28 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) (limited to 'test') diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt index aae0724a0..68599ceb7 100644 --- a/test/passes/optimize-instructions.txt +++ b/test/passes/optimize-instructions.txt @@ -2157,4 +2157,26 @@ (i64.const 255) ) ) + (func $optimizeAddedConstants-filters-through-nonzero (type $2) (result i32) + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap/i64 + (i64.const 0) + ) + ) + (i32.const -31744) + ) + ) + (func $optimizeAddedConstants-filters-through-nonzero-b (type $2) (result i32) + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap/i64 + (i64.const -1) + ) + ) + (i32.const -31744) + ) + ) ) diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast index f84be8330..a4478b755 100644 --- a/test/passes/optimize-instructions.wast +++ b/test/passes/optimize-instructions.wast @@ -2587,4 +2587,32 @@ (i64.const 255) ) ) + (func $optimizeAddedConstants-filters-through-nonzero (result i32) + (i32.sub + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap/i64 + (i64.const 0) + ) + ) + (i32.const -32768) + ) + (i32.const -1024) + ) + ) + (func $optimizeAddedConstants-filters-through-nonzero-b (result i32) + (i32.sub + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap/i64 + (i64.const -1) + ) + ) + (i32.const -32768) + ) + (i32.const -1024) + ) + ) ) -- cgit v1.2.3