This is an archive of the discontinued LLVM Phabricator instance.

[SveEmitter] Add builtins for SVE2 Polynomial arithmetic
ClosedPublic

Authored by sdesmalen on May 6 2020, 4:47 AM.

Details

Summary

This patch adds builtins for:

  • sveorbt
  • sveortb
  • svpmul
  • svpmullb, svpmullb_pair
  • svpmullt, svpmullt_pair

The svpmullb and svpmullt builtins are expressed using the svpmullb_pair
and svpmullt_pair LLVM IR intrinsics, respectively.

Diff Detail

Event Timeline

sdesmalen created this revision.May 6 2020, 4:47 AM
efriedma accepted this revision.May 6 2020, 8:50 AM

LGTM with one minor comment

clang/lib/CodeGen/CGBuiltin.cpp
7824

Please add a FIXME for big-endian. :)

This revision is now accepted and ready to land.May 6 2020, 8:50 AM
sdesmalen marked an inline comment as done.May 7 2020, 3:53 AM
sdesmalen added inline comments.
clang/lib/CodeGen/CGBuiltin.cpp
7824

Ah yes good spot. I've moved this (and the other use of bitcast for svreinterpret) to a separate function EmitSVEReinterpret, that has the FIXME. That way we only need to fix it in one place.

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMay 7 2020, 3:56 AM