[all-commits] [llvm/llvm-project] 9b672d: [clang][Builtins] Parse clang extended vectors typ...

Francesco Petrogalli via All-commits all-commits at lists.llvm.org
Mon Mar 4 22:51:47 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9b672de9976084872fbca764898ed722dea1dd9b
      https://github.com/llvm/llvm-project/commit/9b672de9976084872fbca764898ed722dea1dd9b
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2024-03-05 (Tue, 05 Mar 2024)

  Changed paths:
    A clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [clang][Builtins] Parse clang extended vectors types. (#83584)

Clang extended vector types are mangled as follows:

    '_ExtVector<' <lanes> ',' <scalar type> '>'

This is used to defetmine the builtins signature for builtins that
use parameters defined as

    typedef <scalar type> ext_vector_type_<lanes>_<scalar type> __attribute__((ext_vector_type(<lanes>)))

or 

    template <unsigned N, class T>
    using _ExtVector __attribute__((ext_vector_type(N))) = T;

For example:

    typedef double ext_vector_type_4_double __attribute__((ext_vector_type(4)))



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list