[all-commits] [llvm/llvm-project] 034102: [X86][AVX] LowerADDSAT_SUBSAT - avoid X86ISD::BLEN...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Nov 20 10:23:59 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0341029bb414d346edcceeeabaf4c5bb3312c38c
      https://github.com/llvm/llvm-project/commit/0341029bb414d346edcceeeabaf4c5bb3312c38c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-11-20 (Fri, 20 Nov 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/uadd_sat_vec.ll
    M llvm/test/CodeGen/X86/usub_sat_vec.ll

  Log Message:
  -----------
  [X86][AVX] LowerADDSAT_SUBSAT - avoid X86ISD::BLENDV in UADDSAT/USUBSAT v8i32/v4i64 lowering

Use the OR(CMP,ADD) / AND(CMP,SUB) patterns like we do on SSE targets.

Enable custom lowering for v8i32/v4i64 and generalize the 128-bit lowering code for any vector size - this also lets us use the slightly cheaper codegen for icmp_ugt instead of umin/umax.




More information about the All-commits mailing list