[PATCH] D38315: WIP: [ARM] Add f16 type support and code generation (part 1/2)
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 16 07:42:51 PST 2018
SjoerdMeijer updated this revision to Diff 129957.
SjoerdMeijer added a reviewer: eli.friedman.
SjoerdMeijer added a subscriber: eli.friedman.
SjoerdMeijer added a comment.
This fixes most issues, now I am working on the only remaining failure
fp16-promote.ll, which is missing an upconvert.
I've written an RFC to list here explaining the general approach:
http://lists.llvm.org/pipermail/llvm-dev/2017-December/119467.html
And as I explained there, I want to add f16 as a legal type, and don't want any
regressions for the storage-only type behaviour. That is the case, with one
exception in fp16-promote.ll, where I accept one minor performance
regression (not correctness) for now. That's a bitcast not being codegen'd,
which I still need to look into.
I've added @eli.friedman as a reviewer here who commented on the RFC.
And as the patch is becoming big, and while I am fixing the last issue, I was wondering
if @eli.friedman and @olista01 can double-check the approach and look if we think this patch
is how we want to approach this. Of course, any other comments, nit picks are also
welcome too.
And just as another reminder, the motivation to do all this groundwork and plumbing, was to
enable instructions selection for Armv8.2-A FP16 instructions, i.e. let instruction selection work
on the f16 types. This patch, just a demonstrator (and a check), includes instruction selection for some
native f16 add and sub instructions.
https://reviews.llvm.org/D38315
Files:
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/Target/ARM/ARMCallingConv.td
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrVFP.td
lib/Target/ARM/ARMRegisterInfo.td
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
test/CodeGen/ARM/fp16-args.ll
test/CodeGen/ARM/fp16-instructions.ll
test/CodeGen/ARM/fp16-v3.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38315.129957.patch
Type: text/x-patch
Size: 43095 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180116/cff3390d/attachment-0001.bin>
More information about the llvm-commits
mailing list