Even though we don't have vXi8 vector shifts (apart from XOP), it is still better to prefer shift (or funnel-shift/rotate) by scalar where possible.
Details
Details
Diff Detail
Diff Detail
- Repository
 - rG LLVM Github Monorepo
 
Event Timeline
| llvm/lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 32997–33001 | I'm confused by the summary and the code here. Do we prefer to shifts on both has XOP and not? Why do we always return false for XOP?  | |
| llvm/lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 32997–33001 | XOP has awesome per-element shift ops for all 128-bit vector types - so there's no need to prefer vector shifts by scalar amounts over per-element amounts.  | |
I'm confused by the summary and the code here. Do we prefer to shifts on both has XOP and not? Why do we always return false for XOP?