[PATCH] D50685: [AArch64] Support conversion between fp16 and fp128

Bryan Chan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 13 20:58:34 PDT 2018


bryanpkc created this revision.
bryanpkc added reviewers: SjoerdMeijer, t.p.northover.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls, mgorny.
Herald added a reviewer: javed.absar.

Add __extendhftf2 and __trunctfhf2, to support conversion between half-precision
and quad-precision floating-point values. On AArch64, use __fp16 as the half-
precision type so that such values are passed and returned in native FP16
registers. This is consistent with the behavior of the corresponding functions
in libgcc. Also fix some bugs in existing test cases.


Repository:
  rL LLVM

https://reviews.llvm.org/D50685

Files:
  compiler-rt/lib/builtins/CMakeLists.txt
  compiler-rt/lib/builtins/extendhfsf2.c
  compiler-rt/lib/builtins/extendhftf2.c
  compiler-rt/lib/builtins/fp_extend.h
  compiler-rt/lib/builtins/fp_trunc.h
  compiler-rt/lib/builtins/truncdfhf2.c
  compiler-rt/lib/builtins/truncsfhf2.c
  compiler-rt/lib/builtins/trunctfhf2.c
  compiler-rt/test/builtins/Unit/extenddftf2_test.c
  compiler-rt/test/builtins/Unit/extendhfsf2_test.c
  compiler-rt/test/builtins/Unit/extendhftf2_test.c
  compiler-rt/test/builtins/Unit/fp_test.h
  compiler-rt/test/builtins/Unit/truncdfhf2_test.c
  compiler-rt/test/builtins/Unit/truncsfhf2_test.c
  compiler-rt/test/builtins/Unit/trunctfhf2_test.c
  llvm/include/llvm/IR/RuntimeLibcalls.def
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/arm64-fp128.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50685.160511.patch
Type: text/x-patch
Size: 25663 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180814/4de072d3/attachment.bin>


More information about the llvm-commits mailing list