Re: Review for gcc-15/changes.html

2025-04-30 Thread Richard Earnshaw (lists) via Gcc
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

2025-04-30 Thread Heiko Eißfeldt

-  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

2025-04-30 Thread Richard Earnshaw (lists) via Gcc
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

2025-04-30 Thread Heiko Eißfeldt

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

2025-04-30 Thread GCC Administrator via Gcc
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.