This is an archive of the discontinued LLVM Phabricator instance.

[MVT] Add v16f16 and v32f16 vectors.
ClosedPublic

Authored by craig.topper on Aug 20 2019, 11:30 PM.

Details

Summary

I might look at improving PR43065 which will require being
able to mark a 256 and 512 bit vector of f16 as Legal.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Aug 20 2019, 11:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 20 2019, 11:30 PM
RKSimon added inline comments.Aug 21 2019, 2:02 AM
llvm/include/llvm/CodeGen/ValueTypes.td
165 ↗(On Diff #216335)

Would it not make sense to have a comment here about keeping isVoid in sync with llvm/test/TableGen/intrinsic-varargs.td ?

llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
161 ↗(On Diff #216335)

Do these have test coverage already?

Do these need to be part of this patch or should they be in a followup?

craig.topper marked 2 inline comments as done.Aug 21 2019, 9:18 AM
craig.topper added inline comments.
llvm/include/llvm/CodeGen/ValueTypes.td
165 ↗(On Diff #216335)

Or we just move this file to Support and include it in the test....

llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
161 ↗(On Diff #216335)

I got isel errors without these lines. The default is Legal for all types. So we need to explicitly disable extloads for any legal result type. X86 does this with a generic loop and selectively reenables.

LGTM but @arsenm needs to confirm

llvm/include/llvm/CodeGen/ValueTypes.td
165 ↗(On Diff #216335)

SGTM :-)

llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
161 ↗(On Diff #216335)

OK I'll leave this to @arsenm

arsenm accepted this revision.Aug 21 2019, 10:39 AM

LGTM

This revision is now accepted and ready to land.Aug 21 2019, 10:39 AM
This revision was automatically updated to reflect the committed changes.