+2019-07-28 Alan Modra <amodra@gmail.com>
+
+ PR target/91050
+ * config/rs6000/sysv4.h (ASM_DEFAULT_SPEC): Modify if -m64.
+ * config/rs6000/default64.h (ASM_DEFAULT_SPEC): Define.
+ * config/rs6000/freebsd64.h (ASM_DEFAULT_SPEC): Don't define.
+ * config/rs6000/linux64.h (ASM_DEFAULT_SPEC): Likewise.
+ * config/rs6000/rtems.h (ASM_DEFAULT_SPEC): Likewise.
+ * config/rs6000/rs6000.h (ASM_DEFAULT_EXTRA): Define and use
+ in asm_default spec.
+ * config/rs6000/eabialtivec.h (ASM_DEFAULT_EXTRA): Redefine.
+ * config/rs6000/linuxaltivec.h (ASM_DEFAULT_EXTRA): Redefine.
+
2019-07-28 Gerald Pfeifer <gerald@pfeifer.com>
* doc/include/gpl_v3.texi (Copying): Use https for www.gnu.org.
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (ISA_2_7_MASKS_SERVER | MASK_POWERPC64 | MASK_64BIT | MASK_LITTLE_ENDIAN)
+#undef ASM_DEFAULT_SPEC
+#define ASM_DEFAULT_SPEC "-mpower8"
#else
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_PPC_GFXOPT | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64 | MASK_64BIT)
+#undef ASM_DEFAULT_SPEC
+#define ASM_DEFAULT_SPEC "-mpower4"
#endif
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_EABI | MASK_ALTIVEC)
+#undef ASM_DEFAULT_EXTRA
+#define ASM_DEFAULT_EXTRA " %{!mvsx:%{!maltivec:%{!no-maltivec:-maltivec}}}"
+
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
#define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
} \
while (0)
-#undef ASM_DEFAULT_SPEC
#undef ASM_SPEC
#undef LINK_OS_FREEBSD_SPEC
-#define ASM_DEFAULT_SPEC "-mppc%{!m32:64}"
#define ASM_SPEC "%{m32:%(asm_spec32)}%{!m32:%(asm_spec64)} %(asm_spec_common)"
#define LINK_OS_FREEBSD_SPEC "%{m32:%(link_os_freebsd_spec32)}%{!m32:%(link_os_freebsd_spec64)}"
} \
while (0)
-#undef ASM_DEFAULT_SPEC
#undef ASM_SPEC
#undef LINK_OS_LINUX_SPEC
#undef LINK_SECURE_PLT_SPEC
#ifndef RS6000_BI_ARCH
-#define ASM_DEFAULT_SPEC "-mppc64"
#define ASM_SPEC "%(asm_spec64) %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%(link_os_linux_spec64)"
#define LINK_SECURE_PLT_SPEC ""
#else
#if DEFAULT_ARCH64_P
-#define ASM_DEFAULT_SPEC "-mppc%{!m32:64}"
#define ASM_SPEC "%{m32:%(asm_spec32)}%{!m32:%(asm_spec64)} %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%{m32:%(link_os_linux_spec32)}%{!m32:%(link_os_linux_spec64)}"
#define LINK_SECURE_PLT_SPEC "%{m32: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
#else
-#define ASM_DEFAULT_SPEC "-mppc%{m64:64}"
#define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%{!m64:%(link_os_linux_spec32)}%{m64:%(link_os_linux_spec64)}"
#define LINK_SECURE_PLT_SPEC "%{!m64: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
#define TARGET_DEFAULT MASK_ALTIVEC
#endif
+#undef ASM_DEFAULT_EXTRA
+#define ASM_DEFAULT_EXTRA " %{!mvsx:%{!maltivec:%{!mno-altivec:-maltivec}}}"
+
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
#define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1
#define CPP_DEFAULT_SPEC ""
#define ASM_DEFAULT_SPEC ""
+#define ASM_DEFAULT_EXTRA ""
/* This macro defines names of additional specifications to put in the specs
that can be used in various specifications like CC1_SPEC. Its definition
{ "cpp_default", CPP_DEFAULT_SPEC }, \
{ "asm_cpu", ASM_CPU_SPEC }, \
{ "asm_cpu_native", ASM_CPU_NATIVE_SPEC }, \
- { "asm_default", ASM_DEFAULT_SPEC }, \
+ { "asm_default", ASM_DEFAULT_SPEC ASM_DEFAULT_EXTRA }, \
{ "cc1_cpu", CC1_CPU_SPEC }, \
SUBTARGET_EXTRA_SPECS
%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } } \
%{mcpu=e6500: -D__PPC_CPU_E6500__}"
-#undef ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mppc%{m64:64}"
-
#undef ASM_SPEC
#define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)"
/* Override rs6000.h definition. */
#undef ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mppc"
+#define ASM_DEFAULT_SPEC "-mppc%{m64:64}"
#define TARGET_HAS_TOC (TARGET_64BIT \
|| (TARGET_MINIMAL_TOC \