v8/test/mjsunit/regress/wasm
Clemens Backes b429b8f924 [liftoff] Handle unordered register pairs
For 64-bit binary operations, Liftoff on arm made the assumption that
register pairs are always ordered, i.e. the register code for the low
word is lower than the register code for the high word.
Ensuring this was only implemented in {GetUnusedRegister} in
https://crrev.com/c/2168875. Other cases were missing though, e.g.
return values, but also different places were we
construct register pairs internally.

Thus, this CL removes this constraint again and instead handles
unordered register pairs in 64-bit binary operations on arm.

R=thibaudm@chromium.org

Bug: chromium:1101304
Change-Id: I4cd9fb1577f82ab06d34c9dde6533cf04a2cade7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287870
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68752}
2020-07-09 11:05:08 +00:00
..
loop-stack-check.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-5531.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-5800.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-5860.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-5884.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-6054.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-6164.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-6931.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7033.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7035.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7353.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7364.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7366.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7422.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7499.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7508.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7565.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7579.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-7582.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-7785.js [wasm] Remove immediate of ref.is_null 2020-06-23 14:32:13 +00:00
regress-7914.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-8059.js Remove "--wasm-disable-structured-cloning" flag 2020-01-22 22:24:19 +00:00
regress-8094.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-8095.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-8505.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-8533.js Remove "--wasm-disable-structured-cloning" flag 2020-01-22 22:24:19 +00:00
regress-8846.js [wasm] Fix section order checking in {StreamingDecoder}. 2019-02-19 16:57:23 +00:00
regress-8896.js [wasm] Support runtime functions in (de)serializer. 2019-02-27 11:32:42 +00:00
regress-9017.js Touch guard pages when allocating stack frames 2019-05-02 17:46:18 +00:00
regress-9425.js [wasm][threads] Fix alignment of i64.atomic.wait 2019-07-11 18:18:36 +00:00
regress-9447.js [wasm] Fix importing of re-exported JavaScript callable. 2019-07-11 09:12:54 +00:00
regress-9759.js [wasm] Adjust flags after changed implications 2020-01-09 16:55:42 +00:00
regress-02256.js Revert "[flags] warn about contradictory flags" 2020-06-04 10:20:05 +00:00
regress-02256b.js Revert "[flags] warn about contradictory flags" 2020-06-04 10:20:05 +00:00
regress-02862.js Revert "[flags] warn about contradictory flags" 2020-06-04 10:20:05 +00:00
regress-10126-streaming.js Reland "[wasm] The name of a custom section can cause a validation error" 2020-02-25 15:38:27 +00:00
regress-10126.js Reland "[wasm] The name of a custom section can cause a validation error" 2020-02-25 15:38:27 +00:00
regress-10309.js [wasm-simd] Update SIMD opcode numbers as per the Spec change 2020-05-01 18:05:46 +00:00
regress-643595.js
regress-644682.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-647649.js
regress-648079.js [wasm-simd] Implement memory tracing for kSimd128 data types 2019-10-11 20:45:21 +00:00
regress-651961.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-654377.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-663994.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-666741.js Revert "[flags] warn about contradictory flags" 2020-06-04 10:20:05 +00:00
regress-667745.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-670683.js
regress-674447.js
regress-680938.js [wasm] fix js-api Memory and Table constructor 2018-12-10 23:32:05 +00:00
regress-684858.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-688876.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-689450.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-694433.js
regress-698587.js
regress-699485.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-702460.js [wasm-simd] Implement memory tracing for kSimd128 data types 2019-10-11 20:45:21 +00:00
regress-702839.js
regress-703568.js
regress-708714.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-709684.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-710844.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-711203.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-712569.js Ignore unhandled promises in one more test 2020-06-24 08:01:38 +00:00
regress-717056.js
regress-717194.js
regress-722445.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-724846.js [wasm] Bring memory limits up to spec 2020-02-24 11:00:16 +00:00
regress-724851.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-724972.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-727219.js
regress-727222.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-727560.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-729991.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-731351.js
regress-734108.js [wasm][test] Remove default --wasm-async-compilation flag 2018-11-09 17:29:17 +00:00
regress-734246.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-734345.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-736584.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-737069.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-739768.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-752423.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-753496.js
regress-757217.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-763439.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-763697.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-769637.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-769846.js
regress-775366.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-775710.js
regress-776677.js Reland "[asmjs] Properly validate asm.js heap sizes" 2018-08-21 09:00:04 +00:00
regress-782280.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-784050.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-791810.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-793551.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-797846.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-799952.js
regress-800756.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-801785.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-801850.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-802244.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-803427.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-803788.js [wasm] Allow multi-table initialization in the wasm-module-builder 2019-03-13 10:39:41 +00:00
regress-808012.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-808848.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-808980.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-810973.js [wasm] Nerf regression test size 2018-09-13 12:46:20 +00:00
regress-810973b.js [wasm] Nerf regression test size 2018-09-13 12:46:20 +00:00
regress-812005.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-816226.js [wasm] fix js-api Memory and Table constructor 2018-12-10 23:32:05 +00:00
regress-817380.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-819869.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-820802.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-824681.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
regress-825087a.js [wasm] fix js-api memory/grow 2019-01-22 19:03:05 +00:00
regress-825087b.js [wasm] fix js-api memory/grow 2019-01-22 19:03:05 +00:00
regress-827806.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-834619.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-834693.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-836141.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-837417.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-840757.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-842501.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-843563.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-853453.js
regress-854011.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-854050.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-864509.js [wasm] Adjust flags after changed implications 2020-01-09 16:55:42 +00:00
regress-873600.js Reland "[asmjs] Properly validate asm.js heap sizes" 2018-08-21 09:00:04 +00:00
regress-875556.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-894307.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-894374.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-898932.js [wasm] Fix memory limit checks 2018-10-30 13:44:48 +00:00
regress-905815.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-910824.js [wasm] Rename {Get,Set}Global to Global{Get,Set} 2019-10-08 14:27:50 +00:00
regress-913804.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-916869.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-917412.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-917588.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-917588b.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-918149.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-918284.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-918917.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-919308.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-919533.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-922432.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-922670.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-922933.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-924843.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-924905.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-925671.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
regress-935138.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-940296.js [wasm] Fix insufficient bounds check in WebAssembly.get 2019-03-12 11:29:02 +00:00
regress-946350.js [wasm] Fix missing GC visit of instance elements 2019-03-27 13:04:26 +00:00
regress-948228.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
regress-952342.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-956771.js [wasm] Fix Wasm Lazy Compilation 2019-04-30 13:05:20 +00:00
regress-956771b.js [wasm] Fix Streaming API Error Messages 2019-05-03 13:39:03 +00:00
regress-957405.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-961129.js [wasm][gc] Fix NativeModule::GetCode for nonexisting code 2019-05-10 09:40:23 +00:00
regress-964607.js [wasm] Rename anyref to externref, anyref flag/feature to reftypes 2020-06-09 17:51:04 +00:00
regress-968078.js [wasm] Rename {Get,Set,Tee}Local to Local{Get,Set,Tee} 2019-10-08 14:14:40 +00:00
regress-980007.js [ubsan] Fix integer overflow in compiler 2019-07-01 14:34:45 +00:00
regress-985154.js [asm.js] Propagate language mode to exported functions. 2019-07-19 11:47:48 +00:00
regress-1010272.js Reland "[wasm] Fix incorrect check for growing shared WebAssembly.memory" 2019-10-28 19:07:41 +00:00
regress-1014798.js [Liftoff] Fix stack slot initialization on arm and arm64 2019-10-16 14:07:36 +00:00
regress-1016515.js [wasm] Initialize new jump table correct for lazy compilation 2019-10-22 12:44:22 +00:00
regress-1026680.js [liftoff] Add a regression test for msan failures 2019-11-22 22:21:49 +00:00
regress-1027410.js [liftoff] Add regression test for asan dcheck failure 2019-12-02 09:40:23 +00:00
regress-1029642.js [regalloc] Missing FP register conflict check 2019-12-11 11:40:00 +00:00
regress-1030103.js [wasm] Fix logging for imports with names 2019-12-04 12:21:42 +00:00
regress-1032753.js Add --perf-prof-delete-file flag 2020-01-14 15:41:47 +00:00
regress-1033948.js [wasm] Leave Global constructor on error 2020-01-09 17:51:12 +00:00
regress-1045225.js [Liftoff] Clean up implementation of AtomicStore 2020-01-31 08:54:44 +00:00
regress-1045737.js [wasm][liftoff] Zero-extend result of atomic.add 2020-01-27 14:02:35 +00:00
regress-1046472.js [wasm] Fix bottom type handling in br-table 2020-06-03 15:46:47 +00:00
regress-1048241.js [liftoff][ia32] Fix AtomicStore register spilling 2020-02-04 09:39:54 +00:00
regress-1051912.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
regress-1054466.js [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
regress-1065599.js [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
regress-1065635.js [asm] Fix double literals without dots 2020-04-01 13:59:24 +00:00
regress-1065852.js [asm] Avoid instantiation as resumable function 2020-04-01 09:50:34 +00:00
regress-1067621.js [wasm] Fix return value of concurrent memory.grow 2020-04-14 21:37:32 +00:00
regress-1070078.js [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
regress-1073553.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
regress-1074586-b.js [wasm][liftoff][arm] Avoid double allocation of register is AtomicOp64 2020-04-28 15:08:42 +00:00
regress-1074586.js [wasm][liftoff] Order registers in a register pair 2020-04-29 13:56:21 +00:00
regress-1075953.js [wasm][liftoff][arm] Guarantee scratch register for spilling 2020-04-30 11:05:25 +00:00
regress-1079449.js [wasm][liftoff][arm] Fix register allocation in I64AtomicCompareExchange 2020-05-11 10:16:46 +00:00
regress-1080902.js [wasm] Add templatized methods for static bounds checks 2020-06-24 03:41:28 +00:00
regress-1081030.js [wasm-simd] Rename anytrue and alltrue to follow proposal 2020-05-21 19:03:52 +00:00
regress-1084151.js [liftoff][mv] Fix merge issue in multi-value loops 2020-05-19 15:43:50 +00:00
regress-1101304.js [liftoff] Handle unordered register pairs 2020-07-09 11:05:08 +00:00
regress-crbug-1002388.js [wasm] Fix WebAssembly.Table#get for constructed functions. 2019-09-12 09:40:55 +00:00
regress-crbug-1006631.js [wasm] Load call builtin in JS-to-JS wrappers. 2019-09-23 10:43:51 +00:00
regress-crbug-1057094.js [wasm] Fix memory limit check with custom flags 2020-03-03 16:17:24 +00:00
regress-ubsan.js [ubsan] Fix various ClusterFuzz-found issues 2019-03-07 00:09:20 +00:00