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 <wschm...@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