summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
Commit message (Collapse)AuthorAgeFilesLines
* [X86][AVX] Reduce v4f64/v4i64 shuffle costs (PR37882)Simon Pilgrim2018-06-211-13/+13
| | | | | | These were being over cautious for costs for one/two op general shuffles - VSHUFPD doesn't have to replicate the same shuffle in both lanes like VSHUFPS does. llvm-svn: 335216
* [CostModel] Treat Identity shuffle masks as zero costSimon Pilgrim2018-06-121-44/+8
| | | | | | | | | | As discussed on D47985, identity shuffle masks should probably be free. I've limited this to the case where the input and output types all match - but we could probably accept all cases. Differential Revision: https://reviews.llvm.org/D47986 llvm-svn: 334506
* [CostModel][X86] Add extra Identity shuffle mask cost tests (D47986)Simon Pilgrim2018-06-121-0/+59
| | | | llvm-svn: 334486
* [CostModel][X86] Split off BtVer2 cost checksSimon Pilgrim2018-04-201-1/+40
| | | | llvm-svn: 330433
* [CostModel][X86] Add some specific cpu targets to the cost modelsSimon Pilgrim2018-04-131-0/+4
| | | | | | We're mostly testing with generic isa attributes, but PR36550 will require testing of specific target's scheduler models as well. llvm-svn: 330056
* [CostModel][X86] Regenerate vector shuffle cost tests with ↵Simon Pilgrim2018-04-061-198/+257
| | | | | | update_analyze_test_checks.py llvm-svn: 329410
* [CostModel][X86][XOP] Improve costs for XOP shufflesSimon Pilgrim2017-08-161-0/+22
| | | | | | VPPERM/VPERMIL2PD/VPERMIL2PS all provide more effective 2-input shuffles than regular AVX instructions llvm-svn: 311005
* [CostModel][X86] Add SSE2 two-src shuffle costsSimon Pilgrim2017-08-101-5/+5
| | | | llvm-svn: 310654
* [CostModel][X86] Add avx1 two-src shuffle costsSimon Pilgrim2017-08-101-9/+9
| | | | llvm-svn: 310650
* [CostModel][X86] Add avx2 two-src shuffle costsSimon Pilgrim2017-08-101-12/+12
| | | | llvm-svn: 310645
* [CostModel][X86] Add avx512vbmi broadcast/reverse/single-src shuffle cost testsSimon Pilgrim2017-08-101-0/+7
| | | | llvm-svn: 310633
* [CostModel][X86] Improve single src shuffle costsSimon Pilgrim2017-08-101-60/+60
| | | | | | Add missing SK_PermuteSingleSrc costs for AVX2 targets and earlier, also added some of the simpler SK_PermuteTwoSrc costs to support splitting of SK_PermuteSingleSrc shuffles llvm-svn: 310632
* [CostModel][X86] Added v2f64/v2i64 single src shuffle model testsSimon Pilgrim2017-08-101-4/+21
| | | | | | Fixed label checks for all prefixes llvm-svn: 310606
* [X86] Add costs for non-AVX512 single-source permutation integer shufflesMichael Kuperstein2017-02-021-20/+20
| | | | | | Differential Revision: https://reviews.llvm.org/D29416 llvm-svn: 293932
* [X86] Extend single-source shuffle cost test to test more arches. NFC.Michael Kuperstein2017-02-011-22/+129
| | | | llvm-svn: 293793
* AVX-512 Loop Vectorizer: Cost calculation for interleave load/store patterns.Elena Demikhovsky2017-01-021-0/+94
X86 target does not provide any target specific cost calculation for interleave patterns.It uses the common target-independent calculation, which gives very high numbers. As a result, the scalar version is chosen in many cases. The situation on AVX-512 is even worse, since we have 3-src shuffles that significantly reduce the cost. In this patch I calculate the cost on AVX-512. It will allow to compare interleave pattern with gather/scatter and choose a better solution (PR31426). * Shiffle-broadcast cost will be changed in Simon's upcoming patch. Differential Revision: https://reviews.llvm.org/D28118 llvm-svn: 290810
OpenPOWER on IntegriCloud