https://bugs.llvm.org/show_bug.cgi?id=41057
Bug ID: 41057
Summary: [X86] __builtin_rotateright* does not use rotate by 1
instructions or rorx with bmi
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: X86
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected], [email protected]
The isel patterns for rotates by immediates are written assuming rotate by
immediate will always use a rotl operation because that's what the pattern
matching code from the shift+or pattern will do.
But the __builtin_rotateright* functions use the funnel shift intrinsics and
will be turned directly into rotr by SelectionDAGBuilder. This will miss most
of the patterns except the ror by immediate patterns.
Godbolt example showing both issues https://godbolt.org/z/7Tt1ki
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs