{"old": "/home/jenkins/agent/workspace/multiarch/src-openeuler/aarch64/gcc-14/old_rpms/", "new": "/home/jenkins/agent/workspace/multiarch/src-openeuler/aarch64/gcc-14/new_rpms/", "compare_result": "not pass", "compare_details": {"same": {"same_details": {"old": ["gcc-toolset-14-libgcc-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libhwasan-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libubsan-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-devel-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libgccjit-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-liblsan-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libitm-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libtsan-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libgomp-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libatomic-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libtsan-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libitm-devel-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libitm-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-gcc-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libhwasan-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libubsan-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libasan-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libasan-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libgccjit-devel-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libatomic-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libgfortran-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libgfortran-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-liblsan-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-static-14.3.1-19.oe1.aarch64.rpm", "gcc-toolset-14-gcc-gdb-plugin-14.3.1-19.oe1.aarch64.rpm"], "new": ["gcc-toolset-14-libgcc-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libhwasan-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libubsan-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-devel-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libgccjit-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-liblsan-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libitm-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libtsan-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libgomp-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libatomic-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libtsan-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libitm-devel-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libitm-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-gcc-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libhwasan-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libubsan-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libasan-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libasan-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libgccjit-devel-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libatomic-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libgfortran-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libgfortran-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-liblsan-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-libstdc++-static-14.3.1-34.oe1.aarch64.rpm", "gcc-toolset-14-gcc-gdb-plugin-14.3.1-34.oe1.aarch64.rpm"]}, "same_num": 26}, "diff": {"diff_details": {"gcc-toolset-14-gcc-c++": {"name": {"old": "gcc-toolset-14-gcc-c++-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-gcc-c++-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {"diff": [{"old": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/cc1plus", "new": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/cc1plus", "details": {"count_result": {"Removed functions": 317}}}]}}, "gcc-toolset-14-cpp": {"name": {"old": "gcc-toolset-14-cpp-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-cpp-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {"diff": [{"old": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/cc1", "new": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/cc1", "details": {"count_result": {"Removed functions": 317}}}]}}, "gcc-toolset-14-libgcc": {"name": {"old": "gcc-toolset-14-libgcc-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgcc-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}, "gcc-toolset-14-libhwasan": {"name": {"old": "gcc-toolset-14-libhwasan-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libhwasan-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libubsan-static": {"name": {"old": "gcc-toolset-14-libubsan-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libubsan-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libstdc++-devel": {"name": {"old": "gcc-toolset-14-libstdc++-devel-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libstdc++-devel-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm header": {}}, "gcc-toolset-14-libgccjit": {"name": {"old": "gcc-toolset-14-libgccjit-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgccjit-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}, "gcc-toolset-14-gcc-gfortran": {"name": {"old": "gcc-toolset-14-gcc-gfortran-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-gcc-gfortran-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm header": {}, "rpm symbol": {"diff": [{"old": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/f951", "new": "/opt/openEuler/gcc-toolset-14/root/usr/libexec/gcc/aarch64-openEuler-linux/14/f951", "details": {"count_result": {"Removed functions": 317}}}]}}, "gcc-toolset-14-liblsan": {"name": {"old": "gcc-toolset-14-liblsan-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-liblsan-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libitm-static": {"name": {"old": "gcc-toolset-14-libitm-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libitm-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libtsan-static": {"name": {"old": "gcc-toolset-14-libtsan-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libtsan-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libgomp": {"name": {"old": "gcc-toolset-14-libgomp-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgomp-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}, "gcc-toolset-14-libatomic": {"name": {"old": "gcc-toolset-14-libatomic-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libatomic-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libtsan": {"name": {"old": "gcc-toolset-14-libtsan-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libtsan-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libitm-devel": {"name": {"old": "gcc-toolset-14-libitm-devel-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libitm-devel-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libstdc++": {"name": {"old": "gcc-toolset-14-libstdc++-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libstdc++-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}, "gcc-toolset-14-libitm": {"name": {"old": "gcc-toolset-14-libitm-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libitm-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}, "gcc-toolset-14-gcc": {"name": {"old": "gcc-toolset-14-gcc-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-gcc-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm header": {}, "rpm symbol": {}}, "gcc-toolset-14-libhwasan-static": {"name": {"old": "gcc-toolset-14-libhwasan-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libhwasan-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libubsan": {"name": {"old": "gcc-toolset-14-libubsan-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libubsan-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libasan": {"name": {"old": "gcc-toolset-14-libasan-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libasan-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libasan-static": {"name": {"old": "gcc-toolset-14-libasan-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libasan-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libgccjit-devel": {"name": {"old": "gcc-toolset-14-libgccjit-devel-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgccjit-devel-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm header": {}}, "gcc-toolset-14-libatomic-static": {"name": {"old": "gcc-toolset-14-libatomic-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libatomic-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libgfortran": {"name": {"old": "gcc-toolset-14-libgfortran-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgfortran-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm symbol": {}}, "gcc-toolset-14-libgfortran-static": {"name": {"old": "gcc-toolset-14-libgfortran-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libgfortran-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-liblsan-static": {"name": {"old": "gcc-toolset-14-liblsan-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-liblsan-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-libstdc++-static": {"name": {"old": "gcc-toolset-14-libstdc++-static-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-libstdc++-static-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}}, "gcc-toolset-14-gcc-plugin-devel": {"name": {"old": "gcc-toolset-14-gcc-plugin-devel-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-gcc-plugin-devel-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm header": {"diff": {"old": ["aarch64-linux.h", "symbol-summary.h", "profile.h", "tree-vectorizer.h", "ipa-param-manipulation.h", "value-prof.h", "options.h", "insn-codes.h", "coverage.h"], "new": ["aarch64-linux.h", "symbol-summary.h", "profile.h", "tree-vectorizer.h", "ipa-param-manipulation.h", "value-prof.h", "options.h", "insn-codes.h", "coverage.h"]}, "more": ["rtl-matcher.h"]}, "rpm symbol": {}}, "gcc-toolset-14-gcc-gdb-plugin": {"name": {"old": "gcc-toolset-14-gcc-gdb-plugin-14.3.1-19.oe1.aarch64.rpm", "new": "gcc-toolset-14-gcc-gdb-plugin-14.3.1-34.oe1.aarch64.rpm"}, "RPM Level": "level4", "rpm requires": {}, "rpm provides": {}, "rpm files": {}, "rpm symbol": {}}}, "diff_num": 4}, "less": {"less_details": {}, "less_num": 0}, "more": {"more_details": {}, "more_num": 0}}, "pr_link": "https://gitcode.com/src-openeuler/gcc-14/pull/65", "pr_changelog": "* Fri Jul 24 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-34\n- [Fix] Also emit DWARF-4 in GCC's own binaries. With --disable-bootstrap the driver,\n- cc1/cc1plus, gcc-ar, gcc-ranlib etc. are built by the host compiler via $OPT_FLAGS,\n- which carried no -gdwarf-N and so inherited the host DWARF-5 default; the -34 change\n- (gcc/common.opt) only sets the shipped compiler's default for user builds, not these\n- binaries. Their DWARF-5 debug info crashed the oecp/abidiff ABI-symbol check\n- (libabigail assertion in compare_dies_string_attribute_value). Append -gdwarf-4 to\n- OPT_FLAGS so the package's own programs are DWARF-4 as well.\n* Fri Jul 24 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-33\n- [Fix] Restore the intended -gdwarf-4 default. The %prep sed that downgrades\n- gcc/common.opt from DWARF-5 to DWARF-4 matched the gcc-12-era literal Init(5),\n- but gcc-14 writes Init(DWARF_VERSION_DEFAULT), so the sed silently no-opped and\n- binaries shipped with DWARF-5 debug info. That crashed the oecp/abidiff ABI-symbol\n- check (libabigail assertion in compare_dies_string_attribute_value on DWARF-5\n- string forms) on gcc-ar, gcc-ranlib and other toolset binaries. Match any Init(...)\n- and verify the downgrade applied so it cannot silently regress on a future rebase.\n* Thu Jul 23 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-32\n- [Sync] Complete Transposed-SLP + if-split port to gcc-14 (Patch1199): land the\n- rest of the source cluster the earlier partial port omitted (transpose bugfixes\n- 0295/0296/0297, if-split pass 0311, late-slp 0312, if-split fixes 0320/0328, and\n- the gimple-if-split.cc hunk of 0329), and fix the base-compiler ICE the partial\n- port caused: gate 0188's transpose-decision pre-costing pass behind\n- -ftree-slp-transpose-vectorize (it released instance->cost_vec and double-costed,\n- ICEing ordinary -O2 code when the feature was off), initialize the uninitialized\n- transposed/before_slp members, and adapt last_stmt->last_nondebug_stmt. Validated\n- on aarch64: base compiler compiles clean (20/20 gcc sources, no ICE); feature fires\n- on 6/8 transpose-*.c with -ftree-slp-transpose-vectorize.\n\n* Thu Jul 23 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-31\n- [Fix] Fix CI build failures introduced by the migration:\n- 1) Drop i386 prefetchi patches (0171/0172/0173, Patch1180-1182) - already native in\n-    gcc-14; the duplicate local_func_symbolic_operand predicate broke genpreds and aborted %prep.\n- 2) Drop i386 small-loop-unroll patches (0145/0146, Patch1154-1155) - already native in\n-    gcc-14; re-appending duplicate small_unroll initializers to intel_cost caused the\n-    x86-tune-costs.h \"too many initializers for processor_costs\" compile failure.\n- 3) Refresh 5 context-drifted patches (0133/0138/0140/0141/0144) to apply at fuzz=0; net\n-    code byte-for-byte identical to the fuzz-validated tree (%prep no longer aborts).\n- 4) Correct %changelog weekday (Sun->Mon Jul 20 2026) to clear the bogus date error.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-30\n- [Sync] Split if-split Patch329: land the separable subset (Patch1198) - move\n- vect_slp_init/fini from vect_analyze_loop to the correct loop_distribution::execute scope,\n- fixing the unpaired vect_slp_init left by Transposed-SLP(99). The if-split core depends on\n- out-of-scope Patch311 and is not migrated. Validated: all-gcc.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-29\n- [Sync] Feature port:Transposed-SLP (-ftree-slp-transpose-vectorize) ported to gcc-14 (Patch1197).\n- Re-integrated gcc-14 vectorizer rewrite: relocated load transpose handler to per-copy\n- loop top as run-once return; guarded transpose blocks with !costing_p; API drift\n- (free_rdg/vect_get_data_ptr_increment/push_vec_def). Validated: all-gcc + 6/8 transpose-*.c.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-28\n- [Sync] Feature port:rtl-ifcvt register-renaming ported to gcc-14 (Patch1196).\n- Completed 3 drifted hunks preserving gcc-14 improvements. Validated: all-gcc links.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-27\n- [Sync] Feature port:LoopElim ported to gcc-14 (Patch1195). Relocated fuzzy-misplaced\n- do_phiopt_pattern call to gcc-14 phiopt worker. Validated: -floop-elim accepted.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-26\n- [Sync] Feature port:fp-model ported to gcc-14 (Patch1194). Reconstructed drifted\n- handle_fp_model_driver. Validated: -ffp-model={fast,precise,strict} accepted.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-25\n- [Sync] Feature port:CFGO/CSPGO/oeAware ported to gcc-14 (Patch1193). 8 source patches;\n- build/registration adaptations + CSPGO gate reconstruct + CFGO opt-bundle decompose.\n- Validated: all-gcc links; -fcfgo-*/-foeaware-policy accepted.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-24\n- [Sync] Feature port:SVE std::find ported to gcc-14 (Patch1192). aarch64 SVE\n- vectorization of std::find (new gimple pass gimple-ssa-expand-sve.cc; 7 source\n- patches). Build-system/registration adaptations only, zero pass-body API change.\n- Validated: all-gcc links; find-with-sve.C emits __sve_optimized_find_u64 x8.\n- See docs/porting-specs/sve-std-find.md.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-23\n- [Sync] Feature port:Struct-Reorg family ported to gcc-14 (Patch1191). openEuler\n- structure-reorganization IPA optimization family (reorg/relayout/reorder-fields/\n- DFE/pointer-compression/semi-relayout/SFC; 24 source patches, excl. dynamic-field-\n- compression which needs blocked AI4C). Interface/build adaptations only (registration\n- drift, gcc-14 header chain, dependency patch 315), zero algorithm change. Validated:\n- all-gcc links; struct_reorg-2.c transforms 2 structures. See docs/porting-specs/struct-reorg.md.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-22\n- [Sync] Feature port:IPA-prefetch pass ported to gcc-14 (Patch1190). Interprocedural\n- software-prefetch insertion for indirect memory accesses. 7 gcc-12->14 interface\n- adaptations (range-info API, gengtype GC vec, header chain, ipa-sra null-csum\n- shim), zero algorithm change. Validated: all-gcc links; pass fires and emits\n- 'prfm' on the ipa-prefetch testcase. See docs/porting-specs/ipa-prefetch.md.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-21\n- [Sync] Migrate more aarch64 & performance features from gcc-12.3.1 (Patch1154-1189):\n- small loop unrolling; array-widen-compare; ccmp2; simdmath(kunpeng); AutoBOLT\n- (feedback/plugin/aarch64-enable/bugfixes); AutoFDO (MCF/discriminator/leak/PMU);\n- early if-conversion (simple-arith/uaddsub); ICP port; maxmin/minmask; non-loop\n- disambiguation; CHREC mult; Crc32 opt; i386 prefetchi intrinsics; SME testsuite\n- adapt; SME start-za; loop-sve-mode; gimple-ifcvt cleanup. Includes a gcc-14\n- interface-adaptation patch (Patch1189: AutoFDO location-based discriminator,\n- ccmp includes, CHREC value-range dedup). Validated by targeted all-gcc build.\n\n* Mon Jul 20 2026 Cutie Deng <cutiedeng@icloud.com> - 14.3.1-20\n- [Sync] Migrate aarch64 & performance patches from openEuler gcc-12.3.1 to gcc-14:\n- AArch64 optional schoolbook mul-widen128 pass (Patch407); MULL64 match.pd\n- optimization 1-3 + default-off; -fkernel-pgo option; AArch64 tsv110 option\n- rework; moutline-atomics for libgomp; cmlt insn-defs/costs; AES pattern\n- matching (crypto-accel) + opt-level guard; mark prefetch builtin willreturn;\n- aarch64 arch-name offset alignment fix.\n"}