- 08 Jan, 2021 1 commit
-
-
Zhi An Ng authored
This is a reland of 94f2212b Nothing changed, think the failures were flaky. Original change's description: > [wasm-simd] Scalar lowering for extended multiply > > R=bbudge@chromium.org > > Bug: v8:11262 > Change-Id: Idd6a7514a16c561832af603dbf63779a0e402f45 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603771 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71920} Bug: v8:11262 Change-Id: I6c504b2e0d1ad39e202483a72419dadb3b66eea8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2612330Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71965}
-
- 06 Jan, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit 94f2212b. Reason for revert: Failures https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/29008? Original change's description: > [wasm-simd] Scalar lowering for extended multiply > > R=bbudge@chromium.org > > Bug: v8:11262 > Change-Id: Idd6a7514a16c561832af603dbf63779a0e402f45 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603771 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71920} TBR=bbudge@chromium.org,zhin@chromium.org Change-Id: Ic32ac37ee630c644c1f0605cfa3ca7842c52ce15 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11262 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2612544Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71922}
-
Zhi An Ng authored
R=bbudge@chromium.org Bug: v8:11262 Change-Id: Idd6a7514a16c561832af603dbf63779a0e402f45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603771Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71920}
-
- 01 Dec, 2020 1 commit
-
-
Zhi An Ng authored
We forgot to check if a load's input node (index) has any replacement. This led to weird cases like I32x4ExtractLane persisting even after scalar lowering is done, which is incorrect. This manifested in a crash, where we try to call pextrd with a general register operand. With this, we can run all currently checked in performance tests without crashing. Bug: chromium:1124885 Change-Id: Ide36ef94ab5f63446c725b9c2eb64be01e7fa6ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562817Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71510}
-
- 17 Nov, 2020 3 commits
-
-
John Xu authored
Bug: v8:10927 Change-Id: Icbdc0d7329ddd466e7d67a954246a35795b4dece Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507310 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71220}
-
Zhi An Ng authored
all_true, any_true, bitmask, and extract_lane all replace a simd type with single scalar, so we don't need to set nullptr for the extraneous lane, and can set num_lanes to 1. So for a call node with any of the above nodes as one of its value, we were incorrectly replacing the extract lane node with 4 nodes - it should only be 1 scalar node. Drive by fix for LowerShift, it needs to check if the shift value node has replacement (e.g. if it is an extract lane node). Also we weren't setting the lowered type of a kPhi node. This can be a problem if the output of a Phi node is used by a F32x4ExtractLane and I32x4ExtractLane, which is possible (and type correct since both take v128). This will require that the output be both a float and a int, which is impossible. So fix it to Int32x4, and the uses of the phi nodes will convert appropriately. Added a test for the call node. Also tested this code by running one of our benchmarks, which exercises the Phi logic. Bug: v8:10507 Change-Id: I01a76b349ba9d0e157b64e737bdb4c70f96aa954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2536952 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#71218}
-
Zhi An Ng authored
S128Select and S128AndNot relies on the inputs being lowered to I32x4, since they use Word32Xor, but it wasn't correctly specified. This means that by default, their lowered type was set to be the output's lowered type. If the result of these operations were used by F32x4ExtractLane, then their lowered type will be set to Float32x4, so the inputs will be lowered to Float32x4, and we get incorrect type of registers allocated. Bug: v8:10507 Change-Id: I16dc7f2dcdaf2188997ff345a6b0fd22e10b7b36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2536953Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71214}
-
- 13 Nov, 2020 1 commit
-
-
Zhi An Ng authored
The first operand of the select op isn't restricted to any particular replacement SimdType, since we can convert any type to Int32x4. Change-Id: I1821b2ebdc1a192518a2ecc0cb13951a98bb3337 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2534211Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71167}
-
- 10 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11038 Change-Id: Ia8b8c1c438d67ccfe5f27c452852c0f096062f56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2503877 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#71069}
-
- 19 Oct, 2020 1 commit
-
-
Ng Zhi An authored
LoadKind is not longer just for load, we use it for stores as well (starting with https://crrev.com/c/2473383). Rename it to something more generic. Bug: v8:10975,v8:10933 Change-Id: I5e5406ea475e06a83eb2eefe22d4824a99029944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2481822 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70626}
-
- 16 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Bug: v8:10993 Change-Id: I9b3cd1499cc9ebb93690e4940e9d94c5f445e315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477432Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70587}
-
- 15 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Rename AddSaturate and SubSaturate to the shorter version, AddSat and SubSat, following the spec. Bug: v8:10946,v8:10933 Change-Id: Idf74b3a1eb2e2f6d4e37d2b8e5fa6d96ea090db4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436615Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70549}
-
- 12 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Use a doubly-nested switch on SimdType for conversions, this ensures that we handle all possible cases (and we actually missed one, converting i64x2 -> f32x4, which is added in this patch.) Bug: v8:10507 Change-Id: I493becb2616c51d02d5868f235653baba5a0b4af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464144 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70453}
-
- 09 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Lowering for f32x4 and f64x2 pmin and pmax. Bug: v8:10501,v8:10507 Change-Id: I2d92d337835a62e6adb979ed573b616cc2b86c25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461453Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70434}
-
- 08 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Missed this earlier when it was merged into the proposal. f32x4 and f64x2 ceil, floor, trunc, nearestint. Also enable cctests. Bug: v8:10507,v8:10906 Change-Id: I2de00e615cd63d81303649774db2a2ab800f6f72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461451Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70415}
-
- 07 Oct, 2020 2 commits
-
-
Ng Zhi An authored
This fills out all possible combinations of SimdType conversions. The implementation is not the best, it uses existing conversions instead of creating new specific ones, but is sufficient, since we don't prioritize performance for lowering. I added if/else clauses to the existing implementation, so that the diff is easier to read. I will put up a follow-up to convert it into switch statements. Bug: chromium:1134898,v8:10507 Change-Id: I5fcb3597882b0ea3084fdc79eb1dab9b8629044b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2453462 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70393}
-
Ng Zhi An authored
Load transform nodes can be effect inputs, so we need to update the node in place. Otherwise, if a load transform node is both an value and an effect input, only the value input will be updated with replacements, the effect input will still be the unlowered load transform node. This is because DefaultLowering only lowers value inputs. This is consistent with normal loads in the scalar lowering, and also how int64 does it. Bug: v8:10984,v8:10507 Change-Id: I04b0f0b1cff95e39589de979ecae6cb4b085a3cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2453861Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70391}
-
- 01 Oct, 2020 1 commit
-
-
Ng Zhi An authored
Narrowing operations need to sign extend the result. E.g. for narrowing uint16 to uint8, we compare uint16 to uint8 max, 0xff. The final result should be 0xffffffff (sign extended) since we try to keep nodes in their sign extended form, to work well with the rest of the lowering operations. With this, we pass the last spec test (that is not ignored), simd_conversions. Bug: v8:10507 Change-Id: I8914fd69db9378b8244cba5dcacff98d36893649 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436613Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70272}
-
- 30 Sep, 2020 1 commit
-
-
Ng Zhi An authored
For replacing lanes (i8x16 and i16x8) the replacement value is stored in a word32. Simply storing it will cause us to have the wrong value, we need to mask (for overflow) and extend appropriately. Same for extracting, the values are stored in sign-extended form, unsigned extracts should zero the top bits. Bug: v8:10507 Change-Id: If5ed79f5b6bdb64f900a54b9e148b2d96a74f312 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436612Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70210}
-
- 29 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Perform the renames for all arch-dependent opcodes too. This is a follow-up of https://crrev.com/c/2422357. Bug: v8:10946,v8:10933 Change-Id: I02f048b64dd4d75f06d6b7919660ffebd0e78b50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2431798Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70206}
-
- 28 Sep, 2020 1 commit
-
-
Ng Zhi An authored
If return's input counts did not change, there is no need to change the node at all. Bug: chromium:1127620 Change-Id: I16d14a273d44b9fcd0b5a8af74b7a5a2eda569ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2434998 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70183}
-
- 25 Sep, 2020 3 commits
-
-
Ng Zhi An authored
64x2 nodes were already supported, we just didn't add the case for 64x2 load splat. Add that in and we pass simd_load_splat.js. Bug: v8:10507 Change-Id: If9145e1b3a4595f4707ca0fc3dcee466773c054f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2432074Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70149}
-
Ng Zhi An authored
i8 and i16 nodes are stored in word32 nodes, when splat-ing them, we need to make sure to handle overflow values and also sign extend them correctly. This fix allows us to pass simd-splat.js. It still fails on ARM (non-simulator) due to a use of f32x4.min in the test. Bug: v8:10507 Change-Id: I1507637a7edb33a530c84c85ee8d4acb481293e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2430170Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70146}
-
Adam Klein authored
These instructions were changed from "s8x16" to "i8x16" prefixes in https://github.com/WebAssembly/simd/pull/321. This CL updates all V8 code, including arch-specific code, to match. Bug: v8:10946, v8:10933 Change-Id: I26ef9ad77571f94501d42c1d65f57380fd507f3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2432068Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70143}
-
- 24 Sep, 2020 1 commit
-
-
Ng Zhi An authored
f32x4->16x8, 64x2->8x16, and 16x8->8x16. This allows us to pass more spec tests. Bug: v8:10507 Change-Id: I1810ce2d17f93529b2e69cf5c767cb7b480b4b49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2429807Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70128}
-
- 23 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Add lowering for F64x2 in S128Const and converting to and from f64x2. Bug: v8:10507 Change-Id: Ic2c4f1f41d3dd804e012a943391a46b534864b51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424679Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70097}
-
- 16 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Add lowering for I64x2 in S128Const and converting Int64x2 to Int32x2. Bug: v8:10507 Change-Id: I5bc40ae135fa00e31e901337b1a315f6ead14b02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410800Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69960}
-
- 15 Sep, 2020 1 commit
-
-
Milad Fa authored
kFloat32x4 needs to handle the endianness similar to kInt32x4. Change-Id: Iaab2d6785d56c06fd00654bff174900550db9e47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411628Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#69897}
-
- 14 Sep, 2020 3 commits
-
-
Milad Fa authored
As WASM is LE enforced, data is originally written to memory in LE order regardless of the machine type, therefore we need to read it back the same way. Bug: v8:10507 Change-Id: I72896eeeed177a22ca87e8c380f99dca795ddc4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410475 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69896}
-
Ng Zhi An authored
Small int nodes are stored in sign-extended form, for unsigned average, mask away the top bits before performing operation. Bug: v8:10507 Change-Id: I04d3be5758e6ee3fd946adca0943b2874910b4cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405751 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69892}
-
Ng Zhi An authored
all_true requires the input to be of the respective type, but the final result is always a Int32x4 with a single node. So keep the replacement type of all_true (and any_true) nodes to be Int32x4, and use a helper method to decide what SimdType the input should be replaced with. Also split up any_true and all_true for readability. Bug: v8:10507 Change-Id: I58ca50ffffcbca3ec77bbae1371ddd179925fc96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405803Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69890}
-
- 11 Sep, 2020 3 commits
-
-
Ng Zhi An authored
We need to construct Float32 nodes for f32x4, using Word32 operators will cause the wrong register to be allocated, triggering a CHECK failure. Bug: v8:10507 Change-Id: I70842f1d61b90fed2407ee52af4bc5a6b1b82ba6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399050Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69856}
-
Ng Zhi An authored
Fix lowering of functions that returns the result of an i8x16 or i16x8 operation. Bug: v8:10507 Change-Id: Ia3b29e69cff7771f85dc5160937cbaf2bbc12b55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399049 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69832}
-
Ng Zhi An authored
Since we are converting Int64x2 to Int32x4, we should be truncating the nodes, not sign-extending. Bug: v8:10507 Change-Id: I09dabdcaaa378842ffb4da5505199c188b5101f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404751Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69831}
-
- 10 Sep, 2020 2 commits
-
-
Ng Zhi An authored
Add a bunch of lowering for I64x2 operations. This allows us to enable most of the I64x2 tests in test-run-wasm-simd.cc. Most of these lowering are straightforward. The load splat and load extends need an additional operation to convert the loaded Word32 nodes to Word64. Bug: v8:10507 Change-Id: I6c948918c03904d2b6778223a95bb2e34b692a5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401954Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69827}
-
Milad Farazmand authored
Simd128ReverseBytes needs to handle inputs of type F64x2 and I64x2 when lowered. Bug: v8:10507 Change-Id: If4de5abd264f01d6515a83310e008d256ad57836 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401920Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69803}
-
- 08 Sep, 2020 2 commits
-
-
Ng Zhi An authored
Add in f64x2 opcodes to simd scalar lowering, this allows us to enable most of the f64x2 test cases with quite little changes - the significant change is to make sure the comparisons return a Int64 node. Bug: v8:10507 Change-Id: I8c8920d37c0cd0841dafcdb0310b6340b3c16189 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399051Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69757}
-
Ng Zhi An authored
v128.const was incorrectly always lowered to 4 word32 nodes, regardless of what the lowered type was set to be. In the test case, v128.const was consumed by i8x16.eq, so the lowered typed of v128.const node was set to SimdType::kInt8x16, but it was still lowered as a SimdType::kInt32x4, and then later crashes when lowering the comparisons. Bug: v8:10507 Change-Id: I24f16c94968cd8b6c7cd5d400d1a0046da3d47da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391919 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69755}
-
- 03 Sep, 2020 2 commits
-
-
Ng Zhi An authored
Some comparison ops are missing from the list, so an incorrect replacement type was set on those instructions. Bug: v8:10507 Change-Id: I1ebee298261a33863fe09e62e94336a792966a47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2393099Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69707}
-
Ng Zhi An authored
Functions with v128 in their signatures are always lowered to 4 word32. So if a return happens to be have an input that is a f32x4 operation, we get a register allocator error because it tries to fit a float into a general register. To fix that we need to do some checks when lowering kReturn, and for each input node, if we are returning a v128, and it is to be lowered into 4 f32 nodes, we bitcast the floats to ints. Bug: v8:10507 Change-Id: Iea2fdfc4057304ebf0898e6f7091124629c589f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391331 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69705}
-