This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Prevent autovectorization using vscale with Zvl32b.
ClosedPublic

Authored by craig.topper on Nov 2 2022, 11:47 AM.

Details

Summary

RVVBitsPerBlock is 64. If VLen==32, VLen/RVVBitsPerBlock is 0.

Diff Detail

Event Timeline

craig.topper created this revision.Nov 2 2022, 11:47 AM
craig.topper requested review of this revision.Nov 2 2022, 11:47 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptNov 2 2022, 11:47 AM
reames accepted this revision.Nov 2 2022, 12:47 PM

LGTM

I'm fine with this, but I thought we didn't support zve32f during compilation at all right now? Is this the only issue which needs fixed.

This revision is now accepted and ready to land.Nov 2 2022, 12:47 PM

LGTM

I'm fine with this, but I thought we didn't support zve32f during compilation at all right now? Is this the only issue which needs fixed.

I think zve32f works fine with Zvl64b or larger. The only issues I know of are related to use of llvm.vscale with Zvl32b. The type system limps along as long as we don't try to figure out what the value of vscale is.

This revision was landed with ongoing or failed builds.Nov 2 2022, 1:55 PM
This revision was automatically updated to reflect the committed changes.