summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
Commit message (Collapse)AuthorAgeFilesLines
* [Hexagon] Bitcast v4i16 to v8i8, unify no-op casts between scalar and HVXKrzysztof Parzyszek2019-09-231-16/+7
| | | | llvm-svn: 372616
* [Hexagon] Generate min/max instructions for 64-bit vectorsKrzysztof Parzyszek2019-08-161-22/+10
| | | | llvm-svn: 369124
* [Hexagon] Generate vector min/max for HVXKrzysztof Parzyszek2019-08-151-0/+25
| | | | llvm-svn: 369014
* [Hexagon] Remove 'T' from HasVNN predicates, NFCKrzysztof Parzyszek2018-06-201-1/+1
| | | | | | Patch by Sumanth Gundapaneni. llvm-svn: 335124
* [Hexagon] Implement vector-pair zero as V6_vsubw_dvKrzysztof Parzyszek2018-06-061-4/+7
| | | | llvm-svn: 334123
* [Hexagon] Select HVX code for vector CTPOP, CTLZ, and CTTZKrzysztof Parzyszek2018-06-011-0/+27
| | | | llvm-svn: 333760
* [Hexagon] Add patterns for accumulating HVX comparesKrzysztof Parzyszek2018-05-221-73/+99
| | | | llvm-svn: 333009
* [Hexagon] Fix the order of operands when selecting QCATKrzysztof Parzyszek2018-05-161-2/+2
| | | | llvm-svn: 332526
* [Hexagon] Mark HVX vector predicate bitwise ops as legal, add patternsKrzysztof Parzyszek2018-05-161-24/+46
| | | | llvm-svn: 332525
* [Hexagon] Add patterns for vector shift-and-accumulateKrzysztof Parzyszek2018-05-091-0/+5
| | | | llvm-svn: 331918
* [Hexagon] Improve HVX instruction selection (bitcast, vsplat)Krzysztof Parzyszek2018-04-201-29/+64
| | | | | | | | | | 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
* [Hexagon] Generate code for vector bswap intrinsicsKrzysztof Parzyszek2018-04-191-0/+5
| | | | llvm-svn: 330333
* [Hexagon] Rewrite non-HVX unaligned loads as pairs of aligned onesKrzysztof Parzyszek2018-03-071-10/+0
| | | | | | | | | This is a follow-up to r325169, this time for all types, not just HVX vector types. Disable this by default, since it's not always safe. llvm-svn: 326915
* [Hexagon] Split HVX vector pair loads/stores, expand unaligned loadsKrzysztof Parzyszek2018-02-141-43/+82
| | | | llvm-svn: 325169
* [Hexagon] Add code to select QTRUE and QFALSEKrzysztof Parzyszek2018-02-091-0/+7
| | | | | | Fixes http://llvm.org/PR36320. llvm-svn: 324763
* [Hexagon] Extract HVX lowering and selection into HVX-specific files, NFCKrzysztof Parzyszek2018-02-061-0/+338
llvm-svn: 324392
OpenPOWER on IntegriCloud