[all-commits] [llvm/llvm-project] 0f652d: [X86] LowerRotate - recognise hidden ROTR patterns...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Nov 19 03:52:39 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0f652d8f527f3743771c8ad70f47d1019cb7ca1a
      https://github.com/llvm/llvm-project/commit/0f652d8f527f3743771c8ad70f47d1019cb7ca1a
  Author: Simon Pilgrim <simon_pilgrim at scee.net>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll

  Log Message:
  -----------
  [X86] LowerRotate - recognise hidden ROTR patterns for better vXi8 codegen

Check for a hidden ISD::ROTR (rotl(sub(0,x))) - vXi8 lowering can handle both (its always beneficial for splats, but otherwise only if we have VPTERNLOG).

We currently hit infinite loops in TargetLowering::expandROT if we set ISD::ROTR to custom, which needs addressing before we extend this much further.




More information about the All-commits mailing list