[all-commits] [llvm/llvm-project] a57236: [PowerPC] Remove extend between shift and and

Nemanja Ivanovic via All-commits all-commits at lists.llvm.org
Wed Jul 5 13:33:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a57236de4eb8f38b4201647b10146941cbbb5c0b
      https://github.com/llvm/llvm-project/commit/a57236de4eb8f38b4201647b10146941cbbb5c0b
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2023-07-05 (Wed, 05 Jul 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/and-extend-combine.ll

  Log Message:
  -----------
  [PowerPC] Remove extend between shift and and

The SDAG will sometimes insert an extend between
the shift and an and (immediate) even though the
immediate is narrower than the narrow size.
This does not allow us to produce a rotate
instruction (such as rlwinm).
This patch just adds a combine to move the extend
onto the and.

Differential revision: https://reviews.llvm.org/D152911




More information about the All-commits mailing list