https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101880

            Bug ID: 101880
           Summary: mangling vec_perm_expr is not implemented
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ABI
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Take:
template<typename T>
auto foo(const T& x) -> decltype(__builtin_shuffle(x,x)) { return x; }


#define vector(x,y) x __attribute__((vector_size(y*sizeof(x)))) 

vector(int,16) y(vector(int,16) x)
{
    return foo(x);
}
---- CUT ----
We produce currently:

<source>: In instantiation of 'decltype ('vec_perm_expr' not supported by
dump_expr<expression error>) foo(const T&) [with T = __vector(16) int]':
<source>:3:6: sorry, unimplemented: mangling vec_perm_expr
    3 | auto foo(const T& x) -> decltype(__builtin_shuffle(x,x)) { return x; }
      |      ^~~

Reply via email to