[all-commits] [llvm/llvm-project] 14a611: [X86][FP16] Fix vector_shuffle and lowering withou...

Zachary Henkel via All-commits all-commits at lists.llvm.org
Mon Aug 15 00:40:40 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 14a6115e469764614c514a21de1b16f3c5497537
      https://github.com/llvm/llvm-project/commit/14a6115e469764614c514a21de1b16f3c5497537
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86][FP16] Fix vector_shuffle and lowering without f16c feature problems

The problem Alexander reported on D127982 was caused by an optimization
for AVX512-FP16 instruction. We must limit it to the feature enabled only.

During the investigation, I found we didn't expand for fp_round/fp_extend
without F16C. This may result runtime crash, so change them too.

Reviewed By: RKSimon

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

(cherry picked from commit 23021d4d8c6b2c7cbb3ebe1be61cface0c52f80a)


  Commit: accc7a13b5edb07eae3415ea69154f4daa247afb
      https://github.com/llvm/llvm-project/commit/accc7a13b5edb07eae3415ea69154f4daa247afb
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86][FP16] Promote FP16->[U]INT to FP16->FP32->[U]INT

This is to avoid f16->i64 being lowered to `__fixhfdi/__fixunshfdi` on 32-bits since neither libgcc nor compiler-rt provide them. https://godbolt.org/z/cjWEsea5v

It also helps to improve the performance by promoting the vector type.

Reviewed By: LuoYuanke

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

(cherry picked from commit 8b69549dc5c5fa0f5f8632cde1c740bb2c7d8957)


  Commit: 5b93812e72dde46079e73deef8bd596e7f907fac
      https://github.com/llvm/llvm-project/commit/5b93812e72dde46079e73deef8bd596e7f907fac
  Author: Zachary Henkel <zahen at microsoft.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/deprecated-builtins.cpp

  Log Message:
  -----------
   __has_trivial_copy should map to __is_trivially_copyable

Found during clang 15 RC1 testing due to the new diagnostic added by @royjacobson since clang 14.  Uncertain if this fix meets the bar to also be applied to the release branch.

If accepted, I'll need someone with commit access to submit on my behalf.

Reviewed By: royjacobson, aaron.ballman, erichkeane

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

(cherry picked from commit 64f0f7e6460019a38fe2f1cbe4b9446a3268af18)


Compare: https://github.com/llvm/llvm-project/compare/9c4cab01e51e...5b93812e72dd


More information about the All-commits mailing list