diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-05-12 18:33:42 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-05-12 18:33:42 +0000 |
commit | f1ac850e7721a79238e213f2e6624bf8a2f3a7bd (patch) | |
tree | 7ae8061a2392ab8792adb1ee34b64d27eb4751cc /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 7a38d75bcd98f8d4e41ec72b813265b77c971f7c (diff) | |
download | llvm-f1ac850e7721a79238e213f2e6624bf8a2f3a7bd.zip llvm-f1ac850e7721a79238e213f2e6624bf8a2f3a7bd.tar.gz llvm-f1ac850e7721a79238e213f2e6624bf8a2f3a7bd.tar.bz2 |
[Builtins] Implement half-precision conversions.
Mostly uninteresting, except:
- in __extendXfYf2, when checking if the number is normal, the old
code relied on the unsignedness of src_rep_t, which is a problem
when sizeof(src_rep_t) < sizeof(int): the result gets promoted to
int, the signedness of which breaks the comparison.
I added an explicit cast; it shouldn't affect other types.
- we can't pass __fp16, so src_t and src_rep_t are the same.
- the gnu_*_ieee symbols are simply duplicated definitions, as aliases
are problematic on mach-o (where only weak aliases are supported;
that's not what we want).
Differential Revision: http://reviews.llvm.org/D9693
llvm-svn: 237161
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions