> Am 03.12.2023 um 19:32 schrieb Jakub Jelinek <ja...@redhat.com>:
>
> On Fri, Nov 17, 2023 at 02:04:01PM +0100, Robin Dapp wrote:
>>> Yes, your version is also OK.
>>
>> The attached was bootstrapped and regtested on aarch64, x86 and
>> regtested on riscv. Going to commit it later unless somebody objects.
>
> Unfortunately the aarch64/pr112406.c was reduced too much and is rejected
> since the switch to modern C patchset.
>
> The following patch fixes that, I've verified the testcase
> before/after the changes still ICEs in r14-5563 and doesn't with
> r14-5564 and after the changes compiles fine with even latest trunk.
> Everything admittedly with a cross-compiler, but that shouldn't change
> anything.
>
> Ok for trunk?
Ok
> Note, one of the modern C changes is that at least when people use
> cvise/creduce/delta scripts which ensure no further errors are introduced
> during the reduction then expected originally such reductions will not
> appear anymore.
>
> 2023-12-03 Jakub Jelinek <ja...@redhat.com>
>
> PR middle-end/112406
> * gcc.target/aarch64/pr112406.c (MagickPixelPacket): Add missing
> semicolon.
> (GetImageChannelMoments_image): Avoid using implicit int.
> (SetMagickPixelPacket): Use void return type instead of implicit int.
> (GetImageChannelMoments): Likewise. Use __builtin_atan instead of
> atan.
>
> --- gcc/testsuite/gcc.target/aarch64/pr112406.c.jj 2023-11-18
> 09:35:20.944084686 +0100
> +++ gcc/testsuite/gcc.target/aarch64/pr112406.c 2023-12-03
> 19:05:16.109365791 +0100
> @@ -2,10 +2,10 @@
> /* { dg-options "-march=armv8-a+sve -w -Ofast" } */
>
> typedef struct {
> - int red
> + int red;
> } MagickPixelPacket;
>
> -GetImageChannelMoments_image, GetImageChannelMoments_image_0,
> +int GetImageChannelMoments_image, GetImageChannelMoments_image_0,
> GetImageChannelMoments___trans_tmp_1, GetImageChannelMoments_M11_0,
> GetImageChannelMoments_pixel_3, GetImageChannelMoments_y,
> GetImageChannelMoments_p;
> @@ -15,10 +15,12 @@ double GetImageChannelMoments_M00_0, Get
>
> MagickPixelPacket GetImageChannelMoments_pixel;
>
> +void
> SetMagickPixelPacket(int color, MagickPixelPacket *pixel) {
> pixel->red = color;
> }
>
> +void
> GetImageChannelMoments() {
> for (; GetImageChannelMoments_y; GetImageChannelMoments_y++) {
> SetMagickPixelPacket(GetImageChannelMoments_p,
> @@ -33,5 +35,5 @@ GetImageChannelMoments() {
> GetImageChannelMoments_M01_1 +=
> GetImageChannelMoments_y * GetImageChannelMoments_p++;
> }
> - GetImageChannelMoments___trans_tmp_1 = atan(GetImageChannelMoments_M11_0);
> + GetImageChannelMoments___trans_tmp_1 =
> __builtin_atan(GetImageChannelMoments_M11_0);
> }
>
>
> Jakub
>