+2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/extend.texi (symver): Add @cindex for symver function attribute.
+
+2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
+ New declaration.
+ * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
+ stub registers class.
+ (aarch64_class_max_nregs): Likewise.
+ (aarch64_register_move_cost): Likewise.
+ (aarch64_sls_shared_thunks): Global array to store stub labels.
+ (aarch64_sls_emit_function_stub): New.
+ (aarch64_create_blr_label): New.
+ (aarch64_sls_emit_blr_function_thunks): New.
+ (aarch64_sls_emit_shared_blr_thunks): New.
+ (aarch64_asm_file_end): New.
+ (aarch64_indirect_call_asm): New.
+ (TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
+ (TARGET_ASM_FUNCTION_EPILOGUE): Use
+ aarch64_sls_emit_blr_function_thunks.
+ * config/aarch64/aarch64.h (STB_REGNUM_P): New.
+ (enum reg_class): Add STUB_REGS class.
+ (machine_function): Introduce `call_via` array for
+ function-local stub labels.
+ * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
+ aarch64_indirect_call_asm to emit code when hardening BLR
+ instructions.
+ * config/aarch64/constraints.md (Ucr): New constraint
+ representing registers for indirect calls. Is GENERAL_REGS
+ usually, and STUB_REGS when hardening BLR instruction against
+ SLS.
+ * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
+ is also a general register.
+
+2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
+ * config/aarch64/aarch64.c (aarch64_output_casesi): Emit
+ speculation barrier after BR instruction if needs be.
+ (aarch64_trampoline_init): Handle ptr_mode value & adjust size
+ of code copied.
+ (aarch64_sls_barrier): New.
+ (aarch64_asm_trampoline_template): Add needed barriers.
+ * config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
+ (TARGET_SB): New.
+ (TRAMPOLINE_SIZE): Account for barrier.
+ * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
+ simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
+ Emit barrier if needs be, also account for possible barrier using
+ "sls_length" attribute.
+ (sls_length): New attribute.
+ (length): Determine default using any non-default sls_length
+ value.
+
+2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
+ New.
+ (aarch64_harden_sls_blr_p): New.
+ * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
+ New.
+ (aarch64_harden_sls_retbr_p): New.
+ (aarch64_harden_sls_blr_p): New.
+ (aarch64_validate_sls_mitigation): New.
+ (aarch64_override_options): Parse options for SLS mitigation.
+ * config/aarch64/aarch64.opt (-mharden-sls): New option.
+ * doc/invoke.texi: Document new option.
+
+2020-08-04 Andrea Corallo <andrea.corallo@arm.com>
+
+ Backported from master:
+ 2020-08-04 Andrea Corallo <andrea.corallo@arm.com>
+
+ * config/aarch64/aarch64.md (aarch64_fjcvtzs): Add missing
+ clobber.
+ * doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new
+ target supports option.
+
+2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/96426
+ * tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT
+ call with GIMPLE_NOP if there is no lhs.
+
+2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/96354
+ * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Add IS_DEBUG
+ argument. Return false instead of gcc_unreachable if it is true and
+ get_addr_base_and_unit_offset returns NULL.
+ (fold_stmt_1) <case GIMPLE_DEBUG>: Adjust caller.
+
2020-08-03 Jonathan Wakely <jwakely@redhat.com>
Backported from master:
+2020-08-04 Michael Meissner <meissner@linux.ibm.com>
+ David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/prefix-add.c: Backport from 2020-06-27 and
+ 2020-06-26 changes.
+ * gcc.target/powerpc/prefix-di-constant.c: Backport.
+ * gcc.target/powerpc/prefix-ds-dq.c: Backport.
+ * gcc.target/powerpc/prefix-large-dd.c: Backport.
+ * gcc.target/powerpc/prefix-large-df.c: Backport.
+ * gcc.target/powerpc/prefix-large-di.c: Backport.
+ * gcc.target/powerpc/prefix-large-hi.c: Backport.
+ * gcc.target/powerpc/prefix-large-kf.c: Backport.
+ * gcc.target/powerpc/prefix-large-qi.c: Backport.
+ * gcc.target/powerpc/prefix-large-sd.c: Backport.
+ * gcc.target/powerpc/prefix-large-sf.c: Backport.
+ * gcc.target/powerpc/prefix-large-si.c: Backport.
+ * gcc.target/powerpc/prefix-large-udi.c: Backport.
+ * gcc.target/powerpc/prefix-large-uhi.c: Backport.
+ * gcc.target/powerpc/prefix-large-uqi.c: Backport.
+ * gcc.target/powerpc/prefix-large-usi.c: Backport.
+ * gcc.target/powerpc/prefix-large-v2df.c: Backport.
+ * gcc.target/powerpc/prefix-large.h: Backport.
+ * gcc.target/powerpc/prefix-no-update.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-dd.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-df.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-di.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-hi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-kf.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-qi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-sd.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-sf.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-si.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-udi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-uhi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-uqi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-usi.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel-v2df.c: Backport.
+ * gcc.target/powerpc/prefix-pcrel.h: Backport.
+ * gcc.target/powerpc/prefix-si-constant.c: Backport.
+ * gcc.target/powerpc/prefix-stack-protect.c: Backport.
+
+2020-08-04 Marek Polacek <polacek@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Marek Polacek <polacek@redhat.com>
+
+ PR c++/96082
+ * g++.dg/template/template-keyword3.C: New test.
+
+2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c: New test.
+ * gcc.target/aarch64/sls-mitigation/sls-miti-blr.c: New test.
+
+2020-08-04 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c: New test.
+ * gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c:
+ New test.
+ * gcc.target/aarch64/sls-mitigation/sls-mitigation.exp: New file.
+ * lib/target-supports.exp (check_effective_target_aarch64_asm_sb_ok):
+ New proc.
+
+2020-08-04 Andrea Corallo <andrea.corallo@arm.com>
+
+ Backported from master:
+ 2020-08-04 Andrea Corallo <andrea.corallo@arm.com>
+
+ * gcc.target/aarch64/acle/jcvt_2.c: New testcase.
+ * lib/target-supports.exp
+ (check_effective_target_aarch64_fjcvtzs_hw): Add new check for
+ FJCVTZS hw.
+
+2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/96426
+ * gcc.c-torture/compile/pr96426.c: New test.
+
+2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/96354
+ * g++.dg/opt/pr96354.C: New test.
+
2020-08-03 Jakub Jelinek <jakub@redhat.com>
Backported from master: