This is an archive of the discontinued LLVM Phabricator instance.

[Clang][RISCV] Improve diagnostic message for full multiply intrinsics
ClosedPublic

Authored by eopXD on Jul 16 2023, 8:22 PM.

Details

Summary

The full multiply intrinsics are not included for EEW=64 in Zve64*.
They require the V extension to be enabled.

This commit improves diagnostic message from

<source>:4:10: error: call to undeclared function '__riscv_vsmul_vv_i64m1';
    4 |   return __riscv_vsmul_vv_i64m1(op1, op2, __RISCV_VXRM_RNU, vl);

to

test.c:5:10: error: builtin requires: v
    5 |   return __riscv_vsmul_vv_i64m1(op1, op2, __RISCV_VXRM_RNU, vl);

Diff Detail

Event Timeline

eopXD created this revision.Jul 16 2023, 8:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 16 2023, 8:22 PM
eopXD requested review of this revision.Jul 16 2023, 8:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 16 2023, 8:22 PM
eopXD updated this revision to Diff 541098.Jul 17 2023, 9:42 AM

Rebase to latest main

craig.topper accepted this revision.Jul 18 2023, 10:59 AM

LGTM for now, but long term I think we need a mechanism to do this builtins that require extensions like vector crypto.

This revision is now accepted and ready to land.Jul 18 2023, 10:59 AM
This revision was landed with ongoing or failed builds.Jul 18 2023, 7:39 PM
This revision was automatically updated to reflect the committed changes.