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]

[PATCH, rs6000] Enable VSX code generation in little endian mode


Hi,

With the recent set of patches, there are no longer any vector-related
regressions for powerpc64le-linux-gnu that do not also occur for
powerpc64-linux-gnu.  (gcc.dg/vect/vect-96.c is still broken for both
endiannesses and is being tracked.)  I did a code walkthrough on the
back-end code and did not find any additional endianness concerns.
Therefore, this patch removes the restriction that we cannot generate
VSX instructions for a little endian target.

Note that there are still two relevant patches pending approval, so this
patch is contingent on final resolution of those and will not be
committed until then.

With that restriction, is this ok for trunk?

Thanks,
Bill


2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_option_override_internal):
	Remove restriction against use of VSX instructions when generating
	code for little endian mode.


Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c	(revision 204350)
+++ gcc/config/rs6000/rs6000.c	(working copy)
@@ -3221,11 +3221,6 @@ rs6000_option_override_internal (bool global_init_
 	}
       else if (TARGET_PAIRED_FLOAT)
 	msg = N_("-mvsx and -mpaired are incompatible");
-      /* The hardware will allow VSX and little endian, but until we make sure
-	 things like vector select, etc. work don't allow VSX on little endian
-	 systems at this point.  */
-      else if (!BYTES_BIG_ENDIAN)
-	msg = N_("-mvsx used with little endian code");
       else if (TARGET_AVOID_XFORM > 0)
 	msg = N_("-mvsx needs indexed addressing");
       else if (!TARGET_ALTIVEC && (rs6000_isa_flags_explicit



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