This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Add lowering for fixed length vector fdiv, fma, fmul and fsub operations.
ClosedPublic

Authored by paulwalker-arm on Jul 17 2020, 8:19 AM.

Diff Detail

Event Timeline

paulwalker-arm created this revision.Jul 17 2020, 8:19 AM

This is just a clone of the work already done for FADD.

cameron.mcinally accepted this revision.Jul 17 2020, 1:05 PM

LGTM

Do we need to worry about fixed types less than 64b? E.g. <1 x float>.

This revision is now accepted and ready to land.Jul 17 2020, 1:05 PM
paulwalker-arm added a comment.EditedJul 17 2020, 3:49 PM

Do we need to worry about fixed types less than 64b? E.g. <1 x float>.

At some point I think yes. Currently SVE fixed length code generation tries to remain compatible with the way NEON does things for the types it already supported. That means <1 x float> will be scalarised (depending on the type and operation widening is likely to be the next option). It's an area that really needs an ABI defining before we can break away from NEON.

This revision was automatically updated to reflect the committed changes.