[llvm] [X86] Use RORX over SHR imm (PR #77964)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 13 18:08:01 PST 2024


================
@@ -891,6 +911,64 @@ let Predicates = [HasBMI2] in {
               (RORX32ri GR32:$src, (ROT32L2R_imm8 imm:$shamt))>;
     def : Pat<(rotl GR64:$src, (i8 imm:$shamt)),
               (RORX64ri GR64:$src, (ROT64L2R_imm8 imm:$shamt))>;
+
+    // A right shift by less than a smaller register size that is then
+    // truncated to that register size can be replaced by RORX to
+    // preserve flags with the same execution cost
----------------
phoebewang wrote:

Add `.` in the end.

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


More information about the llvm-commits mailing list