+2014-08-28 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter
+ important_candidates. Consider all important candidates if
+ IVS doesn't give any result. Remove check on ivs->upto.
+ (try_add_cand_for): Call iv_ca_add_use only once.
+
+2014-08-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ (define_mode_iterator VI12_AVX2): Add V64QI and V32HI modes.
+ (define_expand "<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Add
+ masking.
+ (define_insn "*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Ditto.
+ (define_expand "<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
+ (define_insn "*<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
+ (define_insn "*mul<mode>3"): Add EVEX version.
+
+2014-08-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/sse.md
+ (define_insn "avx512bw_interleave_highv64qi<mask_name>"): New.
+ (define_insn "avx2_interleave_highv32qi<mask_name>"): Add masking.
+ (define_insn "vec_interleave_highv16qi<mask_name>"): Ditto.
+ (define_insn "avx2_interleave_lowv32qi<mask_name>"): Ditto.
+ (define_insn "vec_interleave_lowv16qi<mask_name>"): Ditto.
+ (define_insn "avx2_interleave_highv16hi<mask_name>"): Ditto.
+ (define_insn "vec_interleave_highv8hi<mask_name>"): Ditto.
+ (define_insn "avx2_interleave_lowv16hi<mask_name>"): Ditto.
+ (define_insn "vec_interleave_lowv8hi<mask_name>"): Ditto.
+ (define_insn "avx2_interleave_highv8si<mask_name>"): Ditto.
+ (define_insn "vec_interleave_highv4si<mask_name>"): Ditto.
+ (define_insn "avx2_interleave_lowv8si<mask_name>"): Ditto.
+ (define_insn "vec_interleave_lowv4si<mask_name>"): Ditto.
+ (define_insn "vec_interleave_highv16qi<mask_name>"): New.
+ (define_insn "avx512bw_interleave_highv32hi<mask_name>"): Ditto.
+ (define_insn "<mask_codefor>avx512bw_interleave_lowv32hi<mask_name>"): Ditto.
+
+2014-08-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/sse.md
+ (define_mode_iterator VIMAX_AVX2): Add V4TI mode.
+ (define_insn "<sse2_avx2>_ashl<mode>3"): Add EVEX version.
+ (define_insn "<sse2_avx2>_lshr<mode>3"): Ditto.
+
+2014-08-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/sse.md
+ (define_mode_iterator VI128_256): New.
+ (define_insn "<mask_codefor><code><mode>3<mask_name>"): Ditto.
+
+2014-08-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/sse.md
+ (define_mode_iterator VI8_256_512): New.
+ (define_insn "<mask_codefor>avx512dq_cvtps2qq<mode><mask_name><round_name>"):
+ Ditto.
+ (define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
+ (define_insn "<mask_codefor>avx512dq_cvtps2uqq<mode><mask_name><round_name>"):
+ Ditto.
+ (define_insn "<mask_codefor>avx512dq_cvtps2uqqv2di<mask_name>"): Ditto.
+
+2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * varasm.c (compute_reloc_for_rtx_1): Take a const_rtx. Remove the
+ pointer to the cumulative reloc value and return the value for
+ this reloc instead.
+ (compute_reloc_for_rtx): Take a const_rtx. Call
+ compute_reloc_for_rtx_1 directly for SYMBOL_REF and LABEL_REF,
+ avoiding any recursion. Use FOR_EACH_SUBRTX rather than
+ for_each_rtx for the CONST case.
+
+2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * varasm.c (mark_constant): Replace this for_each_rtx callback with...
+ (mark_constants_in_pattern): ...this new function to iterate over
+ all the subrtxes.
+ (mark_constants): Update accordingly.
+
+2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * varasm.c: Include rtl-iter.h.
+ (const_rtx_hash_1): Take a const_rtx rather than an rtx *.
+ Remove the pointer to the cumulative hashval_t and just return
+ the hash for this rtx instead. Remove recursive CONST_VECTOR case.
+ (const_rtx_hash): Use FOR_EACH_SUBRTX instead of for_each_rtx.
+ Accumulate the hashval_ts here instead of const_rtx_hash_1.
+
+2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * var-tracking.c (add_uses): Take an rtx rather than an rtx *.
+ Give real type of data parameter. Remove return value.
+ (add_uses_1): Use FOR_EACH_SUBRTX_VAR rather than for_each_rtx
+ to iterate over subrtxes.
+
2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
* var-tracking.c (use_narrower_mode_test): Turn from being a