Simon Pilgrim
c8fe132756
[X86] Dropped XOP ctbits checks - they match the AVX checks
...
llvm-svn: 277718
2016-08-04 11:04:13 +00:00
Simon Pilgrim
5d5ca9c0cb
[X86][SSE] Add initial costs for vector CTTZ/CTLZ
...
llvm-svn: 277716
2016-08-04 10:51:41 +00:00
Simon Pilgrim
1b4f511aaa
[X86][SSE] Add cost model values for CTPOP of vectors
...
This patch adds costs for the vectorized implementations of CTPOP, the default values were seriously underestimating the cost of these and was encouraging vectorization on targets where serialized use of POPCNT would be much better.
Differential Revision: https://reviews.llvm.org/D22456
llvm-svn: 276104
2016-07-20 10:41:28 +00:00
Simon Pilgrim
47638635cc
[X86] Add CTPOP/CTLZ/CTTZ scalar cost tests
...
llvm-svn: 275725
2016-07-17 18:29:19 +00:00
Simon Pilgrim
2ea513847c
[CostModel][X86] Tidied up checks
...
llvm-svn: 269770
2016-05-17 14:43:41 +00:00
Simon Pilgrim
420852e8d4
[CostModel][X86] Split BSWAP/BITREVERSE cost tests from CTPOP/CTLZ/CTTZ 'bit count' cost tests
...
llvm-svn: 268859
2016-05-07 16:34:16 +00:00
Simon Pilgrim
b3f5cb7a65
[CostModel][X86] Tweak 'SSE2-only' test CPU as it was only disabling SSE41 not SSE3/SSSE3 etc.
...
llvm-svn: 268763
2016-05-06 17:50:07 +00:00
Simon Pilgrim
93d9b96bdb
[CostModel][X86] Added ctlz/cttz undef-zero costmodel tests
...
llvm-svn: 268761
2016-05-06 17:48:35 +00:00
Simon Pilgrim
5122c64fd8
[CostModel][X86] Added costmodel tests for vector ctpop/ctlz/cttz/bitreverse/bswap
...
llvm-svn: 268738
2016-05-06 14:38:14 +00:00