[llvm] [X86] LowerShift - track the number and location of constant shift elements. (PR #120270)

William Huang via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 13:20:23 PST 2024


huangjd wrote:

> vec_shift6.ll - the existing shuffle(immshift(x,c1),immshift(x,c2)) lowering bails on out of range shift amounts, while this patch now skips them and treats them as UNDEF

Actually x86 **vector** shift instructions is defined for out of range amounts, which is shifting in sign bit for SRA and 0 for other shifts, even though in LLVM IR it is undefined. Not sure what's the intended way to handle this 

https://github.com/llvm/llvm-project/pull/120270


More information about the llvm-commits mailing list