aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorPhilip Reames <preames@rivosinc.com>2025-02-05 18:12:59 -0800
committerGitHub <noreply@github.com>2025-02-05 18:12:59 -0800
commitfc10ad1a668675d50c81616486ea1065af53badb (patch)
treef53f1e3db59414e420c0d2bf2d4a33a9b1d7efa8 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parente1c63bbde5e5c892c683c7243c9b6e465b0e13d5 (diff)
downloadllvm-fc10ad1a668675d50c81616486ea1065af53badb.zip
llvm-fc10ad1a668675d50c81616486ea1065af53badb.tar.gz
llvm-fc10ad1a668675d50c81616486ea1065af53badb.tar.bz2
[RISCV] Make single source reverse legal in isShuffleMaskLegal (#125949)
This enables DAG combines to form this mask. Reverse is generally linear in LMUL so this is reasonable, and results in better codegen for the 2 source variants. For <= m1, the change is only slightly profitable if at all. We trade some mask creation and an extract vrsub for a vslideup.vi. This is likely roughly neutral. At >= m2, this is distinctly profitable as generic DAG pushes the reverse into the two operands. We effectively already did this for one operand, but the other was hitting a full O(LMUL^2) shuffle. Moving that to be O(LMUL/2) operation is a big win.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions