+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant.
+
+2024-01-04 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/113186
+ * gimple-match-head.cc (gimple_bitwise_inverted_equal_p):
+ Match `^` with the `==` for 1bit integral types.
+ * match.pd (maybe_cmp): Allow for bit_xor for 1bit
+ integral types.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * toplev.cc (general_init): Pass lang_mask to urlifier.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic.h (diagnostic_make_option_url_cb): Add lang_mask
+ param.
+ (diagnostic_context::make_option_url): Update for lang_mask param.
+ * gcc-urlifier.cc: Include "opts.h" and "options.h".
+ (gcc_urlifier::gcc_urlifier): Add lang_mask param.
+ (gcc_urlifier::m_lang_mask): New field.
+ (doc_urls): Make static.
+ (gcc_urlifier::get_url_for_quoted_text): Use label_text.
+ (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text.
+ Look for an option by name before trying a binary search in
+ doc_urls.
+ (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text.
+ (gcc_urlifier::get_url_suffix_for_option): New.
+ (make_gcc_urlifier): Add lang_mask param.
+ (selftest::gcc_urlifier_cc_tests): Update for above changes.
+ Verify that a URL is found for "-fpack-struct".
+ * gcc-urlifier.def: Drop options "--version" and "-fpack-struct".
+ * gcc-urlifier.h (make_gcc_urlifier): Add lang_mask param.
+ * gcc.cc (driver::global_initializations): Pass 0 for lang_mask
+ to make_gcc_urlifier.
+ * opts-diagnostic.h (get_option_url): Add lang_mask param.
+ * opts.cc (get_option_html_page): Remove special-casing for
+ analyzer and LTO.
+ (get_option_url_suffix): New.
+ (get_option_url): Reimplement.
+ (selftest::test_get_option_html_page): Rename to...
+ (selftest::test_get_option_url_suffix): ...this and update for
+ above changes.
+ (selftest::opts_cc_tests): Update for renaming.
+ * opts.h: Include "rich-location.h".
+ (get_option_url_suffix): New decl.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (ALL_OPT_URL_FILES): New.
+ (GCC_OBJS): Add options-urls.o.
+ (OBJS): Likewise.
+ (OBJS-libcommon): Likewise.
+ (s-options): Depend on $(ALL_OPT_URL_FILES), and add this to
+ inputs to opt-gather.awk.
+ (options-urls.cc): New Makefile target.
+ * opt-functions.awk (url_suffix): New function.
+ (lang_url_suffix): New function.
+ * options-urls-cc-gen.awk: New file.
+ * opts.h (get_opt_url_suffix): New decl.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * params.opt.urls: New file, autogenerated by
+ regenerate-opt-urls.py.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * common.opt.urls: New file, autogenerated by
+ regenerate-opt-urls.py.
+ * config/aarch64/aarch64.opt.urls: Likewise.
+ * config/alpha/alpha.opt.urls: Likewise.
+ * config/alpha/elf.opt.urls: Likewise.
+ * config/arc/arc-tables.opt.urls: Likewise.
+ * config/arc/arc.opt.urls: Likewise.
+ * config/arm/arm-tables.opt.urls: Likewise.
+ * config/arm/arm.opt.urls: Likewise.
+ * config/arm/vxworks.opt.urls: Likewise.
+ * config/avr/avr.opt.urls: Likewise.
+ * config/bpf/bpf.opt.urls: Likewise.
+ * config/c6x/c6x-tables.opt.urls: Likewise.
+ * config/c6x/c6x.opt.urls: Likewise.
+ * config/cris/cris.opt.urls: Likewise.
+ * config/cris/elf.opt.urls: Likewise.
+ * config/csky/csky.opt.urls: Likewise.
+ * config/csky/csky_tables.opt.urls: Likewise.
+ * config/darwin.opt.urls: Likewise.
+ * config/dragonfly.opt.urls: Likewise.
+ * config/epiphany/epiphany.opt.urls: Likewise.
+ * config/fr30/fr30.opt.urls: Likewise.
+ * config/freebsd.opt.urls: Likewise.
+ * config/frv/frv.opt.urls: Likewise.
+ * config/ft32/ft32.opt.urls: Likewise.
+ * config/fused-madd.opt.urls: Likewise.
+ * config/g.opt.urls: Likewise.
+ * config/gcn/gcn.opt.urls: Likewise.
+ * config/gnu-user.opt.urls: Likewise.
+ * config/h8300/h8300.opt.urls: Likewise.
+ * config/hpux11.opt.urls: Likewise.
+ * config/i386/cygming.opt.urls: Likewise.
+ * config/i386/cygwin.opt.urls: Likewise.
+ * config/i386/djgpp.opt.urls: Likewise.
+ * config/i386/i386.opt.urls: Likewise.
+ * config/i386/mingw-w64.opt.urls: Likewise.
+ * config/i386/mingw.opt.urls: Likewise.
+ * config/i386/nto.opt.urls: Likewise.
+ * config/ia64/ia64.opt.urls: Likewise.
+ * config/ia64/ilp32.opt.urls: Likewise.
+ * config/ia64/vms.opt.urls: Likewise.
+ * config/iq2000/iq2000.opt.urls: Likewise.
+ * config/linux-android.opt.urls: Likewise.
+ * config/linux.opt.urls: Likewise.
+ * config/lm32/lm32.opt.urls: Likewise.
+ * config/loongarch/loongarch.opt.urls: Likewise.
+ * config/lynx.opt.urls: Likewise.
+ * config/m32c/m32c.opt.urls: Likewise.
+ * config/m32r/m32r.opt.urls: Likewise.
+ * config/m68k/ieee.opt.urls: Likewise.
+ * config/m68k/m68k-tables.opt.urls: Likewise.
+ * config/m68k/m68k.opt.urls: Likewise.
+ * config/m68k/uclinux.opt.urls: Likewise.
+ * config/mcore/mcore.opt.urls: Likewise.
+ * config/microblaze/microblaze.opt.urls: Likewise.
+ * config/mips/mips-tables.opt.urls: Likewise.
+ * config/mips/mips.opt.urls: Likewise.
+ * config/mips/sde.opt.urls: Likewise.
+ * config/mmix/mmix.opt.urls: Likewise.
+ * config/mn10300/mn10300.opt.urls: Likewise.
+ * config/moxie/moxie.opt.urls: Likewise.
+ * config/msp430/msp430.opt.urls: Likewise.
+ * config/nds32/nds32-elf.opt.urls: Likewise.
+ * config/nds32/nds32-linux.opt.urls: Likewise.
+ * config/nds32/nds32.opt.urls: Likewise.
+ * config/netbsd-elf.opt.urls: Likewise.
+ * config/netbsd.opt.urls: Likewise.
+ * config/nios2/elf.opt.urls: Likewise.
+ * config/nios2/nios2.opt.urls: Likewise.
+ * config/nvptx/nvptx-gen.opt.urls: Likewise.
+ * config/nvptx/nvptx.opt.urls: Likewise.
+ * config/openbsd.opt.urls: Likewise.
+ * config/or1k/elf.opt.urls: Likewise.
+ * config/or1k/or1k.opt.urls: Likewise.
+ * config/pa/pa-hpux.opt.urls: Likewise.
+ * config/pa/pa-hpux1010.opt.urls: Likewise.
+ * config/pa/pa-hpux1111.opt.urls: Likewise.
+ * config/pa/pa-hpux1131.opt.urls: Likewise.
+ * config/pa/pa.opt.urls: Likewise.
+ * config/pa/pa64-hpux.opt.urls: Likewise.
+ * config/pdp11/pdp11.opt.urls: Likewise.
+ * config/pru/pru.opt.urls: Likewise.
+ * config/riscv/riscv.opt.urls: Likewise.
+ * config/rl78/rl78.opt.urls: Likewise.
+ * config/rpath.opt.urls: Likewise.
+ * config/rs6000/476.opt.urls: Likewise.
+ * config/rs6000/aix64.opt.urls: Likewise.
+ * config/rs6000/darwin.opt.urls: Likewise.
+ * config/rs6000/linux64.opt.urls: Likewise.
+ * config/rs6000/rs6000-tables.opt.urls: Likewise.
+ * config/rs6000/rs6000.opt.urls: Likewise.
+ * config/rs6000/sysv4.opt.urls: Likewise.
+ * config/rtems.opt.urls: Likewise.
+ * config/rx/elf.opt.urls: Likewise.
+ * config/rx/rx.opt.urls: Likewise.
+ * config/s390/s390.opt.urls: Likewise.
+ * config/s390/tpf.opt.urls: Likewise.
+ * config/sh/sh.opt.urls: Likewise.
+ * config/sh/superh.opt.urls: Likewise.
+ * config/sol2.opt.urls: Likewise.
+ * config/sparc/long-double-switch.opt.urls: Likewise.
+ * config/sparc/sparc.opt.urls: Likewise.
+ * config/stormy16/stormy16.opt.urls: Likewise.
+ * config/v850/v850.opt.urls: Likewise.
+ * config/vax/elf.opt.urls: Likewise.
+ * config/vax/vax.opt.urls: Likewise.
+ * config/visium/visium.opt.urls: Likewise.
+ * config/vms/vms.opt.urls: Likewise.
+ * config/vxworks-smp.opt.urls: Likewise.
+ * config/vxworks.opt.urls: Likewise.
+ * config/xtensa/elf.opt.urls: Likewise.
+ * config/xtensa/uclinux.opt.urls: Likewise.
+ * config/xtensa/xtensa.opt.urls: Likewise.
+ * config/bfin/bfin.opt.urls: New file.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OPT_URLS_HTML_DEPS): New.
+ (regenerate-opt-urls): New target.
+ (regenerate-opt-urls-unit-test): New target.
+ * doc/options.texi (Option properties): Add UrlSuffix and
+ description of regenerate-opt-urls.py. Add LangUrlSuffix_*.
+ * doc/sourcebuild.texi (Anatomy of a Language Front End): Add
+ reference to regenerate-opt-urls.py's PER_LANGUAGE_OPTION_INDEXES
+ and Makefile.in's OPT_URLS_HTML_DEPS.
+ (Anatomy of a Target Back End): Add
+ reference to regenerate-opt-urls.py's TARGET_SPECIFIC_PAGES.
+ * regenerate-opt-urls.py: New file.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-format-sarif.cc
+ (sarif_builder::make_logical_location_object): Convert to...
+ (make_sarif_logical_location_object): ...this.
+ (sarif_builder::set_any_logical_locs_arr): Update for above
+ change.
+ (sarif_builder::make_thread_flow_location_object): Call
+ maybe_add_sarif_properties on each diagnostic_event.
+ * diagnostic-format-sarif.h (class logical_location): New forward
+ decl.
+ (make_sarif_logical_location_object): New decl.
+ * diagnostic-path.h (class sarif_object): New forward decl.
+ (diagnostic_event::maybe_add_sarif_properties): New vfunc.
+
+2024-01-04 Kuan-Lin Chen <rufus@andestech.com>
+ Patrick Lin <patrick@andestech.com>
+ Rufus Chen <rufus@andestech.com>
+ Monk Chiang <monk.chiang@sifive.com>
+
+ * config/riscv/riscv.cc (riscv_legitimize_move): Expand movfh
+ with Nan-boxing value.
+ * config/riscv/riscv.md (*movhf_softfloat_unspec): New pattern.
+
+2024-01-04 Roger Sayle <roger@nextmovesoftware.com>
+ Jeff Law <jlaw@ventanamicro.com>
+
+ PR rtl-optimization/104914
+ * expr.cc (expand_assignment): When target is SUBREG_PROMOTED_VAR_P
+ a sign or zero extension is only required if the modified field
+ overlaps the SUBREG's most significant bit. On MODE_REP_EXTENDED
+ targets, don't refer to the temporarily incorrectly extended value
+ using a SUBREG, but instead generate an explicit TRUNCATE rtx.
+
+2024-01-04 Pan Li <pan2.li@intel.com>
+
+ Revert:
+ 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant.
+
+2024-01-04 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/riscv.cc (riscv_for_each_saved_reg): Adjust the
+ offset of fcsr.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): New function.
+ (compute_nregs_for_mode): Refine LMUL.
+ (max_number_of_live_regs): Ditto.
+ (compute_estimated_lmul): Ditto.
+ (has_unexpected_spills_p): Ditto.
+
+2024-01-04 Li Wei <liwei@loongson.cn>
+
+ * config/loongarch/loongarch.cc (loongarch_is_odd_extraction):
+ Remove useless forward declaration.
+ (loongarch_is_even_extraction): Remove useless forward declaration.
+ (loongarch_try_expand_lsx_vshuf_const): Removed.
+ (loongarch_expand_vec_perm_const_1): Merged.
+ (loongarch_is_double_duplicate): Removed.
+ (loongarch_is_center_extraction): Ditto.
+ (loongarch_is_reversing_permutation): Ditto.
+ (loongarch_is_di_misalign_extract): Ditto.
+ (loongarch_is_si_misalign_extract): Ditto.
+ (loongarch_is_lasx_lowpart_extract): Ditto.
+ (loongarch_is_op_reverse_perm): Ditto.
+ (loongarch_is_single_op_perm): Ditto.
+ (loongarch_is_divisible_perm): Ditto.
+ (loongarch_is_triple_stride_extract): Ditto.
+ (loongarch_expand_vec_perm_const_2): Merged.
+ (loongarch_expand_vec_perm_const): New.
+ (loongarch_vectorize_vec_perm_const): Adjust.
+
+2024-01-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * omp-general.cc: Fix comment typos and misplaced/confusing
+ comments. Delete redundant include of omp-general.h.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ PR rtl-optimization/104914
+ * config/mips/mips.md (insqisi_extended): New patterns.
+ (inshisi_extended): Ditto.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ * config/mips/mips.cc (mips_insn_cost): New function.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ * config/mips/mips.md (perf_ratio): New attribute.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ PR target/113206
+ PR target/113209
+ * config/riscv/riscv-vsetvl.cc (invalid_opt_bb_p): New function.
+ (pre_vsetvl::compute_lcm_local_properties): Disable earliest fusion on
+ blocks belong to infinite loop.
+ (pre_vsetvl::emit_vsetvl): Remove fake edges.
+ * config/riscv/t-riscv: Add a new include file.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/vector.md: Fix indent.
+
2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com>
* tree-core.h (enum omp_clause_code): Move OMP_CLAUSE_INDIRECT to before
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test.
+
+2024-01-04 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/113186
+ * gcc.dg/tree-ssa/bitops-bool-1.c: New test.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ * lib/gcc-dg.exp: Set TERM to xterm.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/112790
+ * c-c++-common/analyzer/deref-before-check-pr112790.c: New test.
+
+2024-01-04 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/113222
+ * gcc.dg/analyzer/out-of-bounds-diagram-pr113222.c: New test.
+
+2024-01-04 Kuan-Lin Chen <rufus@andestech.com>
+ Patrick Lin <patrick@andestech.com>
+ Rufus Chen <rufus@andestech.com>
+ Monk Chiang <monk.chiang@sifive.com>
+
+ * gcc.target/riscv/_Float16-nanboxing.c: New test.
+
+2024-01-04 Pan Li <pan2.li@intel.com>
+
+ Revert:
+ 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test.
+
+2024-01-04 Kito Cheng <kito.cheng@sifive.com>
+
+ * gcc.target/riscv/interrupt-misaligned.c: New.
+
+2024-01-04 chenxiaolong <chenxiaolong@loongson.cn>
+
+ * gcc.dg/vect/slp-26.c: Add loongarch.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: New test.
+
+2024-01-04 chenxiaolong <chenxiaolong@loongson.cn>
+
+ * gcc.target/loongarch/vector/lasx/lasx-xvstelm.c:Add compile
+ option "-fno-vect-cost-model" to dg-options.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ * gcc.c-torture/compile/mipscop-1.c: Include stdio.h.
+ * gcc.c-torture/compile/mipscop-2.c: Ditto.
+ * gcc.c-torture/compile/mipscop-3.c: Ditto.
+ * gcc.c-torture/compile/mipscop-4.c: Ditto.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ * gcc.target/mips/pr104914.c: New test.
+
+2024-01-04 YunQiang Su <syq@gcc.gnu.org>
+
+ * gcc.target/mips/data-sym-multi-pool.c: Skip Os or -O0.
+
+2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ PR target/113206
+ PR target/113209
+ * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adapt test.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Robostify test.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Ditto.
+ * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/pr113206-1.c: New test.
+ * gcc.target/riscv/rvv/autovec/pr113206-2.c: New test.
+ * gcc.target/riscv/rvv/autovec/pr113209.c: New test.
+
2024-01-03 Patrick Palka <ppalka@redhat.com>
PR c++/113064