Re: Review for gcc-15/changes.html
On 30/04/2025 17:23, Heiko Eißfeldt wrote: > Hi, > > here is a patch for some mostly minor typos in > https://gcc.gnu.org/gcc-15/changes.html. > My fixes might be wrong of course, so they are just suggestions. > > Also, the linked page https://gcc.gnu.org/gcc-15/porting_to.html contains the > now outdated > "Note: GCC 15 has not been released yet, so this document is a > work-in-progress." > which is luckily not true anymore. > > Greetings and thanks, Heiko > -The diagnostics code has seen a major refactor, it now supports the sarif +The diagnostics code has seen a major refactoring, it now supports the sarif I think 'has seen major refactoring' would be better. -DerefMut. This makes gccrs more correct and allow to handle +DerefMut. This makes gccrs more correct and allows to handle complicated cases where the type-checker would previously fail. allows handling - Although most variadic functions work, the implementation -of them is not yet complete. + Although most variadic functions work, the implementations +of them are not yet complete. Drop 'of them', then stick with the singular - 'the implementation is not yet complete' - FEAT_LRCPC2 (+rcpc2), enabled by default for + FEAT_RCPC2 (+rcpc2), enabled by default for and -FEAT_LRCPC3 instructions, when support for the instructions is +FEAT_RCPC3 instructions, when support for the instructions is These are incorrect. The features really are FEAT_LRCPC2/3. Otherwise, I think these look generally like improvements. R.
Re: Review for gcc-15/changes.html
- FEAT_LRCPC2 (+rcpc2), enabled by default for + FEAT_RCPC2 (+rcpc2), enabled by default for and -FEAT_LRCPC3 instructions, when support for the instructions is +FEAT_RCPC3 instructions, when support for the instructions is These are incorrect. The features really are FEAT_LRCPC2/3. Otherwise, I think these look generally like improvements. R. That is interesting. I did a grep on gcc trunk for 'FEAT_.*RCPC' and got this ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC, ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC2, ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC3, ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC); ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC2); ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC3); Substring "LRCPC" I see only in conjunction with hardware capabilities but not features. The documentation (https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/AArch64-Options.html#aarch64-feature-modifiers) lists in chapter 3.20.1.1 "-march and -mcpu Feature Modifiers" ‘rcpc’ ‘rcpc2’ ‘rcpc3’ Finally, the substring LRCPC2 was not found in my repo at all. H.
Re: Review for gcc-15/changes.html
On 30/04/2025 18:34, Heiko Eißfeldt wrote: >> - FEAT_LRCPC2 (+rcpc2), enabled by default for >> + FEAT_RCPC2 (+rcpc2), enabled by default for >> >> and >> >> - FEAT_LRCPC3 instructions, when support for the instructions is >> + FEAT_RCPC3 instructions, when support for the instructions is >> >> These are incorrect. The features really are FEAT_LRCPC2/3. >> >> Otherwise, I think these look generally like improvements. >> >> R. > > > That is interesting. I did a grep on gcc trunk for 'FEAT_.*RCPC' and got this > ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC, > ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC2, > ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC3, > ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC); > ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC2); > ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC3); > > Substring "LRCPC" I see only in conjunction with hardware capabilities but > not features. > > The documentation > (https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/AArch64-Options.html#aarch64-feature-modifiers) > lists in chapter 3.20.1.1 "-march and -mcpu Feature Modifiers" > > ‘rcpc’ > ‘rcpc2’ > ‘rcpc3’ > > Finally, the substring LRCPC2 was not found in my repo at all. > > H. Yes, this is confusing. I'd expect, though, that the FEAT_... names, especially in documents like this would be referring to the official name in the Arm ARM. That only documents FEAT_LRCPC{,2,3}. There's no mention at all of FEAT_RPCC. I think this is why the text above references the GCC name (+rcpc[23]) as well. I'll double check this tomorrow, but I think these two hunks should be removed if the other bits go in. At least until we're sure what is the right text. R.
Review for gcc-15/changes.html
Hi, here is a patch for some mostly minor typos in https://gcc.gnu.org/gcc-15/changes.html. My fixes might be wrong of course, so they are just suggestions. Also, the linked page https://gcc.gnu.org/gcc-15/porting_to.html contains the now outdated "Note: GCC 15 has not been released yet, so this document is a work-in-progress." which is luckily not true anymore. Greetings and thanks, Heiko --- "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html.org" 2025-04-30 15:09:45.736597984 +0200 +++ "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html" 2025-04-30 18:05:33.700016746 +0200 @@ -69,7 +69,7 @@ The vectorizer now supports vectorizing loops with early exits where the number of elements for the input pointers are unknown through peeling -for alignment. This is supported for only for loops with fixed vector +for alignment. This is supported only for loops with fixed vector lengths. -ftime-report now only reports monotonic run time instead of @@ -90,7 +90,7 @@ Improvements for compiling very large input files. The compile time for large input files with -Wmisleading-indentation has been -significantly improved. The compiler can now track columnn numbers larger +significantly improved. The compiler can now track column numbers larger than 4096. Very large source files have more accurate location reporting. GCC can now emit diagnostics in multiple formats simultaneously, @@ -278,7 +278,7 @@ for more information. -The diagnostics code has seen a major refactor, it now supports the sarif +The diagnostics code has seen a major refactoring, it now supports the sarif format -fdiagnostics-format=sarif-file among other improvements. More changes are expected in following releases. @@ -736,7 +736,7 @@ and -fc-prototypes-external options. -The -fc-prototypes now also generates prototypes for +The -fc-prototypes option now also generates prototypes for interoperable procedures with assumed shape and assumed rank arguments that require the header file. @@ -760,7 +760,7 @@ Access to the GCC builtins clz, clzll, ctz -and ctzll are now available from the +and ctzll is now available from the module Builtins. @@ -776,7 +776,7 @@ Fixes to our automatic dereferencing algorithm for Deref and -DerefMut. This makes gccrs more correct and allow to handle +DerefMut. This makes gccrs more correct and allows to handle complicated cases where the type-checker would previously fail. @@ -809,7 +809,7 @@ improve the runtime performance of Rust binaries. - Support for more lang-items has been added + Support for more lang-items has been added. Lowered minimum required Rust version to 1.49. This allows more systems to compile the Rust @@ -818,7 +818,7 @@ Rewrite of our name resolution algorithm to properly handle the complex import/export -structure used in core 1.49 +structure used in core 1.49. @@ -832,8 +832,8 @@ (aarch64-w64-mingw32). At present, this target supports C and C++ for base Armv8-A, but with some caveats: - Although most variadic functions work, the implementation -of them is not yet complete. + Although most variadic functions work, the implementations +of them are not yet complete. C++ exception handling is not yet implemented. @@ -901,7 +901,7 @@ FEAT_LUT (+lut), enabled by default for Arm9.5-A and above - FEAT_LRCPC2 (+rcpc2), enabled by default for + FEAT_RCPC2 (+rcpc2), enabled by default for Armv8.4-A and above FEAT_SME_B16B16 (+sme-b16b16) @@ -1061,7 +1061,7 @@ via an indirect branch instead of via a normal return instruction. 128-bit atomic operations have been extended to make use of -FEAT_LRCPC3 instructions, when support for the instructions is +FEAT_RCPC3 instructions, when support for the instructions is detected at runtime. There have been many code-generation improvements to the AArch64 port. @@ -1184,7 +1184,7 @@ AMX-TRANSPOSE intrinsics are available via the -mamx-transpose compiler switch. - All of new feature support for Intel APX expect for CFCMOV was added, + All of new feature support for Intel APX except for CFCMOV was added, including CCMP/CTEST, NF and ZU. APX support is available via the -mapxf compiler switch. @@ -1244,7 +1244,7 @@ Support has been added for the new option https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/LoongArch-Options.html#index-mannotate-tablejump";> - -mannotate-tablejump. Which can create an annotation + -mannotate-tablejump, which can create an annotation section .discard.tablejump_annotate to correlate the jirl instruction and the jump table.
gcc-12-20250430 is now available
Snapshot gcc-12-20250430 is now available on https://gcc.gnu.org/pub/gcc/snapshots/12-20250430/ and on various mirrors, see https://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 12 git branch with the following options: git://gcc.gnu.org/git/gcc.git branch releases/gcc-12 revision 81b30ef214690b6521753293bf2fcb2339055b54 You'll find: gcc-12-20250430.tar.xz Complete GCC SHA256=dbdeb506c2605f9b25c8f8f3eff15fbc2abf2f6648fe13020f3b9a06e6259189 SHA1=c4282dd5d76a860a39dbc04b5f02e1a449fabed1 Diffs from 12-20250417 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-12 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.