diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 1056 |
1 files changed, 1056 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e133038851b..6a1b16c408f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1059 @@ +2016-07-15 Alan Modra <amodra@gmail.com> + + Apply from mainline + 2016-07-11 Alan Modra <amodra@gmail.com> + * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec. + (ctr<mode>): Add unspec. + (ctr<mode>_internal*): Likewise. + +2016-07-14 Alan Modra <amodra@gmail.com> + + PR target/71733 + * config/rs6000/rs6000.c (rs6000_option_override_internal): Deal + with p9_vector override before power9-dform override. + +2016-07-13 Ilya Enkovich <ilya.enkovich@intel.com> + + Backport from mainline r238086. + 2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com> + + PR ipa/71624 + * ipa-inline-analysis.c (compute_inline_parameters): Set + local.can_change_signature to false for intrumentation + thunk callees. + +2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> + Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + Backport from mainline + 2016-07-05 Michael Meissner <meissner@linux.vnet.ibm.com> + Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + * config/rs6000/rs6000-protos.h (rs6000_split_signbit): New + prototype. + * config/rs6000/rs6000.c (rs6000_split_signbit): New function. + * config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant. + (SIGNBIT): New mode iterator. + (Fsignbit): New mode attribute. + (signbit<mode>2): Change operand1 to match FLOAT128 instead of + IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128 + when direct moves are available. + (signbit<mode>2_dm): New define_insn_and_split). + (signbit<mode>2_dm2): New define_insn. + +2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> + + Backport from mainline + 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/71805 + * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): + The xxperm and xxpermr instructions require that the 2nd input + operand overlap with the output operand, and not the 1st. + (altivec_vperm_v8hiv16qi): Likewise. + (altivec_vperm_<mode>_uns_internal): Likewise. + (altivec_vpermr_<mode>_internal): Likewise. + (vperm_v8hiv4si): Likewise. + (vperm_v16qiv8hi): Likewise. + +2016-07-12 Segher Boessenkool <segher@kernel.crashing.org> + + Backport from mainline + 2016-07-06 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/70098 + PR target/71763 + * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, + *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output + constraint. + +2016-07-11 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/71758 + * omp-low.c (expand_omp_target): Gimplify device. + + PR tree-optimization/71823 + * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs + to get vec_oprnds2 from op2. + +2016-07-11 Yuri Rumyantsev <ysrumyan@gmail.com> + + Backport from mainline r238055. + 2016-07-06 Yuri Rumyantsev <ysrumyan@gmail.com> + + PR tree-optimization/71518 + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust + misalign also for outer loops with negative step. + +2016-07-08 Martin Liska <mliska@suse.cz> + + Backported from mainline + 2016-07-08 Martin Liska <mliska@suse.cz> + + PR middle-end/71606 + * fold-const.c (fold_convertible_p): As COMPLEX_TYPE + folding produces SAVE_EXPRs, thus return false for the type. + +2016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): Remove + redundant and erroneous definition of this macro accidentally + inserted during backporting. + (BU_P9_64BIT_MISC_0): Likewise. + (BU_P9_MISC_0): Likewise. + +2016-07-08 Jiong Wang <jiong.wang@arm.com> + + Back port from the trunk + 2016-07-08 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64-simd-builtins.def (smax): Remove float + variants. + (smin): Likewise. + (fmax): New entry. + (fmin): Likewise. + * config/aarch64/arm_neon.h (vmaxnm_f32): Use + __builtin_aarch64_fmaxv2sf. + (vmaxnmq_f32): Likewise. + (vmaxnmq_f64): Likewise. + (vminnm_f32): Likewise. + (vminnmq_f32): Likewise. + (vminnmq_f64): Likewise. + +2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> + + Back port from trunk + 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/71806 + * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not + enable -mfloat128-hardware by default. + (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options + that IEEE 128-bit hardware support needs. + * config/rs6000/rs6000.c (rs6000_option_override_internal): If + -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default. + Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit + floating point requires. + * doc/invoke.texi (RS/6000 and PowerPC Options): Document + -mfloat128 and -mfloat128-hardware changes. + +2016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from mainline r237912 + 2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): + Exchange the order of the second and third operands in the vpermr + instruction tmeplate. + +2016-07-07 Michael Meissner <meissner@linux.vnet.ibm.com> + + Back port from the trunk + 2016-07-01 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/71720 + * config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting + the insns, use an insn form that does not adjust the offset on + little endian systems. + +2016-07-07 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from mainline r237885 + 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/altivec.md (darn_32): Change the condition to + TARGET_P9_MISC instead of TARGET_MODULO. + (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the + condition expression. + (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the + condition expression. + * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant. + (DFP_TEST): New code iterator. + (dfptstsfi_<code>_mode>): New define_expand. + (*dfp_sgnfcnc_<mode>): New define_insn. + * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro + definition next to BU_P9_MISC_1 definition and change the MASK + value to RS6000_BTM_P9_MISC. + (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC. + (BU_P9_64BIT_MISC_0): Likewise. + (BU_P9_DFP_MISC_0): New macro definition. + (BU_P9_DFP_MISC_1): New macro definition. + (BU_P9_DFP_MISC_2): New macro definition. + (BU_P9_DFP_OVERLOAD_1): New macro definition. + (BU_P9_DFP_OVERLOAD_2): New macro definition. + (BU_P9_DFP_OVERLOAD_3): New macro definition. + (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2. + (TSTSFI_LT_TD): Likewise. + (TSTSFI_EQ_DD): Likewise. + (TSTSFI_EQ_TD): Likewise. + (TSTSFI_GT_DD): Likewise. + (TSTSFI_GT_TD): Likewise. + (TSTSFI_OV_DD): Likewise. + (TSTSFI_OV_TD): Likewise. + (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2. + (TSTSFI_LT_DD): Likewise. + (TSTSFI_LT_TD): Likewise. + (TSTSFI_EQ): Likewise. + (TSTSFI_EQ_DD): Likewise. + (TSTSFI_EQ_TD): Likewise. + (TSTSFI_GT): Likewise. + (TSTSFI_GT_DD): Likewise. + (TSTSFI_GT_TD): Likewise. + (TSTSFI_OV): Likewise. + (TSTSFI_OV_DD): Likewise. + (TSTSFI_OV_TD): Likewise. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add + overloaded test significance functions. + * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add + OPTION_MASK_P9_MISC into the representation of this mask. + (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation + of this mask. + * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the + RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is + non-zero. + (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp + argument is a 6-bit unsigned literal value if the icode argument + represents a DFP test significance built-in call. + (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC + flag used independently and in combination with the + RS6000_BTM_64BIT flag. + (rs6000_opt_masks): Add entry for power9-misc command-line option. + (rs6000_builtin_mask_names): Add entry for power9-misc + command-line option. + * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if + HAVE_AS_POWER9 is not a defined macro. Define MASK_P9_MISC and + RS6000_BTM_P9_MISC macros. + * config/rs6000/rs6000.opt: Add support for the -mpower9-misc + option and change the description of the -mpower9-vector option to + enable only vector instructions, removing its erroneously claimed + support for scalar instructions. + * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document + the ISA 3.0 digital floating point test significance built-in + functions. + +2016-07-07 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2016-06-13 Richard Biener <rguenther@suse.de> + + PR middle-end/64516 + * fold-const.c (fold_unary_loc): Preserve alignment when + folding a VIEW_CONVERT_EXPR into a MEM_REF. + +2016-07-07 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2016-05-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/71264 + * tree-vect-stmts.c (vect_init_vector): Properly deal with + vector type val. + + 2016-06-07 Richard Biener <rguenther@suse.de> + + PR middle-end/71423 + * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison + for signed ops. + + 2016-06-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/71521 + * tree-vrp.c (extract_range_from_binary_expr_1): Guard + division int_const_binop against zero divisor. + + 2016-06-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/71452 + * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the + type used for the SSA rewrite has enough precision to cover + the dynamic type of the location. + + 2016-06-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/71522 + * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float + copying into float copying. + +2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> + + Backport from mainline + 2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> + + PR target/50739 + * config/avr/avr.c (avr_asm_select_section): Strip off + SECTION_DECLARED from flags when calling get_section. + +2016-07-05 Pat Haugen <pthaugen@us.ibm.com> + + Backport from mainline + 2016-06-28 Pat Haugen <pthaugen@us.ibm.com> + + * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types. + ('size' attribute): Add '128'. + Include power9.md. + (*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32, + *movdi_internal64, *movdf_update1): Set size attribute to '64'. + (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2, + copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw, + *fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw, + extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw, + *xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>, + *trunc<mode>df2_odd): Set size attribute to '128'. + (*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'. + * config/rs6000/power6.md (power6-fp): Include dfp type. + * config/rs6000/power7.md (power7-fp): Likewise. + * config/rs6000/power8.md (power8-fp): Likewise. + * config/rs6000/power9.md: New file. + * config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md. + * config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci, + *trechkpt, *treclaim, *tsr, *ttest): Change type attribute to + htmsimple. + * config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2, + trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, + divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2, + ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>, + dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>, + dfp_dscri_<mode>): Change type attribute to dfp. + * config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type + attribute to vecsimple. + * config/rs6000/rs6000.c (power9_cost): Update costs, cache size + and prefetch streams. + (rs6000_option_override_internal): Remove temporary code setting + tuning to power8. Don't set rs6000_sched_groups for power9. + (last_scheduled_insn): Change to rtx_insn *. + (divide_cnt, vec_load_pendulum): New variables. + (rs6000_adjust_cost): Add Power9 to test for store->load separation. + (rs6000_issue_rate): Set issue rate for Power9. + (is_power9_pairable_vec_type): New. + (power9_sched_reorder2): New. + (rs6000_sched_reorder2): Call new function for Power9 specific + reordering. + (insn_must_be_first_in_group): Remove Power9. + (insn_must_be_last_in_group): Likewise. + (force_new_group): Likewise. + (rs6000_sched_init): Fix initialization of last_scheduled_insn. + Initialize divide_cnt/vec_load_pendulum. + (_rs6000_sched_context, rs6000_init_sched_context, + rs6000_set_sched_context): Handle context save/restore of new + variables. + +2016-07-05 Pat Haugen <pthaugen@us.ibm.com> + + Backport from mainline + 2016-06-27 Pat Haugen <pthaugen@us.ibm.com> + + * config/rs6000/rs6000.md ('type' attribute): Add + veclogical,veccmpfx,vecexts,vecmove insn types. + (*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr, + copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal, + p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple. + (*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw, + *nabs<mode>2_hw): Change type to vecmove. + (*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal, + *boolcc<mode>3_internal, *eqv<mode>3_internal, + *one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal, + *ieee_128bit_vsx_abs<mode>2_internal, + *ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2, + *ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit, + *ieee128_mtvsrd_32bit): Change type to veclogical. + (mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64, + *movdi_internal32, *movdi_internal64): Update insn types. + * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>, + vsx_extract_<mode>): Change type to veclogical. + (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove. + (vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>, + *vsx_sign_extend_si_v2di): Change type to vecexts. + * config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change + type to veclogical. + (*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>, + *altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p, + *altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx. + (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove. + * config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr, + negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple. + * config/rs6000/40x.md (ppc405-float): Add fpsimple. + * config/rs6000/440.md (ppc440-fp): Add fpsimple. + * config/rs6000/476.md (ppc476-fp): Add fpsimple. + * config/rs6000/601.md (ppc601-fp): Add fpsimple. + * config/rs6000/603.md (ppc603-fp): Add fpsimple. + * config/rs6000/6xx.md (ppc604-fp): Add fpsimple. + * config/rs6000/7xx.md (ppc750-fp): Add fpsimple. + (ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx. + * config/rs6000/7450.md (ppc7450-fp): Add fpsimple. + (ppc7450-vecsimple): Add veclogical, vecmove. + (ppc7450-veccmp): Add veccmpfx. + * config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical, + vecmove. + (ppc8540_vector_compare): Add veccmpfx. + * config/rs6000/a2.md (ppca2-fp): Add fpsimple. + * config/rs6000/cell.md (cell-fp): Add fpsimple. + (cell-vecsimple): Add veclogical, vecmove. + (cell-veccmp): Add veccmpfx. + * config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple. + * config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove, + veccmpfx. + * config/rs6000/mpc.md (mpccore-fp): Add fpsimple. + * config/rs6000/power4.md (power4-fp): Add fpsimple. + (power4-vecsimple): Add veclogical, vecmove. + (power4-veccmp): Add veccmpfx. + * config/rs6000/power5.md (power5-fp): Add fpsimple. + * config/rs6000/power6.md (power6-fp): Add fpsimple. + (power6-vecsimple): Add veclogical, vecmove. + (power6-veccmp): Add veccmpfx. + * config/rs6000/power7.md (power7-fp): Add fpsimple. + (power7-vecsimple): Add veclogical, vecmove, veccmpfx. + * config/rs6000/power8.md (power8-fp): Add fpsimple. + (power8-vecsimple): Add veclogical, vecmove, veccmpfx. + * config/rs6000/rs64.md (rs64a-fp): Add fpsimple. + * config/rs6000/titan.md (titan_fp): Add fpsimple. + * config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add + fpsimple. + * config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE. + +2016-07-05 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from mainline r237391 + 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the + RS6000_BTM_MODULO flag into the set of flags that are considered + to be part of the common configuration. + +2016-07-04 Jakub Jelinek <jakub@redhat.com> + + PR c++/71739 + * tree.c (attribute_value_equal): Use get_attribute_name instead of + directly using TREE_PURPOSE. + +2016-07-04 Segher Boessenkool <segher@kernel.crashing.org> + + Backport from mainline + 2016-06-27 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/71670 + * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use + gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot. + +2016-07-02 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2016-06-28 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/71626 + * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of + a constant, force its SUBREG_REG into memory or register instead + of whole op1. + + 2016-06-20 Jakub Jelinek <jakub@redhat.com> + + PR target/71559 + * config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up + returned values and add UN*/LTGT/*ORDERED cases with values matching + D operand modifier on vcmp for AVX. + +2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from trunk r237659 + 2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/rs6000.h: Add conditional preprocessing directives + to disable Power9-specific compiler features if HAVE_AS_POWER9 is + not defined. + +2016-07-01 Peter Bergner <bergner@vnet.ibm.com> + + Backport from trunk + 2016-06-27 Peter Bergner <bergner@vnet.ibm.com> + + PR target/71656 + * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add + OPTION_MASK_P9_DFORM_VECTOR. + * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not + disable -mpower9-dform-vector when using reload. + (quad_address_p): Remove 'gpr_p' argument and all associated code. + New 'strict' argument. Update all callers. Add strict addressing + support. + (rs6000_legitimate_offset_address_p): Remove call to + virtual_stack_registers_memory_p. + (rs6000_legitimize_reload_address): Add quad address support. + (rs6000_legitimate_address_p): Move call to quad_address_p above + call to virtual_stack_registers_memory_p. Adjust quad_address_p args + to account for new strict usage. + (rs6000_output_move_128bit): Adjust quad_address_p args to account + for new strict usage. + * config/rs6000/predicates.md (quad_memory_operand): Likewise. + +2016-07-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + Backport from mainline + 2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define. + (BU_FLOAT128_1): Likewise. + (FABSQ): Likewise. + (COPYSIGNQ): Likewise. + (RS6000_BUILTIN_NANQ): Likewise. + (RS6000_BUILTIN_NANSQ): Likewise. + (RS6000_BUILTIN_INFQ): Likewise. + (RS6000_BUILTIN_HUGE_VALQ): Likewise. + * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype. + (TARGET_FOLD_BUILTIN): New #define. + (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry. + (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128. + (rs6000_fold_builtin): New target hook implementation, handling + folding of 128-bit NaNs and infinities. + (rs6000_init_builtins): Initialize const_str_type_node; ensure all + entries are filled in to avoid problems during bootstrap + self-test; define builtins for 128-bit NaNs and infinities. + (rs6000_opt_mask): Add entry for float128. + * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define. + (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128. + (rs6000_builtin_type_index): Add RS6000_BTI_const_str. + (const_str_type_node): New #define. + * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert + to a define_expand that dispatches to either copysign<mode>3_soft + or copysign<mode>3_hard. + (copysign<mode>3_hard): Rename from copysign<mode>3. + (copysign<mode>3_soft): New define_insn. + * doc/extend.texi: Document new builtins. + +2016-07-01 Peter Bergner <bergner@vnet.ibm.com> + + Backport from trunk + 2016-07-01 Peter Bergner <bergner@vnet.ibm.com> + + PR target/71698 + * config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow + TDmode values. + +2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from trunk r236992 + 2016-06-01 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/altivec.h (vec_slv): New macro. + (vec_srv): New macro. + * config/rs6000/altivec.md (UNSPEC_VSLV): New value. + (UNSPEC_VSRV): New value. + (vslv): New insn. + (vsrv): New insn. + * config/rs6000/rs6000-builtin.def (vslv): New builtin definition. + (vsrv): New builtin definition. + * config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to + define argument types for new builtin. + (P9V_BUILTIN_VSRV): Macro expansion to define argument types for + new builtin. + * doc/extend.texi: Document the new vec_vslv and vec_srv built-in + functions. + +2016-07-01 Eric Botcazou <ebotcazou@adacore.com> + + * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check + for NULL decl. + +2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> + + Backport from trunk r237390 + 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> + + * config/rs6000/altivec.h (vec_absd): New macro for vector absolute + difference unsigned. + (vec_absdb): New macro for vector absolute difference unsigned + byte. + (vec_absdh): New macro for vector absolute difference unsigned + half-word. + (vec_absdw): New macro for vector absolute difference unsigned word. + * config/rs6000/altivec.md (UNSPEC_VADU): New value. + (vadu<mode>3): New insn. + (*p9_vadu<mode>3): New insn. + * config/rs6000/rs6000-builtin.def (vadub): New built-in + definition. + (vaduh): New built-in definition. + (vaduw): New built-in definition. + (vadu): New overloaded built-in definition. + (vadub): New overloaded built-in definition. + (vaduh): New overloaded built-in definition. + (vaduw): New overloaded built-in definition. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add + overloaded vector absolute difference unsigned functions. + * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document + the ISA 3.0 vector absolute difference unsigned built-in functions. + +2016-06-30 David Malcolm <dmalcolm@redhat.com> + + Backport from trunk r237880. + 2016-06-30 David Malcolm <dmalcolm@redhat.com> + + PR driver/71651 + * gcc.c (driver::build_option_suggestions): Pass "option" to + add_misspelling_candidates. + * opts-common.c (add_misspelling_candidates): Add "option" param; + use it to avoid adding negated forms for options marked with + RejectNegative. + * opts.h (add_misspelling_candidates): Add "option" param. + +2016-06-30 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/71693 + * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast + TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type + first when permuting bitwise operation with rotate. Cast + TREE_OPERAND (arg0, 0) to type when cancelling two rotations. + +2016-06-30 Martin Liska <mliska@suse.cz> + + Parting backport from mainline + 2016-06-29 Martin Liska <mliska@suse.cz> + + * ipa-inline-transform.c (inline_call): Remove unnecessary call + of build_optimization_node. + +2016-06-29 Eric Botcazou <ebotcazou@adacore.com> + + Backport from mainline + 2016-06-09 Eric Botcazou <ebotcazou@adacore.com> + + * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET. + +2016-06-27 Michael Meissner <meissner@linux.vnet.ibm.com> + + Back port from trunk + 2016-06-21 Michael Meissner <meissner@linux.vnet.ibm.com> + + * stor-layout.c (layout_type): Move setting complex MODE to + layout_type, instead of setting it ahead of time by the caller. + + 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. + +2016-06-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/71647 + * omp-low.c (lower_rec_input_clauses): Convert + omp_clause_aligned_alignment (c) to size_type_node for the + last argument of __builtin_assume_aligned. + +2016-06-22 Eric Botcazou <ebotcazou@adacore.com> + + * function.c (assign_parm_setup_reg): Prevent sharing in another case. + +2016-06-21 Georg-Johann Lay <avr@gjlay.de> + + Backport from 2016-06-21 trunk r237639. + + PR target/30417 + * config/avr/gen-avr-mmcu-specs.c (print_mcu): + [*link_data_start]: Wrap -Tdata into %{!Tdata:...}. + [*link_text_start]: Wrap -Ttext into %{!Ttext:...}. + +2016-06-21 Georg-Johann Lay <avr@gjlay.de> + + PR target/71103 + * config/avr/avr.md (movqi): Only handle loading subreg:qi of + constant addresses if can_create_pseudo_p. + +2016-06-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/71588 + * tree-ssa-strlen.c (valid_builtin_call): New function. + (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use + it. + + Backported from mainline + 2016-06-20 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/71581 + * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL, + see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created + for conversion of scalar user var to complex type and use the + underlying SSA_NAME_VAR in that case. If EXPR is still NULL, + punt. + + 2016-06-16 Jakub Jelinek <jakub@redhat.com> + + * gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs + with base of reference to struct. + +2016-06-20 Ilya Enkovich <ilya.enkovich@intel.com> + + Backport from mainline r237484. + 2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com> + + PR middle-end/71529 + * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix + DECL_CONTEXT for copied arguments. + +2016-06-20 Georg-Johann Lay <avr@gjlay.de> + Pitchumani Sivanupandi <pitchumani.s@atmel.com> + + Backport from 2016-06-20 trunk r237589, r236558. + + PR target/71103 + * config/avr/avr.md (movqi): Handle loading subreg:qi (const, + symbol_ref,label_ref). + +2016-06-16 Jakub Jelinek <jakub@redhat.com> + + PR target/71554 + * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p. + (setcc + and peephole2): Likewise. + +2016-06-15 Andreas Tobler <andreast@gcc.gnu.org> + + Backported from mainline + 2016-06-14 Andreas Tobler <andreast@gcc.gnu.org> + + * config/arm/freebsd.h: Only enable unaligned access for armv6 on + FreeBSD 11 and above. + +2016-06-15 Ilya Verbin <ilya.verbin@intel.com> + + Backport from mainline + 2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus. + +2016-06-14 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2016-06-10 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/71494 + * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO + without LABEL_DECL, set *handled_ops_p to false instead of true. + + 2016-06-08 Jakub Jelinek <jakub@redhat.com> + Richard Biener <rguenther@suse.de> + + PR c++/71448 + * fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0) + the same as DECL_P (base0) for indirect_base0. Use equality_code + in one further place. + + 2016-06-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/71405 + * tree-ssa.c (execute_update_addresses_taken): For clobber with + incompatible type, build a new clobber with the right type instead + of building a VIEW_CONVERT_EXPR around it. + +2016-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and + update shared_lookup_references only once after changing operands. + +2016-06-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/71505 + * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make + assert match comment. + +2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + + Backport from mainline + 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + + PR target/71379 + * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by + one. + +2016-06-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/71373 + Backport from trunk r237291: + * tree-nested.c (convert_nonlocal_omp_clauses) + (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC, + OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, + OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE. + + Backport from trunk r237291: + * gimplify.c (gimplify_adjust_omp_clauses): Discard + OMP_CLAUSE_TILE. + * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE. + + Backport from trunk r237290: + * omp-low.c (scan_sharing_clauses): Don't expect + OMP_CLAUSE__CACHE_. + + Backport trunk r235964: + 2016-05-06 Nathan Sidwell <nathan@codesourcery.com> + + * gimple.c (gimple_call_same_target_p): Unique functions are eq. + * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq + equality first. + +2016-06-09 Michael Meissner <meissner@linux.vnet.ibm.com> + + Back port from trunk + 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify + alternatives, eliminating preferred register class. Add support + for the MTVSRDD instruction in ISA 3.0. + (vsx_splat_v4si_internal): Use splat_input_operand instead of + reg_or_indexed_operand. + (vsx_splat_v4sf_internal): Likewise. + + Back port from trunk + 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/71186 + * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives + for loading up all 0's or all 1's. + + Back port from trunk + 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/70915 + * config/rs6000/constraints.md (wE constraint): New constraint + for a vector constant that can be loaded with XXSPLTIB. + (wM constraint): New constraint for a vector constant of a 1's. + (wS constraint): New constraint for a vector constant that can be + loaded with XXSPLTIB and a vector sign extend instruction. + * config/rs6000/predicates.md (xxspltib_constant_split): New + predicates for wE/wS constraints. + (xxspltib_constant_nosplit): Likewise. + (easy_vector_constant): Add support for constants that can be + loaded via XXSPLTIB. + (splat_input_operand): Add support for ISA 3.0 word splat operations. + * config/rs6000/rs6000.c (xxspltib_constant_p): New function to + return if a constant can be loaded with the ISA 3.0 XXSPLTIB + instruction and possibly with a sign extension. + (output_vec_const_move): Add support for XXSPLTIB. If we are + loading up 0/-1 into Altivec registers, prefer using VSPLTISW + instead of XXLXOR/XXLORC. + (rs6000_expand_vector_init): Add support for ISA 3.0 word splat + operations. + (rs6000_legitimize_reload_address): Likewise. + (rs6000_output_move_128bit): Use output_vec_const_move to emit + constants. + * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and + combine VSX_M and VSX_M2 into one iterator. + (VSX_M2): Likewise. + (VSINT_84): New iterators for loading constants with XXSPLTIB. + (VSINT_842): Likewise. + (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC. + (xxspltib_v16qi): New insns to load up constants with the ISA 3.0 + XXSPLTIB instruction. + (xxspltib_<mode>_nosplit): Likewise. + (xxspltib_<mode>_split): New insn to load up constants with + XXSPLTIB and a sign extend instruction. + (vsx_mov<mode>): Replace single move that handled all vector types + with separate 32-bit and 64-bit moves. Combine the movti_<bit> + moves (when -mvsx-timode is in effect) into the main vector + moves. Eliminate separate moves for <VSr> <VSa>, where the + preferred register class (<VSr>) is listed first, and the + secondary register class (<VSa>) is listed second with a '?' to + discourage use. Prefer loading 0/-1 in any VSX register for ISA + 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so + that if the register was involved in a slow operation, the + clear/set operation does not wait for the slow operation to + finish. Adjust the length attributes for 32-bit mode. Use + rs6000_output_move_128bit and drop the use of the string + instructions for 32-bit movti when -mvsx-timode is in effect. Use + spacing so that the alternatives and attributes don't generate + long lines, and put things in columns, so that it is easier to + match up the operands and attributes with the insn alternatives. + (vsx_mov<mode>_64bit): Likewise. + (vsx_mov<mode>_32bit): Likewise. + (vsx_movti_64bit): Fold movti into normal vector moves. + (vsx_movti_32bit): Likewise. + (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word + splat instructions. + (vsx_splat_v4si_internal): Likewise. + (vsx_splat_v4sf_internal): Likewise. + (vector fusion peepholes): Use VSX_M instead of VSX_M2. + (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign + extend vector elements. + (vsx_sign_extend_hi_<mode>): Likewise. + (vsx_sign_extend_si_v2di): Likewise. + * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add + declaration. + * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS + constraints. Add trailing period to wL documentation. + +2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> + + Backport from mainline + 2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the + SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma). + +2016-06-08 Eric Botcazou <ebotcazou@adacore.com> + + Backport from mainline + 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/sparc/sparc.md (cpu): Add niagara7 cpu type. + Include the M7 SPARC DFA scheduler. + New attribute v3pipe. + Annotate insns with v3pipe where appropriate. + Define cpu_feature vis4. + Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64. + Add (V8QI "8") to vbits. + Add insns {add,sub}v8qi3 + Add insns ss{add,sub}v8qi3 + Add insns us{add,sub}{v8qi,v4hi}3 + Add insns {min,max}{v8qi,v4hi,v2si}3 + Add insns {minu,maxu}{v8qi,v4hi,v2si}3 + Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis. + * config/sparc/niagara4.md: Add a comment explaining the + discrepancy between the documented latenty numbers and the + implemented ones. + * config/sparc/niagara7.md: New file. + * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler + supports SPARC5 and VIS 4.0 instructions. + * configure: Regenerate. + * config.in: Likewise. + * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets. + * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for + TARGET_CPU_niagara7. + (ASM_CPU64_DEFAULT_SPEC): Likewise. + (CPP_CPU_SPEC): Handle niagara7. + (ASM_CPU_SPEC): Likewise. + * config/sparc/sparc-opts.h (processor_type): Add + PROCESSOR_NIAGARA7. + (mvis4): New option. + * config/sparc/sparc.h (TARGET_CPU_niagara7): Define. + (AS_NIAGARA7_FLAG): Define. + (ASM_CPU64_DEFAULT_SPEC): Set for niagara7. + (CPP_CPU64_DEFAULT_SPEC): Likewise. + (CPP_CPU_SPEC): Handle niagara7. + (ASM_CPU_SPEC): Likewise. + * config/sparc/sparc.c (niagara7_costs): Define. + (sparc_option_override): Handle niagara7 and adjust cache-related + parameters with better values for niagara cpus. Also support VIS4. + (sparc32_initialize_trampoline): Likewise. + (sparc_use_sched_lookahead): Likewise. + (sparc_issue_rate): Likewise. + (sparc_register_move_cost): Likewise. + (dump_target_flag_bits): Support VIS4. + (sparc_vis_init_builtins): Likewise. + (sparc_builtins): Likewise. + * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for + VIS4 4.0. + * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and + UltraSparc M7. + * config/sparc/sparc.opt (sparc_processor_type): New value + niagara7. + * config/sparc/visintrin.h (__attribute__): Prototypes for the + VIS4 builtins. + * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and + -mvis4. + * doc/extend.texi (SPARC VIS Built-in Functions): Document the + VIS4 builtins. + + 2016-05-30 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and + tune_64. + * doc/install.texi (--with-cpu-32, --with-cpu-64): Document + support on SPARC. + * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for + cpu_32, cpu_64, tune_32 and tune_64. + * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise. + +2016-06-08 Ilya Verbin <ilya.verbin@intel.com> + + Backport from mainline + 2016-05-25 Ilya Verbin <ilya.verbin@intel.com> + + * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF, + V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND. + * config/i386/i386.c (enum ix86_builtins): Add + IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512, + IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512, + IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512, + IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512, + IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512, + IX86_BUILTIN_ROUNDPS_AZ_SFIX512. + (builtin_description bdesc_args): Add __builtin_ia32_floorps512, + __builtin_ia32_ceilps512, __builtin_ia32_truncps512, + __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512, + __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512, + __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512, + __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512. + Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for + __builtin_ia32_cvtps2dq512_mask. + (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND, + V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF. + (ix86_builtin_vectorized_function): Handle builtins mentioned above. + * config/i386/sse.md + (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>): + Rename to ... + (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this. + (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename + to ... + (avx512f_cvtpd2dq512<mask_name><round_name>): ... this. + (avx512f_vec_pack_sfix_v8df): New define_expand. + (avx512f_roundpd512): Rename to ... + (avx512f_round<castmode>512): ... this. Change iterator. + (avx512f_roundps512_sfix): New define_expand. + (round<mode>2_sfix): Change iterator. + +2016-06-07 Peter Bergner <bergner@vnet.ibm.com> + + Backport from mainline + 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> + + * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and + -mno-htm. + +2016-06-07 Uros Bizjak <ubizjak@gmail.com> + + PR target/71389 + * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): + Copy op1 RTX to avoid invalid sharing. + (ix86_expand_vector_move_misalign): Ditto. + +2016-06-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/71259 + * tree-vect-slp.c (vect_get_constant_vectors): For + VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of + one for constant op, and use COND_EXPR for non-constant. + 2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Backport from trunk |