llvm-project
cc4b98e5 - [X86] combineSetCC - attempt to match more complex icmp_eq/ne patterns before falling back to PTEST/PMOVMSKB patterns (#180034)

Commit
21 days ago
[X86] combineSetCC - attempt to match more complex icmp_eq/ne patterns before falling back to PTEST/PMOVMSKB patterns (#180034) combineVectorSizedSetCCEquality attempts to convert equality comparisons of larger-than-legal scalar integers to PTEST/PMOVMSKB vector comparisons. However, combineSetCC has a number of other folds with more complex icmp_eq/ne patterns that work with big integers (including bit test and reduction patterns) that don't get a change to match as combineVectorSizedSetCCEquality is run first, and the other folds are then more difficult to match from PTEST/PMOVMSKB nodes. This patch moves the combineVectorSizedSetCCEquality fold later to give other icmp_eq/ne folds a chance to run first.
Author
Parents
Loading