[all-commits] [llvm/llvm-project] 3a1261: [InstCombine] remove casts from splat-a-bit pattern

RotateRight via All-commits all-commits at lists.llvm.org
Sun Sep 12 06:24:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a126134d38144928de802bf96d45e72dd1b26d2
      https://github.com/llvm/llvm-project/commit/3a126134d38144928de802bf96d45e72dd1b26d2
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-09-12 (Sun, 12 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/sext.ll

  Log Message:
  -----------
  [InstCombine] remove casts from splat-a-bit pattern

https://alive2.llvm.org/ce/z/_AivbM

This case seems clear since we can reduce instruction count
and avoid an intermediate type change, but we might want to
use mask-and-compare for other sequences.

Currently, we can generate more instructions on some related
patterns by trying to use bit-hacks instead of mask+cmp, so
something is not behaving as expected.




More information about the All-commits mailing list