This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC][PATCH][RS6000] Support for PowerPC 750CL paired-single instructions


Hello David,

Thanks for your review!

> 1) Where is TARGET_PAIRED_FLOAT defined if 750cl.h is not included?

I fixed that. It's now defined in rs6000.h.

>
> 2) Why is this enabled for powerpc64-linux?  Why not a special paired
> configuration and why not powerpc-linux?

fixed. I was not sure if a special paired configuration is needed. I
can add it if you think it's needed.

> 3) The patch damages the formatting in an Altivec function:

fixed.

>
> 4) The patch adds PROCESSOR_PPC750CL and related CPU attr, but no
> scheduling information.  It only uses PROCESSOR_PPC750CL identically to
> PROCESSOR_PPC750, so why define it?  It doesn't even enable
TARGET_PAIRED.

I removed those.

> 5) The patch adds paired builtins to the bdesc_Narg structures, but those
> only are enabled if -maltivec or -mspe is used.  There is no mask, but
the
> code in rs6000_expand_builtin asserts that they are enabled.  How does
> this work?

I recall this problem related to the fact we reached the limit of mask
bits on ppc.  Therefore I added the following check in def_builtin to
enable 750cl builtins:

static void
def_builtin (int mask, const char *name, tree type, int code)
{
  if ((mask & target_flags) || (TARGET_PAIRED_FLOAT && target_flags))
    {
      if (rs6000_builtin_decls[code])
        abort ();

      rs6000_builtin_decls[code] =
        add_builtin_function (name, type, code, BUILT_IN_MD,
                              NULL, NULL_TREE);
    }
}

Attached is the patch with your comments.

Thanks,
Revital

(See attached file: patch_750cl_16_8.txt)

Attachment: patch_750cl_16_8.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]