This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Custom lowering of copysign f16
ClosedPublic

Authored by SjoerdMeijer on Aug 18 2017, 1:28 PM.

Details

Summary

This is a follow up patch of https://reviews.llvm.org/D36396 and introduces custom lowering of copysign f16 to avoid promotions to single precision types when the subtarget supports fullfp16.

Diff Detail

Event Timeline

SjoerdMeijer created this revision.Aug 18 2017, 1:28 PM
olista01 added inline comments.Aug 21 2017, 2:24 AM
lib/Target/AArch64/AArch64ISelLowering.cpp
4082

Why does this need a special case for f16?

4116

We could also do this for v4f16 and v8f16.

I have removed the special case, and added the vector types.
For the copysign intrinsics working on these vectors, I have not yet added new test cases, because it looks like I first have to first do some work to allow f16 vectors.

Just to clarify my last comment, I will repeat the exercise I did in D36396 allowing f16 scalars, and will now start working on allowing f16 vector types. I will then also add tests for these.

This revision is now accepted and ready to land.Aug 24 2017, 1:52 AM
This revision was automatically updated to reflect the committed changes.