Message ID | 20230414073026.2766449-1-guojiufu@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | testsuite: update builtins-5-p9-runnable.c for BE | expand |
On 2023-04-14 15:30, Jiufu Guo wrote: > Hi, > > As PR108809 mentioned, vec_xl_len_r and vec_xst_len_r are tested > in gcc.target/powerpc/builtins-5-p9-runnable.c. > The vector operand of these two bifs are different from the view > of v16_int8 between BE and LE, even it is same from the view of > 128bits(uint128/V1TI). > > The test case gcc.target/powerpc/builtins-5-p9-runnable.c was > written for LE environment, this patch updates it for BE. > > Tested on ppc64 BE and LE. > Is this ok for trunk? > > BR, > Jeff (Jiufu) > > gcc/testsuite/ChangeLog: > PR target/108809 > * gcc.target/powerpc/builtins-5-p9-runnable.c: Updated. Add missing PR number. BR, Jeff (Jiufu) > > --- > .../powerpc/builtins-5-p9-runnable.c | 35 +++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c > b/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c > index 14e935513fe..1a5f1d6383a 100644 > --- a/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c > +++ b/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c > @@ -78,8 +78,13 @@ int main() { > size = 8; > vec_uc_result1 = vec_xl_len_r(data_uc, size); > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){8, 7, 6, 5, 4, 3, 2, 1, > 0, 0, 0, 0, 0, 0, 0, 0,}; > +#else > + vec_uc_expected1 = (vector unsigned char){0, 0, 0, 0, 0, 0, 0, 0, > + 1, 2, 3, 4, 5, 6, 7, 8,}; > +#endif > > if (result_wrong (vec_uc_expected1, vec_uc_result1)) > { > @@ -107,8 +112,13 @@ int main() { > size = 4; > vec_uc_result1 = vec_xl_len_r(data_uc, size); > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 4, 3, 2, 1, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0 > }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, > + 0, 0, 0, 0, 1, 2, 3, 4 > }; > +#endif > > if (result_wrong (vec_uc_expected1, vec_uc_result1)) > { > @@ -135,8 +145,13 @@ int main() { > size = 2; > vec_uc_result1 = vec_xl_len_r(data_uc, size); > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 2, 1, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0 > }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, > + 0, 0, 0, 0, 0, 0, 1, 2 > }; > +#endif > > if (result_wrong (vec_uc_expected1, vec_uc_result1)) > { > @@ -231,8 +246,13 @@ int main() { > } > > /* VEC_XST_LEN_R */ > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 16, 15, 14, 13, 12, 11, > 10, 9, > 8, 7, 6, 5, 4, 3, 2, 1 }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > + 9, 10, 11, 12, 13, 14, 15, 16 }; > +#endif > store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > 9, 10, 11, 12, 13, 14, 15, 16 }; > vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, > @@ -265,8 +285,13 @@ int main() { > #endif > } > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 2, 1, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0 > }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 15, 16, 0, 0, 0, 0, 0, > 0, > + 0, 0, 0, 0, 0, 0, 0, 0 > }; > +#endif > store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > 9, 10, 11, 12, 13, 14, 15, 16 }; > vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, > @@ -299,8 +324,13 @@ int main() { > #endif > } > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 16, 15, 14, 13, 12, 11, > 10, 9, > 8, 7, 6, 5, 4, 3, 2, 1 > }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > + 9, 10, 11, 12, 13, 14, 15, 16 }; > +#endif > store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > 9, 10, 11, 12, 13, 14, 15, 16 }; > vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, > @@ -333,8 +363,13 @@ int main() { > #endif > } > > +#ifdef __LITTLE_ENDIAN__ > vec_uc_expected1 = (vector unsigned char){ 14, 13, 12, 11, 10, 9, > 8, 7, > 6, 5, 4, 3, 2, 1, 0, 0 > }; > +#else > + vec_uc_expected1 = (vector unsigned char){ 3, 4, 5, 6, 7, 8, 9, 10, > + 11, 12, 13, 14, 15, 16, > 0, 0 }; > +#endif > store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, > 9, 10, 11, 12, 13, 14, 15, 16 }; > vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0,
Hi Jeff, on 2023/4/14 16:01, guojiufu wrote: > On 2023-04-14 15:30, Jiufu Guo wrote: >> Hi, >> >> As PR108809 mentioned, vec_xl_len_r and vec_xst_len_r are tested >> in gcc.target/powerpc/builtins-5-p9-runnable.c. >> The vector operand of these two bifs are different from the view >> of v16_int8 between BE and LE, even it is same from the view of >> 128bits(uint128/V1TI). >> >> The test case gcc.target/powerpc/builtins-5-p9-runnable.c was >> written for LE environment, this patch updates it for BE. >> >> Tested on ppc64 BE and LE. >> Is this ok for trunk? >> >> BR, >> Jeff (Jiufu) >> >> gcc/testsuite/ChangeLog: >> > PR target/108809 s/target/testsuite/ >> * gcc.target/powerpc/builtins-5-p9-runnable.c: Updated. > s/Updated/Update for BE/ OK with these two nits fixed, thanks! BR, Kewen
On 2023-04-14 17:09, Kewen.Lin wrote: > Hi Jeff, > > on 2023/4/14 16:01, guojiufu wrote: >> On 2023-04-14 15:30, Jiufu Guo wrote: >>> Hi, >>> >>> As PR108809 mentioned, vec_xl_len_r and vec_xst_len_r are tested >>> in gcc.target/powerpc/builtins-5-p9-runnable.c. >>> The vector operand of these two bifs are different from the view >>> of v16_int8 between BE and LE, even it is same from the view of >>> 128bits(uint128/V1TI). >>> >>> The test case gcc.target/powerpc/builtins-5-p9-runnable.c was >>> written for LE environment, this patch updates it for BE. >>> >>> Tested on ppc64 BE and LE. >>> Is this ok for trunk? >>> >>> BR, >>> Jeff (Jiufu) >>> >>> gcc/testsuite/ChangeLog: >>> >> PR target/108809 > > s/target/testsuite/ > >>> * gcc.target/powerpc/builtins-5-p9-runnable.c: Updated. >> > > s/Updated/Update for BE/ > > OK with these two nits fixed, thanks! Thanks for the very helpful comments! Committed via r13-7202-ga1f25e04b8d10b. BR, Jeff (Jiufu) > > BR, > Kewen
diff --git a/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c b/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c index 14e935513fe..1a5f1d6383a 100644 --- a/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c +++ b/gcc/testsuite/gcc.target/powerpc/builtins-5-p9-runnable.c @@ -78,8 +78,13 @@ int main() { size = 8; vec_uc_result1 = vec_xl_len_r(data_uc, size); +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,}; +#else + vec_uc_expected1 = (vector unsigned char){0, 0, 0, 0, 0, 0, 0, 0, + 1, 2, 3, 4, 5, 6, 7, 8,}; +#endif if (result_wrong (vec_uc_expected1, vec_uc_result1)) { @@ -107,8 +112,13 @@ int main() { size = 4; vec_uc_result1 = vec_xl_len_r(data_uc, size); +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +#else + vec_uc_expected1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 4 }; +#endif if (result_wrong (vec_uc_expected1, vec_uc_result1)) { @@ -135,8 +145,13 @@ int main() { size = 2; vec_uc_result1 = vec_xl_len_r(data_uc, size); +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +#else + vec_uc_expected1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 2 }; +#endif if (result_wrong (vec_uc_expected1, vec_uc_result1)) { @@ -231,8 +246,13 @@ int main() { } /* VEC_XST_LEN_R */ +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; +#else + vec_uc_expected1 = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16 }; +#endif store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, @@ -265,8 +285,13 @@ int main() { #endif } +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +#else + vec_uc_expected1 = (vector unsigned char){ 15, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 }; +#endif store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, @@ -299,8 +324,13 @@ int main() { #endif } +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; +#else + vec_uc_expected1 = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16 }; +#endif store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0, @@ -333,8 +363,13 @@ int main() { #endif } +#ifdef __LITTLE_ENDIAN__ vec_uc_expected1 = (vector unsigned char){ 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0 }; +#else + vec_uc_expected1 = (vector unsigned char){ 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 0, 0 }; +#endif store_data_uc = (vector unsigned char){ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; vec_uc_result1 = (vector unsigned char){ 0, 0, 0, 0, 0, 0, 0, 0,