On X86 for vec types (X & Y) == Y is generally preferable to
(X & Y) != 0. Creating zero requires an extra instruction and on
pre-avx512 targets there is no vector pcmpne so it requires two
additional instructions to invert the pcmpeq.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Time | Test | |
---|---|---|
60,040 ms | x64 debian > MLIR.Examples/standalone::test.toy |
Event Timeline
Comment Actions
LGTM with one minor
llvm/include/llvm/CodeGen/TargetLowering.h | ||
---|---|---|
687 | Please can you move the isXAndYEqZeroPreferableToXAndYEqY definition up here with similar cases inside TargetLoweringBase |
Please can you move the isXAndYEqZeroPreferableToXAndYEqY definition up here with similar cases inside TargetLoweringBase