aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/vec_reve_2.c
blob: 4fb91bd49ced2e4e15cb15db64e800c64d6c72ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* { dg-do compile } */
/* { dg-options "-mdejagnu-cpu=power9 -mvsx -O2" } */
/* { dg-require-effective-target powerpc_vsx } */

#include <altivec.h>

vector int foo1 (vector int a)
{
   return vec_reve (a);
}

vector float foo2 (vector float a)
{
   return vec_reve (a);
}

vector short foo3 (vector short a)
{
   return vec_reve (a);
}

vector char foo4 (vector char a)
{
   return vec_reve (a);
}

/* { dg-final { scan-assembler-times {\mxxbrq\M} 4 } } */
/* { dg-final { scan-assembler-times {\mxxbrw\M} 2 } } */
/* { dg-final { scan-assembler-times {\mxxbrh\M} 1 } } */