[all-commits] [llvm/llvm-project] cae0d6: [AArch64][SDAG] Detect non-zeroes in truncating bu...
David Green via All-commits
all-commits at lists.llvm.org
Mon Feb 3 02:48:07 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
https://github.com/llvm/llvm-project/commit/cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
Author: David Green <david.green at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/smul_fix.ll
M llvm/test/CodeGen/AArch64/umul_fix.ll
Log Message:
-----------
[AArch64][SDAG] Detect non-zeroes in truncating buildvectors in fshl lowering (#123597)
A BUILD_VECTOR can implicity shrink the bits of the operands if the
operand types are not legal. For example a v8i16 constant BUILD_VECTOR
might be represented as v8i16 BUILDVECTOR(i32 1, i32 2, ...).
Unfortunately this means that the constants are not accepted by
matchUnaryPredicateImpl, preventing in this case funnel shifts detecting
that all the operands are non-zero. Add a flag to help it match.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list