v8/test/mjsunit/regress/wasm
Andreas Haas 5f1661aad7 [turbofan] For Word32Shl optimizations only consider the last 5 bits of the shift
One optimization in the machine-operator-reducer did not consider that
that word32 shift left instructions only consider the last 5 bits of
the shift input.

The issue only occurs for WebAssembly because in JavaScript we always
add a "& 0xf" on the shift value to the TurboFan graph.

For additional background: The JavaScript and WebAssembly spec both
say that only the last 5 bits of the shift value are used in the
word32-shift-left operation. This means that an "x << 0x29", in the
code is actually executed as "x << 0x09". Therefore the changes in
this CL are okay because they mask the last 5 bit of the shift value.

BUG=chromium:689450

Change-Id: Id92f298ed6d7f1714b109b3f4fbcecd5ac6d30f7
Reviewed-on: https://chromium-review.googlesource.com/439312
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43245}
2017-02-16 12:09:32 +00:00
..
loop-stack-check.js
regress-5860.js [wasm] Do not patch memory references in imported functions. 2017-01-24 09:43:57 +00:00
regression-5531.js [wasm] Remove non-standard kExprI8Const bytecode 2017-01-09 13:57:26 +00:00
regression-5800.js [wasm] Fix codegen issue for i64.add and i64.sub on ia32 2017-01-19 01:16:19 +00:00
regression-5884.js [wasm] Do the default int64-lowering for all non-i64 stores. 2017-01-26 09:38:13 +00:00
regression-02256.js [tests] Cleanup tests that use assertOptimized()/assertUnoptimized(). 2017-01-26 17:39:09 +00:00
regression-02256b.js [tests] Cleanup tests that use assertOptimized()/assertUnoptimized(). 2017-01-26 17:39:09 +00:00
regression-02862.js
regression-643595.js [wasm] disable serialization for asm-wasm 2016-12-15 05:06:54 +00:00
regression-644682.js
regression-647649.js
regression-648079.js
regression-651961.js [wasm] Linear/Exported memory maximum property should be set when maximum is defined. 2016-11-08 09:55:27 +00:00
regression-654377.js
regression-663994.js [wasm] The exports property of a wasm instance should always exist 2017-01-10 09:55:10 +00:00
regression-666741.js [wasm] Throw a RangeError if Wasm memory could not be allocated. 2016-11-21 21:58:53 +00:00
regression-667745.js [wasm] Some simplifications in function-body-decoder.cc. 2017-01-18 18:59:58 +00:00
regression-670683.js [wasm] Update WasmMemoryObject correctly when module memory is exported. 2016-12-08 20:30:54 +00:00
regression-674447.js [serializer] do not serialize script wrappers. 2016-12-19 10:53:02 +00:00
regression-680938.js [wasm] WebAssembly.Memory.grow() should handle the no instance case 2017-01-18 04:45:07 +00:00
regression-684858.js [wasm] Fix check failure on invalid name section 2017-01-25 11:37:48 +00:00
regression-688876.js [x64] Consider both operands when emitting the REX prefix for testb. 2017-02-08 10:27:45 +00:00
regression-689450.js [turbofan] For Word32Shl optimizations only consider the last 5 bits of the shift 2017-02-16 12:09:32 +00:00