[all-commits] [llvm/llvm-project] a46a2c: [X86] Lower vXi8 multiplies using PMADDUBSW on SSS...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Jun 25 04:26:18 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a46a2c2b7d8daf68c793b6b96f1c5bc009aea62b
https://github.com/llvm/llvm-project/commit/a46a2c2b7d8daf68c793b6b96f1c5bc009aea62b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-06-25 (Tue, 25 Jun 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/arith-int-codesize.ll
M llvm/test/Analysis/CostModel/X86/arith-int-latency.ll
M llvm/test/Analysis/CostModel/X86/arith-int-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-int.ll
M llvm/test/Analysis/CostModel/X86/rem-codesize.ll
M llvm/test/Analysis/CostModel/X86/rem-latency.ll
M llvm/test/Analysis/CostModel/X86/rem-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/rem.ll
M llvm/test/Analysis/CostModel/X86/slm-arith-costs.ll
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/prefer-avx256-wide-mul.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Lower vXi8 multiplies using PMADDUBSW on SSSE3+ targets (#95690)
Extends https://github.com/llvm/llvm-project/pull/95403 to handle non-constant cases - we can avoid unpacks/extensions from vXi8 to vXi16 by using PMADDUBSW instead and truncating the vXi16 results back together.
Most targets benefit from performing this for non-constant cases - its just Intel Core/SandyBridge era CPUs that might experience additional Port0/15 contention (but lower instruction count).
Fixes https://github.com/llvm/llvm-project/issues/90748
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