This is an archive of the discontinued LLVM Phabricator instance.

[Clang][RISCV] Guard RVV intrinsics types that is not available when ELEN < 64
ClosedPublic

Authored by eopXD on Jul 16 2023, 7:24 PM.

Details

Summary

(ELEN, LMUL) pairs of (8, mf8), (16, mf4), (32, mf2), (64, m1)
requires at least zve64x.

Diff Detail

Event Timeline

eopXD created this revision.Jul 16 2023, 7:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 16 2023, 7:24 PM
eopXD requested review of this revision.Jul 16 2023, 7:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 16 2023, 7:24 PM
eopXD updated this revision to Diff 541100.Jul 17 2023, 9:43 AM

Rebase to latest main

craig.topper added inline comments.Jul 17 2023, 1:40 PM
clang/lib/Sema/SemaChecking.cpp
5340

Can we do

if ((Ty->isRVVType(/* Bitwidth */ 64, /* IsFloat */ false) ||
     Ty->isRVVType(/* ElementCount */ 1)) &&
    !TI.hasFeature("zve64x"))
eopXD updated this revision to Diff 541636.Jul 18 2023, 10:48 AM
eopXD marked an inline comment as done.

Address comment from Craig.

This revision is now accepted and ready to land.Jul 18 2023, 2:36 PM
This revision was landed with ongoing or failed builds.Jul 18 2023, 6:57 PM
This revision was automatically updated to reflect the committed changes.