[PATCH] D75861: [SVE] Generate overloaded functions for ACLE intrinsics.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 10:14:11 PDT 2020


sdesmalen created this revision.
sdesmalen added reviewers: SjoerdMeijer, miyuki, efriedma, simon_tatham.
Herald added subscribers: cfe-commits, danielkiss, dmgreen, psnobl, rkruppe, kristof.beyls, tschuett.
Herald added a reviewer: rengolin.
Herald added a project: clang.

The SVE ACLE allows using a short-form for the intrinsics, e.g.
the following two declarations generate the same code:

    
  svuint32_t svld1(svbool_t, uint32_t const *);
  svuint32_t svld1_u32(svbool_t, uint32_t const *);
    

This patch also adds the attribute:

  __clang_arm_sve_alias
    

similar to what has been done for MVE in:

  https://reviews.llvm.org/D67159
    

so that any call to svld1(svbool_t, uint32_t const *) will
map to __builtin_sve_svld1_u32.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75861

Files:
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/lib/AST/ASTContext.cpp
  clang/lib/AST/Decl.cpp
  clang/lib/Sema/SemaDeclAttr.cpp
  clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1_shortform.c
  clang/test/Misc/pragma-attribute-supported-attributes-list.test
  clang/test/Sema/arm-sve-alias-attribute.c
  clang/utils/TableGen/SveEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75861.249142.patch
Type: text/x-patch
Size: 15817 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/41af991b/attachment.bin>


More information about the llvm-commits mailing list