Skip to content

[RISCV] <vscale x 1 x *> masked.load crashes with Zve32 #140198

@topperc

Description

@topperc

<vscale x 1 x *> types aren't legal with Zve32*. The type legalizer is unable to widen non-VP masked load. It currently asserts on a call getVectorNumElements which isn't valid for scalable vectors. Replacing that with getVectorElementCount crashes in legalizing concat_vectors due to the padding of the mask with 0 elements.

I don't think we can do the 0 element padding for scalable vectors. Probably the best thing to do is to widen using VP_LOAD and limit the VL instead of padding the mask.

CC: @preames @lukel97 @wangpc-pp

Metadata

Metadata

Assignees

Labels

crashPrefer [crash-on-valid] or [crash-on-invalid]llvm:SelectionDAGSelectionDAGISel as well

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions