AArch64 vabs_s64 intrinsic

From-SVN: r201067
This commit is contained in:
Ian Bolton 2013-07-19 18:41:22 +00:00 committed by Ian Bolton
parent c525ba9a3f
commit ba590e6327
4 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2013-07-19 Ian Bolton <ian.bolton@arm.com>
* config/aarch64/arm_neon.h (vabs_s64): New function
2013-07-19 Georg-Johann Lay <avr@gjlay.de>
PR target/57516

View File

@ -17395,6 +17395,12 @@ vabs_f32 (float32x2_t __a)
return __builtin_aarch64_absv2sf (__a);
}
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vabs_s64 (int64x1_t __a)
{
return __builtin_llabs (__a);
}
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vabsq_f32 (float32x4_t __a)
{

View File

@ -1,3 +1,8 @@
2013-07-19 Ian Bolton <ian.bolton@arm.com>
* gcc.target/aarch64/scalar_intrinsics.c (test_vabs_s64): Added
new testcase.
2013-07-19 David Edelsohn <dje.gcc@gmail.com>
* gfortran.fortran-torture/execute/intrinsic_nearest.x: Skip on AIX.

View File

@ -32,6 +32,18 @@ test_vaddd_s64_2 (int64x1_t a, int64x1_t b, int64x1_t c, int64x1_t d)
vqaddd_s64 (a, d));
}
/* { dg-final { scan-assembler-times "\\tabs\\td\[0-9\]+, d\[0-9\]+" 1 } } */
int64x1_t
test_vabs_s64 (int64x1_t a)
{
uint64x1_t res;
force_simd (a);
res = vabs_s64 (a);
force_simd (res);
return res;
}
/* { dg-final { scan-assembler-times "\\tcmeq\\td\[0-9\]+, d\[0-9\]+, d\[0-9\]+" 1 } } */
uint64x1_t