diff options
author | David Majnemer <david.majnemer@gmail.com> | 2024-02-21 12:37:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-21 12:37:02 -0500 |
commit | cc13f3ba45015254075434f0f94a2ea6ff4bc1b4 (patch) | |
tree | f2b069585a2fef0539eeeb660af20b761492b197 /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | cc374d8056990a4c6df44173ad7ef59474ba498b (diff) | |
download | llvm-cc13f3ba45015254075434f0f94a2ea6ff4bc1b4.zip llvm-cc13f3ba45015254075434f0f94a2ea6ff4bc1b4.tar.gz llvm-cc13f3ba45015254075434f0f94a2ea6ff4bc1b4.tar.bz2 |
Correctly round FP -> BF16 when SDAG expands such nodes (#82399)
We did something pretty naive:
- round FP64 -> BF16 by first rounding to FP32
- skip FP32 -> BF16 rounding entirely
- taking the top 16 bits of a FP32 which will turn some NaNs into
infinities
Let's do this in a more principled way by rounding types with more
precision than FP32 to FP32 using round-inexact-to-odd which will negate
double rounding issues.
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions