+2016-11-24 Bin Cheng <bin.cheng@arm.com>
+
+ * match.pd: Refine type conversion in result expr for below pattern:
+ (cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
+
+2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/78429
+ * tree.h (wi::fits_to_boolean_p): New predicate.
+ (wi::fits_to_tree_p): Use it for boolean types.
+ * tree.c (int_fits_type_p): Likewise.
+
+2016-11-24 Martin Liska <mliska@suse.cz>
+
+ * print-tree.c (struct bucket): Remove.
+ (print_node): Add new argument which drives whether a tree node
+ is printed briefly or not.
+ (debug_tree): Replace a custom hash table with hash_set<T>.
+ * print-tree.h (print_node): Add the argument.
+
+2016-11-24 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_init_libfuncs): Add ATTRIBUTE_UNUSED.
+
+2016-11-23 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/78458
+ * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return MODE
+ if it is at least NREGS wide.
+
+2016-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): For
+ TARGET_E500_DOUBLE. handle TDmode, TImode and PTImode the same as
+ TFmode, IFmode and KFmode.
+
+2016-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/spe.md (*frob_<SPE64:mode>_ti_8): New insn
+ pattern.
+
+2016-11-23 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (change_zero_ext): Only change the mode of a hard register
+ destination if can_change_dest_mode holds for that.
+
+2016-11-23 Jeff Law <law@redhat.com>
+
+ * varasm.c (assemble_name): Increase buffer size for name.
+
+ * config/spu/spu.md (floatunsdidf2): Remove unused local variable.
+
+2016-11-23 Jakub Kicinski <jakub.kicinski@netronome.com>
+
+ * doc/extend.texi: Constify first argument to __builtin_object_size.
+
+2016-11-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * opth-gen.awk: Use unsigned shifts for bit masks. Allow all bits
+ to be used. Add brackets around macro argument.
+
+2016-11-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
+
+2016-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/69278
+ * opts.c (parse_sanitizer_options): For -fsanitize=undefined,
+ restore enabling also SANITIZE_UNREACHABLE and SANITIZE_RETURN.
+
+2016-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/69183
+ * omp-low.c (build_outer_var_ref): Change lastprivate argument
+ to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE
+ on worksharing constructs, treat it like clauses on simd construct.
+ Formatting fix.
+ (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
+ OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
+ (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
+ of true as last argument to build_outer_var_ref.
+
+2016-11-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movqi_internal): Calculate mode
+ attribute of alternatives 7,8,9 depending on TARGET_AVX512DQ.
+ <TYPE_MSKMOV>: Emit kmovw for MODE_HI insn mode attribute.
+ (*k<logic><mode>): Calculate mode attribute depending on
+ TARGET_AVX512DQ. Emit k<logic>w for MODE_HI insn mode attribute.
+ (*andqi_1): Calculate mode attribute of alternative 3 depending
+ on TARGET_AVX512DQ. Emit kandw for MODE_HI insn mode attribute.
+ (kandn<mode>): Calculate mode attribute of alternative 2 depending
+ on TARGET_AVX512DQ. Emit kandnw for MODE_HI insn mode attribute.
+ (kxnor<mode>): Merge insn patterns using SWI1248_AVX512BW mode
+ iterator. Calculate mode attribute of alternative 1 depending
+ on TARGET_AVX512DQ. Emit kxnorw for MODE_HI insn mode attribute.
+ (*one_cmplqi2_1): Calculate mode attribute of alternative 2 depending
+ on TARGET_AVX512DQ. Emit knotw for MODE_HI insn mode attribute.
+
+2016-11-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR middle-end/78153
+ * gimple-fold.c (fold_stmt_1): Handle case for GIMPLE_RETURN.
+ * tree-vrp.c (extract_range_basic): Handle case for
+ CFN_BUILT_IN_STRLEN.
+
+2016-11-23 Jeff Law <law@redhat.com>
+
+ * config/mcore/mcore.c (emit_new_cond_insn): Fix prototype.
+
+ * config/iq2000/iq2000.c (iq2000_rtx_costs): Avoid multiplication
+ in boolean context warning.
+
+ * config/ia64/ia64.c (ia64_emit_insn_before): Fix prototype.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR target/63250
+ * config/arm/arm-builtins.c (arm_simd_floatHF_type_node): Rename to...
+ (arm_fp16_type_node): ...This, make visibile.
+ (arm_simd_builtin_std_type): Rename arm_simd_floatHF_type_node to
+ arm_fp16_type_node.
+ (arm_init_simd_builtin_types): Likewise.
+ (arm_init_fp16_builtins): Likewise.
+ * config/arm/arm.c (arm_excess_precision): New.
+ (arm_floatn_mode): Likewise.
+ (TARGET_C_EXCESS_PRECISION): Likewise.
+ (TARGET_FLOATN_MODE): Likewise.
+ (arm_promoted_type): Only promote arm_fp16_type_node.
+ * config/arm/arm.h (arm_fp16_type_node): Declare.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm.c (arm_convert_to_type): Delete.
+ (TARGET_CONVERT_TO_TYPE): Delete.
+ (arm_init_libfuncs): Enable trunc_optab from DFmode to HFmode.
+ (arm_libcall_uses_aapcs_base): Add trunc_optab from DF- to HFmode.
+ * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): New.
+ * config/arm/arm.md (truncdfhf2): Only convert through SFmode if we
+ are in fast math mode, and have no single step hardware instruction.
+ (extendhfdf2): Only expand through SFmode if we don't have a
+ single-step hardware instruction.
+ * config/arm/vfp.md (*truncdfhf2): New.
+ (extendhfdf2): Likewise.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * targhooks.c (default_floatn_mode): Enable _Float16 if a target
+ provides HFmode.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
+ * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
+ * defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
+ * doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
+ * doc/tm.texi: Regenerate.
+ * system.h (TARGET_FLT_EVAL_METHOD): Poison.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * toplev.c (init_excess_precision): Delete most logic.
+ * tree.c (excess_precision_type): Rewrite to use
+ TARGET_EXCESS_PRECISION.
+ * doc/invoke.texi (-fexcess-precision): Document behaviour in a
+ more generic fashion.
+ * ginclude/float.h: Wrap definition of FLT_EVAL_METHOD in
+ __STDC_WANT_IEC_60559_TYPES_EXT__.
+
+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * common.opt (fpermitted-flt-eval-methods): New.
+ * doc/invoke.texi (-fpermitted-flt-eval-methods): Document it.
+ * flag_types.h (permitted_flt_eval_methods): New.
+
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
* config/m68k/m68k.c (m68k_excess_precision): New.
(grid_call_permissible_in_distribute_p): Likewise.
(grid_handle_call_in_distribute): Likewise.
(grid_dist_follows_tiling_pattern): Likewise.
- (grid_target_follows_gridifiable_pattern): Support standalone distribute
- constructs.
+ (grid_target_follows_gridifiable_pattern): Support standalone
+ distribute constructs.
(grid_var_segment): New enum.
(grid_mark_variable_segment): New function.
(grid_copy_leading_local_assignments): Call grid_mark_variable_segment
(get_in_type): Return this if it is a register of
matching size.
(hsa_get_declaration_name): Moved to...
- * hsa-gen.c (hsa_get_declaration_name): ...here. Allocate
+ * hsa-gen.c (hsa_get_declaration_name): ...here. Allocate
temporary string on an obstack instead from ggc.
(query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut
down to two overloads.
(predicate_scalar_phi): Call fold_stmt using the new valueize func.
2016-11-23 Martin Liska <mliska@suse.cz>
- Martin Jambor <mjambor@suse.cz>
+ Martin Jambor <mjambor@suse.cz>
* doc/install.texi: Remove entry about --with-hsa-kmt-lib.
2016-11-23 Aldy Hernandez <aldyh@redhat.com>
PR target/78213
- * opts.c (finish_options): Set -fsyntax-only if running self
- tests.
+ * opts.c (finish_options): Set -fsyntax-only if running self tests.
2016-11-23 Richard Biener <rguenther@suse.de>
ior and xor operators.
* config/aarch64/constraints.md (UsO constraint): New SImode constraint
for constants in "and" operantions.
- (UsP constraint): New DImode constraint for constants in "and" operations.
+ (UsP constraint): New DImode constraint for constants
+ in "and" operations.
* config/aarch64/iterators.md (lconst2): New mode iterator.
(LOGICAL2): New code iterator.
* config/aarch64/predicates.md (aarch64_logical_and_immediate): New
- predicate
- (aarch64_logical_and_operand): New predicate allowing extended constants
- for "and" operations.
+ predicate.
+ (aarch64_logical_and_operand): New predicate allowing extended
+ constants for "and" operations.
2016-11-22 Walter Lee <walt@tilera.com>
* sel-sched-ir.h: Remove trailing blank lines.
2016-11-22 Jakub Jelinek <jakub@redhat.com>
- Alexander Monakov <amonakov@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
* internal-fn.c (expand_GOMP_USE_SIMT): New function.
* tree.c (omp_clause_num_ops): OMP_CLAUSE__SIMT_ has 0 operands.