This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add support for fixed vector sign/zero extend from mask types.
ClosedPublic

Authored by craig.topper on Feb 17 2021, 3:28 PM.

Details

Summary

Due to vXi64 on RV32, I've directly emitted this using _VL ISD
opcodes. If it wasn't for that we could just use fixed vector
BUILD_VECTOR and VSELECT and let those each be legalized.

Diff Detail

Event Timeline

craig.topper created this revision.Feb 17 2021, 3:28 PM
craig.topper requested review of this revision.Feb 17 2021, 3:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2021, 3:28 PM
Herald added a subscriber: MaskRay. · View Herald Transcript

clang-format

frasercrmck added inline comments.Feb 18 2021, 1:18 AM
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll
3

The "unused prefixes" error is catching us out here. Maybe remove RV32, RV64, unless you think it *should* produce different codegen?

I must have added that before I fixed the RV32 behavior. Not sure why I didn’t see the error unless I forgot to run check-llvm after running the update script.

frasercrmck accepted this revision.Feb 18 2021, 1:41 AM

I must have added that before I fixed the RV32 behavior. Not sure why I didn’t see the error unless I forgot to run check-llvm after running the update script.

I had the same issue the other day (which sadly I only noticed after pushing). I was wondering if I'd forgotten to rebuild FileCheck or something.

The changes themselves LGTM though.

This revision is now accepted and ready to land.Feb 18 2021, 1:41 AM
This revision was landed with ongoing or failed builds.Feb 18 2021, 9:09 AM
This revision was automatically updated to reflect the committed changes.