This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add ARMv8.2-A FP16 vector intrinsics
AcceptedPublic

Authored by az on Feb 22 2018, 4:00 PM.

Details

Reviewers
SjoerdMeijer
Summary

This patch adds the fp16 neon vector intrinsic for ARM as described in the ARM ACLE document.

While this patch may seem large at first but it is essentially a modification/addition on top of some old work by doing this:

Diff Detail

Event Timeline

az created this revision.Feb 22 2018, 4:00 PM
SjoerdMeijer accepted this revision.Mar 6 2018, 6:39 AM

Look like sensible cleanups/fixes/additions to me.

We were struggling whether to pass an i16 or f16 type, which can both be illegal types.
Therefore, it perhaps doesn't really matter much which one we use. At the time we
were having these problems, the ARM backend wasn't ready for f16s, but a lot has changed
since then. So I think we can get this in, review where we are, and iterate on this
if necessary.

This revision is now accepted and ready to land.Mar 6 2018, 6:39 AM

This change broke building Qt for armv7, see PR36683 for details.

This change broke building Qt for armv7, see PR36683 for details.

Ping - any update on looking into this? Should we revert this change for now, until the breakage is handled?

Hi @mstorsjo, thanks for reporting this!
I was waiting for @az, and only had a quick look myself, but I don't think it's going to be
a quick fix. So that would suggest indeed that a revert is a best. Perhaps we can wait a few
more hours to give the guys in the US time zone the opportunity to reply in case I've
missed something, but yes, let's revert "end of today" otherwise.

Reverted in r327437.

FYI: I have partially recommitted this in r327455; I have separated out the minimal functional change related to the FP16 macros.