[all-commits] [llvm/llvm-project] 86b5e2: [SelectionDAG][X86] Support f16 in getReciprocalOp...

Craig Topper via All-commits all-commits at lists.llvm.org
Fri Feb 18 15:36:49 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 86b5e256628ae49193ad9962626a73bafeda2883
      https://github.com/llvm/llvm-project/commit/86b5e256628ae49193ad9962626a73bafeda2883
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-02-18 (Fri, 18 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll

  Log Message:
  -----------
  [SelectionDAG][X86] Support f16 in getReciprocalOpName.

If the "reciprocal-estimates" attribute is present and it doesn't
contain "all", "none", or "default", we previously crashed on f16
operations.

This patch addes an 'h' suffix' to prevent the crash.

I've added simple tests that just enable the estimate for all
vec-sqrt and one test case that explicitly tests the new 'h' suffix
to override the default steps.

There may be some frontend change needed to, but I haven't checked
that yet.

Differential Revision: https://reviews.llvm.org/D120158


  Commit: 04f815c26f7c7b7932c0f80fda8fcb5fa5814bca
      https://github.com/llvm/llvm-project/commit/04f815c26f7c7b7932c0f80fda8fcb5fa5814bca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-02-18 (Fri, 18 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

  Log Message:
  -----------
  [SelectionDAGBuilder] Remove LegalTypes=false from a call to getShiftAmountConstant.

getShiftAmountTy will return MVT::i32 if the shift amount
coming from the target's getScalarShiftAmountTy can't reprsent
all possible values. That should eliminate the need to use the
pointer type which is what we do when LegalTypes is false.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D120165


Compare: https://github.com/llvm/llvm-project/compare/34a9642af8b4...04f815c26f7c


More information about the All-commits mailing list