aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog.meissner
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog.meissner')
-rw-r--r--gcc/ChangeLog.meissner44
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
new file mode 100644
index 00000000000..524fb588658
--- /dev/null
+++ b/gcc/ChangeLog.meissner
@@ -0,0 +1,44 @@
+2016-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ Back port from trunk
+ 2016-05-11 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (is_complex_IBM_long_double,
+ abi_v4_pass_in_fpr): New functions.
+ (rs6000_function_arg_boundary): Exclude complex IBM long double
+ from 64-bit alignment when ABI_V4.
+ (rs6000_function_arg, rs6000_function_arg_advance_1,
+ rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
+
+ Back port from trunk
+ 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * machmode.h (mode_complex): Add support to give the complex mode
+ for a given mode.
+ (GET_MODE_COMPLEX_MODE): Likewise.
+ * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
+ stored by build_complex_type and gfc_build_complex_type instead of
+ trying to figure out the appropriate mode based on the size. Raise
+ an assertion error, if the type was not set.
+ * genmodes.c (struct mode_data): Add field for the complex type of
+ the given type.
+ (blank_mode): Likewise.
+ (make_complex_modes): Remember the complex mode created in the
+ base type.
+ (emit_mode_complex): Write out the mode_complex array to map a
+ type mode to the complex version.
+ (emit_insn_modes_c): Likewise.
+ * tree.c (build_complex_type): Set the complex type to use before
+ calling layout_type.
+ * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
+ support for __float128 complex datatypes.
+ (rs6000_hard_regno_mode_ok): Likewise.
+ (rs6000_setup_reg_addr_masks): Likewise.
+ (rs6000_complex_function_value): Likewise.
+ * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
+ __float128 and __ibm128 complex.
+ (FLOAT128_IBM_P): Likewise.
+ (ALTIVEC_ARG_MAX_RETURN): Likewise.
+ * doc/extend.texi (Additional Floating Types): Document that
+ -mfloat128 must be used to enable __float128. Document complex
+ __float128 and __ibm128 support.