+2018-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/85424
+ * config/rs6000/rs6000.md (pack<mode>): Do not try handle a pack
+ where the inputs overlap with the output.
+
+2018-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Add
+ (=v, v) alternative and explicit "memory" attribute.
+ (vec_extract_lo_<mode><mask_name>): Likewise. Also add
+ "type", "prefix", "prefix_extra", "length_immediate" and "mode"
+ attributes.
+ (vec_extract_lo_<mode><mask_name>): Add (=v, v) alternative and use
+ "sselog1" type instead of "sselog".
+ (vec_extract_hi_<mode><mask_name>): Use "sselog1" type instead of
+ "sselog". Remove explicit "memory" attribute.
+ (vec_extract_lo_v32hi): Add (=v, v) alternative and explicit "memory",
+ "type", "prefix", "prefix_extra", "length_immediate" and "mode"
+ attributes.
+ (vec_extract_hi_v32hi): Merge all alternatives into one, use
+ "sselog1" type instead of "sselog". Remove explicit "memory"
+ attribute.
+ (vec_extract_hi_v16hi): Merge each pair of alternatives into one,
+ use "sselog1" type instead of "sselog". Remove explicit "memory"
+ attribute.
+ (vec_extract_lo_v64qi): Add (=v, v) alternative and explicit "memory",
+ "type", "prefix", "prefix_extra", "length_immediate" and "mode"
+ attributes.
+ (vec_extract_hi_v64qi): Merge all alternatives into one, use
+ "sselog1" type instead of "sselog". Remove explicit "memory"
+ attribute.
+ (vec_extract_hi_v32qi): Merge each pair of alternatives into one,
+ use "sselog1" type instead of "sselog". Remove explicit "memory"
+ attribute.
+
+ PR target/85430
+ * config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu.
+
+ PR middle-end/85414
+ * rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG
+ on a SUBREG.
+
+2018-04-17 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/85421
+ * ipa-cp.c (create_specialized_node): Call
+ expand_all_artificial_thunks if necessary.
+
+2018-04-17 Martin Liska <mliska@suse.cz>
+
+ PR lto/85405
+ * ipa-devirt.c (odr_types_equivalent_p): Remove trailing
+ in message, remote space in between '_G' and '('.
+
+2018-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/85281
+ * config/i386/sse.md (reduces<mode><mask_scalar_name>,
+ avx512f_vmcmp<mode>3<round_saeonly_name>,
+ avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
+ avx512f_sgetexp<mode><mask_scalar_name><round_saeonly_scalar_name>,
+ avx512f_rndscale<mode><round_saeonly_name>,
+ avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
+ avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
+ Use %<iptr>2 instead of %2 for -masm=intel.
+ (avx512f_vcvtss2usi<round_name>, avx512f_vcvtss2usiq<round_name>,
+ avx512f_vcvttss2usi<round_saeonly_name>,
+ avx512f_vcvttss2usiq<round_saeonly_name>): Use %k1 instead of %1 for
+ -masm=intel.
+ (avx512f_vcvtsd2usi<round_name>, avx512f_vcvtsd2usiq<round_name>,
+ avx512f_vcvttsd2usi<round_saeonly_name>,
+ avx512f_vcvttsd2usiq<round_saeonly_name>, ufloatv2siv2df2<mask_name>):
+ Use %q1 instead of %1 for -masm=intel.
+ (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>,
+ avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Use %<iptr>3 instead
+ of %3 for -masm=intel.
+ (sse2_shufpd_v2df_mask): Fix a typo, change %{6%} to %{%6%} for
+ -masm=intel.
+ (*avx512vl_<code>v2div2qi2_store): Use %w0 instead of %0 for
+ -masm=intel.
+ (*avx512vl_<code><mode>v4qi2_store): Use %k0 instead of %0 for
+ -masm=intel.
+ (avx512vl_<code><mode>v4qi2_mask_store): Use a single pattern with
+ %k0 and %1 for -masm=intel rather than two patterns, one with %0 and
+ %g1.
+ (*avx512vl_<code><mode>v8qi2_store): Use %q0 instead of %0 for
+ -masm=intel.
+ (avx512vl_<code><mode>v8qi2_mask_store): Use a single pattern with
+ %q0 and %1 for -masm=intel rather than two patterns, one with %0 and
+ %g1 and one with %0 and %1.
+ (avx512er_vmrcp28<mode><round_saeonly_name>,
+ avx512er_vmrsqrt28<mode><round_saeonly_name>): Use %<iptr>1 instead of
+ %1 for -masm=intel.
+ (avx5124fmaddps_4fmaddps_mask, avx5124fmaddps_4fmaddss_mask,
+ avx5124fmaddps_4fnmaddps_mask, avx5124fmaddps_4fnmaddss_mask,
+ avx5124vnniw_vp4dpwssd_mask, avx5124vnniw_vp4dpwssds_mask): Swap order
+ of %0 and %{%4%} for -masm=intel.
+ (avx5124fmaddps_4fmaddps_maskz, avx5124fmaddps_4fmaddss_maskz,
+ avx5124fmaddps_4fnmaddps_maskz, avx5124fmaddps_4fnmaddss_maskz,
+ avx5124vnniw_vp4dpwssd_maskz, avx5124vnniw_vp4dpwssds_maskz): Swap
+ order of %0 and %{%5%}%{z%} for -masm=intel.
+
+2018-04-17 Jan Hubicka <jh@suse.cz>
+
+ PR lto/85405
+ * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields.
+
+2018-04-17 Martin Liska <mliska@suse.cz>
+
+ PR ipa/85329
+ * multiple_target.c (create_dispatcher_calls): Set apostrophes
+ for target_clone error message. Make default implementation
+ clone to be a local declaration.
+ (separate_attrs): Add new argument and check for an empty
+ string.
+ (expand_target_clones): Handle it.
+ (ipa_target_clone): Make redirection just for target_clones
+ functions.
+
+2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/84955
+ * omp-expand.c (expand_oacc_for): Add dummy false branch for
+ tiled basic blocks without omp continue statements.
+
2018-04-16 Aaron Sawdey <acsawdey@linux.ibm.com>
PR target/83660