This is an archive of the discontinued LLVM Phabricator instance.

AArch64: support bfloat extend and trunc
Needs ReviewPublic

Authored by t.p.northover on Mar 24 2021, 6:32 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

A useful step on the way to supporting full bfloat arithmetic is allowing code that immediately extends a bfloat before doing anything non-trivial, and truncate it back before storage.

This patch implements that by making sure we don't try any extload/truncstores and adding patterns for the relevant conversions.

I also had to ban GlobalISel from dealing with bfloat here because its type system only has s16 and it thinks they're normal half conversions.

Diff Detail

Event Timeline

t.p.northover created this revision.Mar 24 2021, 6:32 AM
t.p.northover requested review of this revision.Mar 24 2021, 6:32 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 24 2021, 6:32 AM