[PATCH] D123163: [TLI] `TargetLowering::SimplifyDemandedVectorElts()`: narrowing bitcast: fill known zero elts from known src bits

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 16:38:52 PDT 2022


lebedev.ri created this revision.
lebedev.ri added a reviewer: RKSimon.
lebedev.ri added a project: LLVM.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
lebedev.ri requested review of this revision.

E.g. in

  %i0 = zext <2 x i8> to <2 x i16>
  %i1 = bitcast <2 x i16> to <4 x i8>

the `%i0`'s zero bits are known to be `0xFF00` (upper half of every element is known zero),
but no elements are known to be zero, and for `%i1`, we don't know anything about zero bits,
but the elements under 0xA mask are known to be zero (i.e. the odd elements).

But, we didn't perform such a propagation.

I //think// i wrote that right?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D123163

Files:
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/test/CodeGen/X86/madd.ll
  llvm/test/CodeGen/X86/shrink_vmul.ll
  llvm/test/CodeGen/X86/slow-pmulld.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123163.420656.patch
Type: text/x-patch
Size: 15495 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220405/377f81de/attachment.bin>


More information about the llvm-commits mailing list