blob: 74d305a8fbc5ae8b21c499b2513c3ba501fe52b9 [file] [log] [blame]
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mdejagnu-cpu=power9 -O2" } */
#include <altivec.h>
vector signed char
count_trailing_zeros_v16qi_1s (vector signed char a)
{
return vec_vctz (a);
}
vector signed char
count_trailing_zeros_v16qi_2s (vector signed char a)
{
return vec_vctzb (a);
}
vector unsigned char
count_trailing_zeros_v16qi_1u (vector unsigned char a)
{
return vec_vctz (a);
}
vector unsigned char
count_trailing_zeros_v16qi_2u (vector unsigned char a)
{
return vec_vctzb (a);
}
vector short
count_trailing_zeros_v8hi_1s (vector short a)
{
return vec_vctz (a);
}
vector short
count_trailing_zeros_v8hi_2s (vector short a)
{
return vec_vctzh (a);
}
vector unsigned short
count_trailing_zeros_v8hi_1u (vector unsigned short a)
{
return vec_vctz (a);
}
vector unsigned short
count_trailing_zeros_v8hi_2u (vector unsigned short a)
{
return vec_vctzh (a);
}
vector int
count_trailing_zeros_v4si_1s (vector int a)
{
return vec_vctz (a);
}
vector int
count_trailing_zeros_v4si_2s (vector int a)
{
return vec_vctzw (a);
}
vector unsigned int
count_trailing_zeros_v4si_1u (vector unsigned int a)
{
return vec_vctz (a);
}
vector unsigned int
count_trailing_zeros_v4si_2u (vector unsigned int a)
{
return vec_vctzw (a);
}
vector long long
count_trailing_zeros_v2di_1s (vector long long a)
{
return vec_vctz (a);
}
vector long long
count_trailing_zeros_v2di_2s (vector long long a)
{
return vec_vctzd (a);
}
vector unsigned long long
count_trailing_zeros_v2di_1u (vector unsigned long long a)
{
return vec_vctz (a);
}
vector unsigned long long
count_trailing_zeros_v2di_2u (vector unsigned long long a)
{
return vec_vctzd (a);
}
/* { dg-final { scan-assembler "vctzb" } } */
/* { dg-final { scan-assembler "vctzd" } } */
/* { dg-final { scan-assembler "vctzh" } } */
/* { dg-final { scan-assembler "vctzw" } } */
/* { dg-final { scan-assembler-not "cnttzd" } } */
/* { dg-final { scan-assembler-not "cnttzw" } } */