diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2020-10-15 14:12:52 -0400 |
---|---|---|
committer | David Edelsohn <dje.gcc@gmail.com> | 2020-10-15 15:25:40 -0400 |
commit | b7beab8282a877da06713bf38f9440ccc82f10b9 (patch) | |
tree | 0bac8616e2b8badf7ac7876ff1bdef33f4ebce3d /gcc | |
parent | 7dbf96e2a2a673d78a23da9155c0b4c4c36621c7 (diff) | |
download | gcc-b7beab8282a877da06713bf38f9440ccc82f10b9.zip gcc-b7beab8282a877da06713bf38f9440ccc82f10b9.tar.gz gcc-b7beab8282a877da06713bf38f9440ccc82f10b9.tar.bz2 |
testsuite: Fix some endianness bugs in p9 runnable tests.
This patch fixes some bugs in the powerpc testsuite for runnable tests
whose expected values were endian dependent.
gcc/testsuite/ChangeLog:
2020-10-15 David Edelsohn <dje.gcc@gmail.com>
* gcc.target/powerpc/builtins-1-p9-runnable.c: Adjust for big endian.
* gcc.target/powerpc/builtins-7-p9-runnable.c: Same.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c | 34 |
2 files changed, 39 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c b/gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c index 711e3d0..9766541 100644 --- a/gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c +++ b/gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c @@ -16,8 +16,13 @@ int main() { vfb = (vector float){10.0, -2.0, 70.0, 999.0 }; /* Expected results. */ +#ifdef __BIG_ENDIAN__ + vexpected = (vector unsigned short) { 0x4900, 0xc000, 0x5460, 0x63ce, + 0x3666, 0x3e66, 0x4d00, 0x563e }; +#else vexpected = (vector unsigned short) { 0x3666, 0x3e66, 0x4d00, 0x563e, - 0x4900, 0xc000, 0x5460, 0x63ce}; + 0x4900, 0xc000, 0x5460, 0x63ce }; +#endif /* vresult = vec_pack_to_short_fp32 (vfa, vfb); @@ -44,7 +49,7 @@ int main() { for(i = 0; i< 8; i++) { if (vresult[i] != vexpected[i]) { printf("i=[%d] 0x%x != 0x%x \n",i,vresult[i],vexpected[i]); - abort(); + abort(); } } } diff --git a/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c b/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c index 1333d01..fa4eb2d 100644 --- a/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c +++ b/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c @@ -93,10 +93,17 @@ int main() vsi_arg = (vector signed int){0xA, 0xB, 0xC, 0xD}; +#ifdef __BIG_ENDIAN__ + vec_uc_expected = (vector unsigned char){0, 0, 0, 0xB, + 5, 6, 7, 8, + 9, 10, 11, 12, + 13, 14, 15, 16}; +#else vec_uc_expected = (vector unsigned char){0xC, 0, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; +#endif /* Test vec_insert4b() */ /* Insert into char 0 location */ vec_uc_result = vec_insert4b (vsi_arg, vec_uc_arg, 0); @@ -112,10 +119,17 @@ int main() } /* insert into char 4 location */ +#ifdef __BIG_ENDIAN__ + vec_uc_expected = (vector unsigned char){1, 2, 3, 4, + 0, 0, 0, 3, + 9, 10, 11, 12, + 13, 14, 15, 16}; +#else vec_uc_expected = (vector unsigned char){1, 2, 3, 4, 2, 0, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16}; +#endif vui_arg = (vector unsigned int){0x4, 0x3, 0x2, 0x1}; vec_uc_result = vec_insert4b (vui_arg, vec_uc_arg, 4); @@ -132,12 +146,20 @@ int main() /* Test vec_extract4b() */ /* Extract 4b, from char 0 location */ +#ifdef __BIG_ENDIAN__ + vec_uc_arg = (vector unsigned char){0, 0, 0, 10, + 0, 0, 0, 20, + 0, 0, 0, 30, + 0, 0, 0, 40}; + vec_ull_expected = (vector unsigned long long){10, 0}; +#else vec_uc_arg = (vector unsigned char){10, 0, 0, 0, 20, 0, 0, 0, 30, 0, 0, 0, 40, 0, 0, 0}; - vec_ull_expected = (vector unsigned long long){0, 10}; +#endif + vec_ull_result = vec_extract4b(vec_uc_arg, 0); if (result_wrong_ull(vec_ull_expected, vec_ull_result)) @@ -151,12 +173,20 @@ int main() } /* Extract 4b, from char 12 location */ +#ifdef __BIG_ENDIAN__ + vec_uc_arg = (vector unsigned char){0, 0, 0, 10, + 0, 0, 0, 20, + 0, 0, 0, 30, + 0, 0, 0, 40}; + vec_ull_expected = (vector unsigned long long){40, 0}; +#else vec_uc_arg = (vector unsigned char){10, 0, 0, 0, 20, 0, 0, 0, 30, 0, 0, 0, 40, 0, 0, 0}; - vec_ull_expected = (vector unsigned long long){0, 40}; +#endif + vec_ull_result = vec_extract4b(vec_uc_arg, 12); if (result_wrong_ull(vec_ull_expected, vec_ull_result)) |