Issue 166949
Summary [X86] Make VBMI2 supported ISD::FSHL/FSHR instructions legal instead of custom
Labels good first issue, backend:X86
Assignees
Reporter RKSimon
    FSHL/FSHR instructions are legal on VBMI2 targets for v32i16 / v16i32 / v8i64 types

FSHL/FSHR instructions are legal on VBMI2 + VLX targets for v8i16 / v16i16 / v4i32 / v8i32 / v2i64 / v4i64 types

There's no need to go through LowerFunnelShift for these cases, instead we should make them legal and add a combineFunnelShift to convert instructions with uniform constant shift amounts to use X86ISD::VSHLD/X86ISD::VSHRD.

We'll still need LowerFunnelShift to handle widening to 512-bits for VBMI2 only (no VLX) - but the constant handling can be moved entirely to the combine.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to