This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][NFC] Remove call to useSVEForFixedLengthVectors in useSVEForFixedLengthVectorVT
AbandonedPublic

Authored by david-arm on Feb 3 2022, 8:58 AM.

Details

Summary

We want to remove the call to useSVEForFixedLengthVectors in
useSVEForFixedLengthVectorVT and instead call it explicitly at
the callsite of useSVEForFixedLengthVectorVT. This gives us more
flexibility to decide when to use SVE for fixed-length vectors,
since useSVEForFixedLengthVectors only returns true if the minimum
SVE vector length is >= 256 bits. There are times where we actually
do want to use SVE to lower the operation even when the min SVE
length is 128 bits, since SVE can be used for certain operations
that are missing from the NEON architecture, e.g. 64-bit integer
vector multiplies.

This patch was created in response to comments on D118802.

Diff Detail

Event Timeline

david-arm created this revision.Feb 3 2022, 8:58 AM
david-arm requested review of this revision.Feb 3 2022, 8:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 3 2022, 8:59 AM
CarolineConcatto added inline comments.
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
3190

Is it missing and extra &?

david-arm added inline comments.Feb 3 2022, 9:03 AM
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
3190

You're right @CarolineConcatto, good spot!

david-arm abandoned this revision.Feb 4 2022, 12:58 AM