aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorChangpeng Fang <changpeng.fang@amd.com>2025-04-04 21:19:43 -0700
committerGitHub <noreply@github.com>2025-04-04 21:19:43 -0700
commitf47034cbe5c02b748742c733cf453b3b907687e5 (patch)
tree59c93294eedf0b2efd6b1ab237559b54fb012e11 /clang/lib/Basic/SourceManager.cpp
parenta07b37475ccbf6b718fdf64fd6f0756ea1958852 (diff)
downloadllvm-f47034cbe5c02b748742c733cf453b3b907687e5.zip
llvm-f47034cbe5c02b748742c733cf453b3b907687e5.tar.gz
llvm-f47034cbe5c02b748742c733cf453b3b907687e5.tar.bz2
AMDGPU: Add round-to-odd rounding during f64 to bf16 conversion (#133995)
f64 -> bf16 conversion can be lowered to f64 -> f32 followed by f32 -> bf16: v_cvt_f32_f64_e32 v0, v[0:1] v_cvt_pk_bf16_f32 v0, v0, s0 Both conversion instructions will do round-to-even rounding, and thus we will have double rounding issue which may generate incorrect result in some data range. We need to add round-to-odd rounding during f64 -> f32 to avoid double rounding,. NOTE: we are having the same issue with f64 -> f16 conversion. Will add round-to-odd rounding for it in a separate patch, which fixes SWDEV-523856 --------- Co-authored-by: Matt Arsenault <arsenm2@gmail.com>
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions