diff mbox series

testsuite: update builtins-5-p9-runnable.c for BE

Message ID 20230414073026.2766449-1-guojiufu@linux.ibm.com
State New
Headers show
Series testsuite: update builtins-5-p9-runnable.c for BE | expand

Commit Message

Jiufu Guo April 14, 2023, 7:30 a.m. UTC
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:

	* gcc.target/powerpc/builtins-5-p9-runnable.c: Updated.

---
 .../powerpc/builtins-5-p9-runnable.c          | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Jiufu Guo April 14, 2023, 8:01 a.m. UTC | #1
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,
Kewen.Lin April 14, 2023, 9:09 a.m. UTC | #2
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
Jiufu Guo April 17, 2023, 2:42 a.m. UTC | #3
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 mbox series

Patch

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,