+2018-02-14 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Issue
+ warning message if user requests -maltivec=be.
+ * doc/invoke.texi: Document deprecation of -maltivec=be.
+
2018-02-14 Will Schmidt <will_schmidt@vnet.ibm.com>
PR target/84220
if (global_init_p)
rs6000_isa_flags_explicit = global_options_set.x_rs6000_isa_flags;
+ /* We plan to deprecate the -maltivec=be option. For now, just
+ issue a warning message. */
+ if (global_init_p
+ && rs6000_altivec_element_order == 2)
+ warning (0, "%qs command-line option is deprecated",
+ "-maltivec=be");
+
/* On 64-bit Darwin, power alignment is ABI-incompatible with some C
library functions, so warn about it. The flag may be useful for
performance studies from time to time though, so don't disable it
@opindex maltivec=be
Generate AltiVec instructions using big-endian element order,
regardless of whether the target is big- or little-endian. This is
-the default when targeting a big-endian platform.
+the default when targeting a big-endian platform. Using this option
+is currently deprecated. Support for this feature will be removed in
+GCC 9.
The element order is used to interpret element numbers in AltiVec
intrinsics such as @code{vec_splat}, @code{vec_extract}, and
+2018-02-14 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ * gcc.dg/vmx/extract-be-order.c: Disable -maltivec=be warning so
+ this test case still works ok.
+ * gcc.dg/vmx/extract-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/insert-be-order.c: Likewise.
+ * gcc.dg/vmx/insert-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/ld-be-order.c: Likewise.
+ * gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/lde-be-order.c: Likewise.
+ * gcc.dg/vmx/ldl-be-order.c: Likewise.
+ * gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/merge-be-order.c: Likewise.
+ * gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/mult-even-odd-be-order.c: Likewise.
+ * gcc.dg/vmx/pack-be-order.c: Likewise.
+ * gcc.dg/vmx/perm-be-order.c: Likewise.
+ * gcc.dg/vmx/splat-be-order.c: Likewise.
+ * gcc.dg/vmx/splat-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/st-be-order.c: Likewise.
+ * gcc.dg/vmx/st-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/ste-be-order.c: Likewise.
+ * gcc.dg/vmx/stl-be-order.c: Likewise.
+ * gcc.dg/vmx/stl-vsx-be-order.c: Likewise.
+ * gcc.dg/vmx/sum2s-be-order.c: Likewise.
+ * gcc.dg/vmx/unpack-be-order.c: Likewise.
+ * gcc.dg/vmx/vsums-be-order.c: Likewise.
+ * gcc.target/powerpc/vec-setup-be-long.c: Likewise.
+
2018-02-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/84350
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx -w" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx -w" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx -Wno-shift-overflow" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx -Wno-shift-overflow" } */
#include "harness.h"
-/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
#include "harness.h"
/* { dg-do run { target { powerpc64le*-*-linux* } } } */
/* { dg-require-effective-target vsx_hw } */
-/* { dg-options "-O2 -mvsx -maltivec=be" } */
+/* Disable warnings to squelch deprecation message about -maltivec=be. */
+/* { dg-options "-w -O2 -mvsx -maltivec=be" } */
/* Test various ways of creating vectors with 2 double words and accessing the
elements. This test uses the long (on 64-bit systems) or long long datatype