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


	Thanks for implementing the support for this processor.

	A couple of early comments:

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

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

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

 /* Expand vec_init builtin.  */
 static rtx
 altivec_expand_vec_init_builtin (tree type, tree exp, rtx target)
@@ -8012,7 +8171,6 @@
     case ALTIVEC_BUILTIN_VEC_EXT_V16QI:
     case ALTIVEC_BUILTIN_VEC_EXT_V4SF:
       return altivec_expand_vec_ext_builtin (exp, target);
-
     default:
       break;
       /* Fall through.  */
@@ -8054,7 +8212,8 @@
 					exp, target);
     case ALTIVEC_BUILTIN_LVX:
       return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx,
-					exp, target);
+					exp, target);case ALTIVEC_BUILTIN_STVX:
+      return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx, exp);
     default:
       break;
       /* Fall through.  */


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.

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?

Thanks, David


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