Sanjay Patel
0eedc9e567
[InstCombine] bitrev (zext i1 X) --> select X, SMinC, 0
...
https://alive2.llvm.org/ce/z/ZXCtgi
This breaks the infinite combine loop for issue #59897 ,
but we may still need more changes to avoid those loops.
2023-01-09 12:27:37 -05:00
Sanjay Patel
b1e6947618
[InstCombine] add tests for bitreverse of i1; NFC
2023-01-09 12:27:37 -05:00
Bjorn Pettersson
4ab40eca08
[test][InstCombine] Update some test cases to use opaque pointers
...
These tests cases were converted using the script at
https://gist.github.com/nikic/98357b71fd67756b0f064c9517b62a34
Differential Revision: https://reviews.llvm.org/D135094
2022-10-03 22:17:59 +02:00
Chenbing Zheng
4db9edfdb6
[NFC] fix typo
2022-09-02 10:04:52 +08:00
Chenbing Zheng
adf4519c0e
[InstCombine] recognize bitreverse disguised as shufflevector
...
This patch complete TODO left in D66965, and achieve
related pattern for bitreverse.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D132431
2022-08-25 10:41:47 +08:00
Chenbing Zheng
6b3cbf60f4
[InstCombine] add tests for shuf bitcast. nfc
2022-08-23 11:01:18 +08:00
Bjorn Pettersson
acdc419c89
[test] Use -passes=instcombine instead of -instcombine in lots of tests. NFC
...
Another step moving away from the deprecated syntax of specifying
pass pipeline in opt.
Differential Revision: https://reviews.llvm.org/D119081
2022-02-07 14:26:59 +01:00
Simon Pilgrim
401d6685c0
[InstCombine] InstCombinerImpl::visitOr - enable bitreverse matching
...
Currently we only match bswap intrinsics from or(shl(),lshr()) style patterns when we could often match bitreverse intrinsics almost as cheaply.
Differential Revision: https://reviews.llvm.org/D90170
2021-05-15 13:39:09 +01:00
Simon Pilgrim
a6ad077f5d
[InstCombine] Add i8 bitreverse by multiplication test patterns
...
Pulled from bit twiddling hacks webpage
2020-10-23 15:39:57 +01:00
Simon Pilgrim
61d1847b12
[InstCombine] Add 8/16/32/64 bitreverse test coverage
...
Use typical codegen for the traditional pairwise lgN bitreverse algorithm
2020-10-23 15:39:56 +01:00
Simon Pilgrim
9e7667e2ad
[InstCombine] Add initial bitreverse test coverage
2020-10-23 15:39:56 +01:00