|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
129b531c |
| 19-Jun-2022 |
Kazu Hirata <[email protected]> |
[llvm] Use value_or instead of getValueOr (NFC)
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
91fad116 |
| 16-Mar-2022 |
Simon Moll <[email protected]> |
[VE] v512|256 f32|64 fneg isel and tests
fneg instruction isel and tests. We do this also in preparation of fused negatate-multiple-add fp operations.
Reviewed By: kaz7
Differential Revision: http
[VE] v512|256 f32|64 fneg isel and tests
fneg instruction isel and tests. We do this also in preparation of fused negatate-multiple-add fp operations.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D121620
show more ...
|
| #
6ac3d8ef |
| 15-Mar-2022 |
Simon Moll <[email protected]> |
[VE] strided v256.23 isel and tests
ISel for experimental.vp.strided.load|store for v256.32 types via lowering to vvp_load|store SDNodes.
Reviewed By: kaz7
Differential Revision: https://reviews.l
[VE] strided v256.23 isel and tests
ISel for experimental.vp.strided.load|store for v256.32 types via lowering to vvp_load|store SDNodes.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D121616
show more ...
|
|
Revision tags: llvmorg-14.0.0 |
|
| #
f318d1e2 |
| 14-Mar-2022 |
Simon Moll <[email protected]> |
[VE] v256i32|64 reduction isel and tests
and|add|or|xor|smax v256i32|64 isel and tests for vp and vector.reduce intrinsics
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D121469
|
| #
a5f12623 |
| 14-Mar-2022 |
Simon Moll <[email protected]> |
[VE] v256.32|64 gather|scatter isel and tests
This adds support for v256.32|64 scatter|gather isel. vp.gather|scatter and regular gather|scatter intrinsics are both lowered to the internal VVP laye
[VE] v256.32|64 gather|scatter isel and tests
This adds support for v256.32|64 scatter|gather isel. vp.gather|scatter and regular gather|scatter intrinsics are both lowered to the internal VVP layer. Splitting these ops on v512.32 is the subject of future patches.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D121288
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
c574c54e |
| 07-Mar-2022 |
Simon Moll <[email protected]> |
[VE] Split v512.32 load store into interleaved v256.32 ops
Without passthru for now. Support for packed passthru requires evl-into-mask folding.
Reviewed By: kaz7
Differential Revision: https://re
[VE] Split v512.32 load store into interleaved v256.32 ops
Without passthru for now. Support for packed passthru requires evl-into-mask folding.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D120818
show more ...
|
| #
9ebaec46 |
| 02-Mar-2022 |
Simon Moll <[email protected]> |
[VE] (masked) load|store v256.32|64 isel
Add `vvp_load|store` nodes. Lower to `vld`, `vst` where possible. Use `vgt` for masked loads for now.
Reviewed By: kaz7
Differential Revision: https://revi
[VE] (masked) load|store v256.32|64 isel
Add `vvp_load|store` nodes. Lower to `vld`, `vst` where possible. Use `vgt` for masked loads for now.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D120413
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
4fd77129 |
| 22-Feb-2022 |
Simon Moll <[email protected]> |
[VE] Split unsupported v512.32 ops
Split v512.32 binary ops into two v256.32 ops using packing support opcodes (vec_unpack_lo|hi, vec_pack).
Depends on D120053 for packing opcodes.
Reviewed By: ka
[VE] Split unsupported v512.32 ops
Split v512.32 binary ops into two v256.32 ops using packing support opcodes (vec_unpack_lo|hi, vec_pack).
Depends on D120053 for packing opcodes.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D120146
show more ...
|
| #
cf964eb5 |
| 21-Feb-2022 |
Simon Moll <[email protected]> |
[VE] v512i1 mask arithmetic isel
Packed vector and mask registers (v512) are composed of two v256 subregisters that occupy the even and odd element positions. We add packing support SDNodes (vec_un
[VE] v512i1 mask arithmetic isel
Packed vector and mask registers (v512) are composed of two v256 subregisters that occupy the even and odd element positions. We add packing support SDNodes (vec_unpack_lo|hi and vec_pack) and splitting of v512i1 mask arithmetic ops with those.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D120053
show more ...
|
| #
53efbc15 |
| 15-Feb-2022 |
Simon Moll <[email protected]> |
[VE] v256i1 broadcast isel and tests
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D119241
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
7d926b71 |
| 02-Feb-2022 |
Simon Moll <[email protected]> |
[VE] LEGALAVL and staged VVP legalization
The new LEGALAVL node annotates that the AVL refers to packs of 64bit. We use a two-stage lowering approach with LEGALAVL:
First, standard SDNodes are tran
[VE] LEGALAVL and staged VVP legalization
The new LEGALAVL node annotates that the AVL refers to packs of 64bit. We use a two-stage lowering approach with LEGALAVL:
First, standard SDNodes are translated into illegal VVP layer nodes. Regardless of source (VP or standard), all VVP nodes have a mask and AVL parameter. The AVL parameter refers to the element position (just as in VP intrinsics).
Second, we legalize the AVL usage in VVP layer nodes. If the element size is < 64bit, the EVL parameter has to be adjusted to refer to packs of 64bits. We wrap the legalized AVL in a LEGALAVL node to track this.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D118321
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
5ceb0bc7 |
| 26-Jan-2022 |
Simon Moll <[email protected]> |
[VE] Packed 32/64bit broadcast isel and tests
Packed-mode broadcast of f32/i32 requires the subregister to be replicated to the full I64 register prior. Add repl_i32 and repl_f32 to faciliate this.
[VE] Packed 32/64bit broadcast isel and tests
Packed-mode broadcast of f32/i32 requires the subregister to be replicated to the full I64 register prior. Add repl_i32 and repl_f32 to faciliate this.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D117878
show more ...
|
| #
7950010e |
| 21-Jan-2022 |
Simon Moll <[email protected]> |
[VE][NFC] Factor out helper functions
Factor out some helper functions to cleanup VEISelLowering.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D117683
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
1b09d0c4 |
| 18-Jan-2022 |
Simon Moll <[email protected]> |
[VE] VECustomDAG builder class
VECustomDAG's functions simplify emitting VE custom ISD nodes. The class is just a stub now. We add more functions, in particular for the VP->VVP->VE lowering, to VECu
[VE] VECustomDAG builder class
VECustomDAG's functions simplify emitting VE custom ISD nodes. The class is just a stub now. We add more functions, in particular for the VP->VVP->VE lowering, to VECustomDAG as we build up vector isel.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D116103
show more ...
|