Simon Pilgrim
f4cd292ba2
[CostModel][X86] SK_ExtractSubvector is cheap if the (legal) subvector is aligned within the source vector
...
llvm-svn: 346664
2018-11-12 15:48:06 +00:00
Simon Pilgrim
631f2bf51e
[CostModel] Add more realistic SK_ExtractSubvector generic costs.
...
Instead of defaulting to a cost = 1, expand to element extract/insert like we do for other shuffles.
This exposes an issue in LoopVectorize which could call SK_ExtractSubvector with a scalar subvector type.
llvm-svn: 346656
2018-11-12 14:25:23 +00:00
Simon Pilgrim
fc8f1d7da7
[CostModel][X86] SK_ExtractSubvector is free if the subvector is at the start of the source vector
...
llvm-svn: 346538
2018-11-09 19:04:27 +00:00
Simon Pilgrim
d0c71609c5
[CostModel] Add SK_ExtractSubvector handling to getInstructionThroughput (PR39368)
...
Add ShuffleVectorInst::isExtractSubvectorMask helper to match shuffle masks.
llvm-svn: 346510
2018-11-09 16:28:19 +00:00
Simon Pilgrim
acd10b9f6c
[CostModel][X86] Add some initial extract/insert subvector shuffle cost tests
...
Just f64/i64 tests initially to demonstrate PR39368
llvm-svn: 344857
2018-10-20 17:38:33 +00:00