GCC maintainers:

Per the comment from Segher, there is a typo in the ABI.  

On Tue, 2018-06-05 at 16:45 -0500, Bill Schmidt wrote:
> Hi Carl,
> 
> That looks like a typo in the ABI document to me.  The return type
> should match the
> argument types like it does for the other variants.  Sorry -- I'll
> open a bug against
> the ABI doc.
> 
> Thanks!  Good catch, Segher.
> 

>> So, the ABI doc currently says:
> > 
> >    vector unsigned char vec_permxor (vector signed char, vector
> > signed char, vector signed char);
> >    vector unsigned char vec_permxor (vector unsigned char, vector
> > unsigned char, vector unsigned char);
> > 
> > and we want it to read:
> > 
> >    vector signed char vec_permxor (vector signed char, vector
> > signed char, vector signed char);
> >    vector unsigned char vec_permxor (vector unsigned char, vector
> > unsigned char, vector unsigned char);> 
> Yep, correct!
> Bill

Given that, the changes to match the ABI in gcc/config/rs6000/rs6000-
c.c and gcc/testsuite/gcc.target/powerpc/builtins-7-runnable.c were
removed from the patch leaving just the changes to file
gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c.

The patch was retested on:

    powerpc64le-unknown-linux-gnu (Power 8 LE)   
    powerpc64le-unknown-linux-gnu (Power 9 LE)
    powerpc64-unknown-linux-gnu (Power 8 BE)

With no regressions.

Please let me know if the patch looks OK for GCC mainline.

                         Carl Love

---------------------------------------------------------------------

gcc/testsuite/ChangeLog:

2018-06-06  Carl Love  <c...@us.ibm.com>
        * gcc.target/powerpc/builtins-7-p9-runnable.c: Change first
        argument to vui_arg.
---
 gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

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 137b46b..f277344 100644
--- a/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c
+++ b/gcc/testsuite/gcc.target/powerpc/builtins-7-p9-runnable.c
@@ -82,6 +82,7 @@ vext (vector unsigned char *vc)
 int main()
 {
    vector signed int vsi_arg;
+   vector unsigned int vui_arg;
    vector unsigned char vec_uc_arg, vec_uc_result, vec_uc_expected;
    vector unsigned long long vec_ull_result, vec_ull_expected;
    unsigned long long ull_result, ull_expected;
@@ -113,10 +114,12 @@ int main()
 
    /* insert into char 4 location */
    vec_uc_expected = (vector unsigned char){1, 2, 3, 4,
-                                           0xC, 0, 0, 0,
+                                           2, 0, 0, 0,
                                            9, 10, 11, 12,
                                            13, 14, 15, 16};
-   vec_uc_result = vec_insert4b (vsi_arg, vec_uc_arg, 4);
+   vui_arg = (vector unsigned int){0x4, 0x3, 0x2, 0x1};
+
+   vec_uc_result = vec_insert4b (vui_arg, vec_uc_arg, 4);
 
    if (result_wrong_uc(vec_uc_expected, vec_uc_result))
      {
-- 
2.7.4

Reply via email to