diff options
| author | Craig Topper <craig.topper@intel.com> | 2019-11-25 18:13:29 -0800 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2019-11-25 18:18:40 -0800 |
| commit | 3dc7c5f7d83c61fdbce5ad2ab5aad716dd6d1d1e (patch) | |
| tree | 9270edde93b194cfa1a0cec1eb97db0403ddbc8e /clang/test/CodeGen/2008-07-30-implicit-initialization.c | |
| parent | c43b8ec735e88472593ca420a5c6a17630f94066 (diff) | |
| download | bcm5719-llvm-3dc7c5f7d83c61fdbce5ad2ab5aad716dd6d1d1e.tar.gz bcm5719-llvm-3dc7c5f7d83c61fdbce5ad2ab5aad716dd6d1d1e.zip | |
[LegalizeTypes] Remove code to create ISD::FP_TO_FP16 from SoftenFloatRes_FTRUNC.
There seems to have been a misunderstanding of what ISD::FTRUNC
represents. ISD::FTRUNC is equivalent to llvm.trunc which takes
a floating point value, truncates it without changing the size
of the value and returns it.
Despite its similar name, its different than the fptrunc instruction
in IR which changes a floating point value to a smaller floating
point value. fptrunc is represented by ISD::FP_ROUND in SelectionDAG.
Since the ISD::FP_TO_FP16 node takes a floating point value and
converts it to f16 its more similar to ISD::FP_ROUND. In fact there
is identical code to what is being removed here in SoftenFloatRes_FP_ROUND.
I assume this bug was never encountered because it would require
f16 to be legalized by softening rather than the default of
promoting.
Diffstat (limited to 'clang/test/CodeGen/2008-07-30-implicit-initialization.c')
0 files changed, 0 insertions, 0 deletions

