[all-commits] [llvm/llvm-project] 54f3f9: [X86][BF16] Make backend type bf16 to follow the p...
Benjamin Kramer via All-commits
all-commits at lists.llvm.org
Thu Aug 11 23:40:49 PDT 2022
Branch: refs/heads/release/15.x
Home: https://github.com/llvm/llvm-project
Commit: 54f3f97dc8a98e8522dea4f34edc7e5347f261dc
https://github.com/llvm/llvm-project/commit/54f3f97dc8a98e8522dea4f34edc7e5347f261dc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Make backend type bf16 to follow the psABI
X86 psABI has updated to support __bf16 type, the ABI of which is the
same as FP16. See https://discourse.llvm.org/t/patch-add-optional-bfloat16-support/63149
This is an alternative of D129858, which has less code modification and
supports the vector type as well.
Reviewed By: LuoYuanke
Differential Revision: https://reviews.llvm.org/D130832
(cherry picked from commit c7ec6e19d5446a448f888b33f66316cf2ec6ecae)
Commit: fa0ff5778aa7302010a16696b75e980b28f63f51
https://github.com/llvm/llvm-project/commit/fa0ff5778aa7302010a16696b75e980b28f63f51
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/TargetInfo.cpp
A clang/test/CodeGen/X86/bfloat-abi.c
A clang/test/CodeGen/X86/bfloat-half-abi.c
A clang/test/CodeGen/X86/bfloat-mangle.cpp
M clang/test/Sema/vector-decl-crash.c
M llvm/include/llvm/IR/Type.h
Log Message:
-----------
[X86][BF16] Enable __bf16 for x86 targets.
X86 psABI has updated to support __bf16 type, the ABI of which is the
same as FP16. See https://discourse.llvm.org/t/patch-add-optional-bfloat16-support/63149
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D130964
(cherry picked from commit e4888a37d36780872d685c68ef8b26b2e14d6d39)
Commit: 54d0758c44d5fabca9e6cca09329b510d8c1eafc
https://github.com/llvm/llvm-project/commit/54d0758c44d5fabca9e6cca09329b510d8c1eafc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/fp_trunc.h
Log Message:
-----------
[compiler-rt][BF16] Provide __truncdfbf2 and __truncsfbf2 only when __bf16 is available
Differential Revision: https://reviews.llvm.org/D131147
(cherry picked from commit f061cfb31730b72b7d8920bb4a306a1d2ce7f2e4)
Commit: f85dc179e9ea7c509b1feab8aac61d2eab4d90aa
https://github.com/llvm/llvm-project/commit/f85dc179e9ea7c509b1feab8aac61d2eab4d90aa
Author: Aart Bik <ajcbik at google.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
Log Message:
-----------
[mlir][sparse][bf16] disable two bf16 tests
Supposedly our ABI issues were fixed, per issue:
https://github.com/llvm/llvm-project/issues/55992
However, with a recent changes to bf16, these tests
fail again; not sure why yet:
https://reviews.llvm.org/D130832
https://lab.llvm.org/buildbot/#/builders/61/builds/30600
So we disable the tests for now. Issue is tracked in:
https://github.com/llvm/llvm-project/issues/57042
Differential Revision: https://reviews.llvm.org/D131621
(cherry picked from commit 6b7459115f7b1c43f81ad8dfb5da9d206d3b1e06)
Commit: 23637ca05baa79e07bf214535fcfc2b892d6d215
https://github.com/llvm/llvm-project/commit/23637ca05baa79e07bf214535fcfc2b892d6d215
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M mlir/lib/ExecutionEngine/Float16bits.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
Log Message:
-----------
[mlir][sparse] Use the correct ABI on x86 and re-enable tests
c7ec6e19d5446a448f888b33f66316cf2ec6ecae made LLVM adhere to the x86
psABI and pass bf16 in SSE registers instead of GPRs. This breaks the
custom versions of runtime functions we have for bf16 conversion. A
great fix for this would be to use __bf16 types instead which carry the
right ABI, but that type isn't widely available.
Instead just pretend it's a 32 bit float on the ABI boundary and
carefully cast it to the right type.
Fixes #57042
(cherry picked from commit f695554a2a5550ae40da35af9ac22bfcca5db09a)
Commit: fbd2950d8d0dd0ad953b439374237497b47d2ecf
https://github.com/llvm/llvm-project/commit/fbd2950d8d0dd0ad953b439374237497b47d2ecf
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M mlir/lib/ExecutionEngine/Float16bits.cpp
Log Message:
-----------
[mlir][sparse] Refine f695554a2a55 wording a bit and fix the double conversion I broke with aggressive copy&paste
(cherry picked from commit 726719e970abb6d6fe014ed96f5ca838807dd840)
Compare: https://github.com/llvm/llvm-project/compare/3b0219ad84b8...fbd2950d8d0d
More information about the All-commits
mailing list