Add test case that was supposed to be added in commit 255556 on 2017-12-11.
gcc/testsuite/ChangeLog: 2018-06-27 Carl Love <cel@us.ibm.com> Add test case that was supposed to be added in commit 255556 on 2017-12-11. * gcc.target/vsx-vector-abss.c: New file to test vec_abss. From-SVN: r262196
This commit is contained in:
parent
b61c9b997c
commit
356d53635f
2 changed files with 102 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2018-06-27 Carl Love <cel@us.ibm.com>
|
||||
|
||||
Add test case that was supposed to be added in commit 255556 on 2017-12-11.
|
||||
|
||||
* gcc.target/vsx-vector-abss.c: New file to test vec_abss.
|
||||
|
||||
2018-06-27 Tamar Christina <tamar.christina@arm.com>
|
||||
|
||||
PR target/85769
|
||||
|
|
96
gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c
Normal file
96
gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c
Normal file
|
@ -0,0 +1,96 @@
|
|||
/* { dg-do run { target { powerpc*-*-* && lp64 } } } */
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target vsx_hw } */
|
||||
/* { dg-options "-mvsx -O2" } */
|
||||
|
||||
|
||||
#include <altivec.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef DEBUG
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
void abort (void);
|
||||
|
||||
static vector signed char
|
||||
vabss_char (vector signed char arg)
|
||||
{
|
||||
return vec_abss (arg);
|
||||
}
|
||||
|
||||
static vector signed short
|
||||
vabss_short (vector signed short arg)
|
||||
{
|
||||
return vec_abss (arg);
|
||||
}
|
||||
|
||||
static vector signed int
|
||||
vabss_int (vector signed int arg)
|
||||
{
|
||||
return vec_abss (arg);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
vector signed char val_char;
|
||||
vector signed char expected_char;
|
||||
vector signed char result_char;
|
||||
vector signed short val_short;
|
||||
vector signed short expected_short;
|
||||
vector signed short result_short;
|
||||
vector signed int val_int;
|
||||
vector signed int expected_int;
|
||||
vector signed int result_int;
|
||||
|
||||
/* CHAR */
|
||||
val_char = (vector signed char) {-7, 6, -5, 4, -3, 1, 0, -0, 1, -2, 3, -5, 6, -7};
|
||||
expected_char = (vector signed char) {7, 6, 5, 4, 3, 1, 0, 0, 1, 2, 3, 5, 6, 7};
|
||||
|
||||
result_char = vabss_char (val_char);
|
||||
|
||||
for (i = 0; i< 16; i++)
|
||||
if (result_char[i] != expected_char[i])
|
||||
#ifdef DEBUG
|
||||
printf("ERROR: vec_abss() result_char[%d] = %d, not expected_char[%d] = %d\n",
|
||||
i, result_char[i], i, expected_char[i]);
|
||||
#else
|
||||
abort ();
|
||||
#endif
|
||||
|
||||
/* SHORT */
|
||||
val_short = (vector signed short) {-0, 1, -2, 3, 4, -5, 6, -7};
|
||||
expected_short = (vector signed short) {0, 1, 2, 3, 4, 5, 6, 7};
|
||||
|
||||
result_short = vabss_short (val_short);
|
||||
|
||||
for (i = 0; i< 8; i++)
|
||||
if (result_short[i] != expected_short[i])
|
||||
#ifdef DEBUG
|
||||
printf("ERROR: vec_abss() result_short[%d] = %d, not expected_short[%d] = %d\n",
|
||||
i, result_short[i], i, expected_short[i]);
|
||||
#else
|
||||
abort ();
|
||||
#endif
|
||||
|
||||
/* INT */
|
||||
val_int = (vector signed int) {-7, 6, -5, 4};
|
||||
expected_int = (vector signed int) {7, 6, 5, 4};
|
||||
|
||||
result_int = vabss_int (val_int);
|
||||
|
||||
for (i = 0; i< 4; i++)
|
||||
if (result_int[i] != expected_int[i])
|
||||
#ifdef DEBUG
|
||||
printf("ERROR: vec_abss() result_int[%d] = %d, not expected_int[%d] = %d\n",
|
||||
i, result_int[i], i, expected_int[i]);
|
||||
#else
|
||||
abort ();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue