diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2024-11-21 11:15:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-21 10:15:33 +0000 |
commit | eb48e1100a1f9dc26c6f2e56301c0a55394465c5 (patch) | |
tree | 422db1e3f378c7f3fa870a0a6b65258a2043f4b9 /clang/unittests/Serialization/ModuleCacheTest.cpp | |
parent | 00d383ee9d6fe66799bf9b242b59753d175d51cb (diff) | |
download | llvm-eb48e1100a1f9dc26c6f2e56301c0a55394465c5.zip llvm-eb48e1100a1f9dc26c6f2e56301c0a55394465c5.tar.gz llvm-eb48e1100a1f9dc26c6f2e56301c0a55394465c5.tar.bz2 |
[ARM] Fix undefined behaviour in bf16->float conversion (#116985)
This was implementing the bf16->float conversion function using a
left-shift of a signed integer, so for negative floating-point values a
1 was being shifted into the sign bit of the signed integer intermediate
value. This is undefined behaviour, and was caught by UBSan.
The vector versions are code-generated via Neon builtin functions, so
probably don't have the same UB problem, but I've updated them anyway to
be consistent.
Fixes #61983.
Diffstat (limited to 'clang/unittests/Serialization/ModuleCacheTest.cpp')
0 files changed, 0 insertions, 0 deletions