[all-commits] [llvm/llvm-project] a8f13d: [InstCombine] fold shuffle of fabs

Sanjay Patel via All-commits all-commits at lists.llvm.org
Fri Feb 3 11:27:24 PST 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8f13dbdeb31be37ee15b5febb7cc2137bbece67
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2023-02-03 (Fri, 03 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  [InstCombine] fold shuffle of fabs

shuffle (fabs X), Mask --> fabs (shuffle X, Mask)
shuffle (fabs X), (fabs Y), Mask --> fabs (shuf X, Y, Mask)


This generalizes the existing fneg transforms to also work with fabs.

A likely follow-up would generalize this further to move any unary
intrinsic op.

More information about the All-commits mailing list