llvm-project/llvm/test/CodeGen/Hexagon/autohvx
Krzysztof Parzyszek 41a24b7b13 [Hexagon] Improve HVX instruction selection (bitcast, vsplat)
There was some unfortunate interaction between VSPLAT and BITCAST
related to the selection of constant vectors (coming from selecting
shuffles). Introduce VSPLATW that always splats a 32-bit word, and
can have arbitrary result type (to avoid BITCASTs of VSPLAT).
Clean up the previous selection of BITCAST/VSPLAT.

llvm-svn: 330471
2018-04-20 19:38:37 +00:00
..
align-64b.ll
align-128b.ll
align2-64b.ll [Hexagon] Generate valignb for shifting shuffles (instead of vdelta) 2018-03-02 22:22:19 +00:00
align2-128b.ll [Hexagon] Generate valignb for shifting shuffles (instead of vdelta) 2018-03-02 22:22:19 +00:00
arith.ll [Hexagon] Use V6_vmpyih for halfword multiplication 2018-02-05 15:40:06 +00:00
bswap.ll [Hexagon] Generate code for vector bswap intrinsics 2018-04-19 14:46:44 +00:00
build-vector-i32-type.ll [Hexagon] Allow construction of HVX vector predicates 2017-12-20 20:49:43 +00:00
concat-vectors-64b.ll [Hexagon] Handle concat_vectors of all allowed HVX types 2017-12-15 21:23:12 +00:00
concat-vectors-128b.ll [Hexagon] Handle concat_vectors of all allowed HVX types 2017-12-15 21:23:12 +00:00
contract-64b.ll
contract-128b.ll
deal-64b.ll
deal-128b.ll
delta-64b.ll
delta-128b.ll
delta2-64b.ll
extract-element.ll
isel-anyext-inreg.ll [Hexagon] Handle ANY_EXTEND_VECTOR_INREG in lowering 2018-01-31 20:48:11 +00:00
isel-anyext-pair.ll [Hexagon] Split HVX operations on vector pairs 2018-02-06 14:24:57 +00:00
isel-bitcast-vsplat.ll [Hexagon] Improve HVX instruction selection (bitcast, vsplat) 2018-04-20 19:38:37 +00:00
isel-bitcast-vsplat2.ll [Hexagon] Improve HVX instruction selection (bitcast, vsplat) 2018-04-20 19:38:37 +00:00
isel-bool-vector.ll [Hexagon] Run late copy propagation and dead code elimination passes 2018-01-24 17:48:11 +00:00
isel-build-undef.ll [Hexagon] Implement HVX codegen for vector shifts 2018-01-31 20:49:24 +00:00
isel-concat-multiple.ll [Hexagon] Lower concat of more than 2 vectors into build_vector 2018-02-06 20:18:58 +00:00
isel-concat-vectors-bool.ll [Hexagon] Run late copy propagation and dead code elimination passes 2018-01-24 17:48:11 +00:00
isel-concat-vectors.ll [Hexagon] Handle concat_vectors of all allowed HVX types 2017-12-15 21:23:12 +00:00
isel-const-splat-bitcast.ll [Hexagon] Only process bitcasts of vsplats when selecting const vectors 2018-01-31 16:48:20 +00:00
isel-const-splat.ll [Hexagon] Generate constant splats instead of loads from constant pool 2018-01-26 21:54:56 +00:00
isel-const-vector.ll [Hexagon] Cast elements to correct type when creating constant vector 2018-01-11 18:03:23 +00:00
isel-expand-unaligned-loads-noindexed.ll [Hexagon] Ignore indexed loads when handling unaligned loads 2018-03-08 18:15:13 +00:00
isel-expand-unaligned-loads.ll [Hexagon] Add heuristic to exclude critical path cost for scheduling 2018-03-20 19:26:27 +00:00
isel-extractelt-illegal-type.ll [Hexagon] Use legal types when lowering CONCAT_VECTORS via BUILD_VECTOR 2018-04-19 17:11:58 +00:00
isel-qfalse.ll [Hexagon] Add code to select QTRUE and QFALSE 2018-02-09 19:10:46 +00:00
isel-select-const.ll [Hexagon] Cache loads to select to avoid traversing mutating DAG 2017-12-18 23:13:27 +00:00
isel-setcc-pair.ll [Hexagon] Handle SETCC on vector pairs in lowering 2018-01-31 20:46:55 +00:00
isel-sext-inreg.ll [Hexagon] Add patterns for sext_inreg of HVX vector types 2018-01-23 19:56:16 +00:00
isel-shift-byte.ll [Hexagon] Split HVX operations on vector pairs 2018-02-06 14:24:57 +00:00
isel-truncate.ll [Hexagon] Run late copy propagation and dead code elimination passes 2018-01-24 17:48:11 +00:00
isel-vec-ext.ll [Hexagon] Run late copy propagation and dead code elimination passes 2018-01-24 17:48:11 +00:00
isel-vsplat-pair.ll [Hexagon] Split HVX operations on vector pairs 2018-02-06 14:24:57 +00:00
lower-insert-elt.ll [Hexagon] Crash in instruction selection for insert_vector_elt for HVX 2017-12-11 14:46:06 +00:00
maximize-bandwidth.ll [Hexagon] Implement TTI::shouldMaximizeVectorBandwidth 2018-03-27 18:10:47 +00:00
perfect-single.ll
reg-sequence.ll [Hexagon] Return true in enableMultipleCopyHints(). 2018-02-21 16:37:45 +00:00
shift-64b.ll [Hexagon] Implement HVX codegen for vector shifts 2018-01-31 20:49:24 +00:00
shift-128b.ll [Hexagon] Implement HVX codegen for vector shifts 2018-01-31 20:49:24 +00:00
shuff-64b.ll
shuff-128b.ll
shuff-combos-64b.ll [Hexagon] Relax some checks in testcases, NFC 2017-12-12 21:44:04 +00:00
shuff-combos-128b.ll [Hexagon] Relax some checks in testcases, NFC 2017-12-12 21:44:04 +00:00
shuff-single.ll [Hexagon] Recognize vdealb, vdealh, vshuffb and vshuffh specifically 2017-12-06 22:41:49 +00:00
vector-compare-64b.ll [Hexagon] Handle lowering of SETCC via setCondCodeAction 2018-02-06 14:16:52 +00:00
vector-compare-128b.ll [Hexagon] Handle lowering of SETCC via setCondCodeAction 2018-02-06 14:16:52 +00:00
vext-64b.ll [Hexagon] Even simpler patterns for sign- and zero-extending HVX vectors 2018-01-05 22:31:11 +00:00
vext-128b.ll [Hexagon] Even simpler patterns for sign- and zero-extending HVX vectors 2018-01-05 22:31:11 +00:00
vmux-order.ll [Hexagon] Better detection of identity and undef masks in shuffles 2017-12-12 20:23:12 +00:00