[PATCH] D94557: [ARM] Fixed incorrect lowering when using GNUEABI (libgcc) and 16bit floats
Kevin Peizner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 13 08:54:55 PST 2021
kevinpeizner updated this revision to Diff 316419.
kevinpeizner added a comment.
Updated patch with `diff -U9999`
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94557/new/
https://reviews.llvm.org/D94557
Files:
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/fp16.ll
Index: llvm/test/CodeGen/ARM/fp16.ll
===================================================================
--- llvm/test/CodeGen/ARM/fp16.ll
+++ llvm/test/CodeGen/ARM/fp16.ll
@@ -82,7 +82,7 @@
%val = call i16 @llvm.convert.to.fp16.f64(double %in)
; CHECK-HARDFLOAT-EABI: bl __aeabi_d2h
-; CHECK-HARDFLOAT-GNU: bl __aeabi_d2h
+; CHECK-HARDFLOAT-GNU: bl __gnu_d2h_ieee
; CHECK-FP16-SAFE: bl __aeabi_d2h
@@ -94,7 +94,7 @@
; CHECK-SOFTFLOAT-EABI: bl __aeabi_d2h
-; CHECK-SOFTFLOAT-GNU: bl __aeabi_d2h
+; CHECK-SOFTFLOAT-GNU: bl __gnu_d2h_ieee
ret i16 %val
}
Index: llvm/lib/Target/ARM/ARMISelLowering.cpp
===================================================================
--- llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -598,7 +598,7 @@
// Conversions between floating types.
// RTABI chapter 4.1.2, Table 7
{ RTLIB::FPROUND_F64_F32, "__aeabi_d2f", CallingConv::ARM_AAPCS, ISD::SETCC_INVALID },
- { RTLIB::FPROUND_F64_F16, "__aeabi_d2h", CallingConv::ARM_AAPCS, ISD::SETCC_INVALID },
+ { RTLIB::FPROUND_F64_F16, "__gnu_d2h_ieee", CallingConv::ARM_AAPCS, ISD::SETCC_INVALID },
{ RTLIB::FPEXT_F32_F64, "__aeabi_f2d", CallingConv::ARM_AAPCS, ISD::SETCC_INVALID },
// Integer to floating-point conversions.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94557.316419.patch
Type: text/x-patch
Size: 1312 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210113/b471e552/attachment.bin>
More information about the llvm-commits
mailing list