public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/96795] New: MVE: issue with polymorphism and integer promotion
@ 2020-08-26  9:39 avieira at gcc dot gnu.org
  2020-09-30 14:21 ` [Bug target/96795] " cvs-commit at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: avieira at gcc dot gnu.org @ 2020-08-26  9:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

            Bug ID: 96795
           Summary: MVE: issue with polymorphism and integer promotion
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: avieira at gcc dot gnu.org
  Target Milestone: ---

An example of this issue can be observed when trying to compile:

#include <arm_mve.h>
uint16x8_t foo (uint16x8_t a, int16_t b)
{
  return vaddq (a, (b<<3));
}

This will lead to an __ARM_undef being selected.

I believe this is because __ARM_mve_coerce only accepts one type for scalar
parameters and should have accepted the same range of types for scalar as is
done in __ARM_mve_typeid.

A workaround for this is to cast (b<<3) to uint16_t.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
@ 2020-09-30 14:21 ` cvs-commit at gcc dot gnu.org
  2020-10-01  7:41 ` sripar01 at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-30 14:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by SRINATH PARVATHANENI
<sripar01@gcc.gnu.org>:

https://gcc.gnu.org/g:6bd4ce64eb48a72eca300cb52773e6101d646004

commit r11-3560-g6bd4ce64eb48a72eca300cb52773e6101d646004
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Wed Sep 30 15:19:17 2020 +0100

    [GCC][PATCH] arm: Fix MVE intrinsics polymorphic variants wrongly
generating __ARM_undef type (pr96795).

    Hello,

    This patch fixes (PR96795) MVE intrinsic polymorphic variants vaddq,
vaddq_m, vaddq_x, vcmpeqq_m,
    vcmpeqq, vcmpgeq_m, vcmpgeq, vcmpgtq_m, vcmpgtq, vcmpleq_m, vcmpleq,
vcmpltq_m, vcmpltq,
    vcmpneq_m, vcmpneq, vfmaq_m, vfmaq, vfmasq_m, vfmasq, vmaxnmavq,
vmaxnmavq_p, vmaxnmvq,
    vmaxnmvq_p, vminnmavq, vminnmavq_p, vminnmvq, vminnmvq_p, vmulq_m, vmulq,
vmulq_x, vsetq_lane,
    vsubq_m, vsubq and vsubq_x which are incorrectly generating __ARM_undef and
mismatching the passed
    floating point scalar arguments.

    Bootstrapped on arm-none-linux-gnueabihf and regression tested on
arm-none-eabi and found no regressions.

    Ok for master? Ok for GCC-10 branch?

    Regards,
    Srinath.

    gcc/ChangeLog:

    2020-09-30  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

            PR target/96795
            * config/arm/arm_mve.h (__ARM_mve_coerce2): Define.
            (__arm_vaddq): Correct the scalar argument.
            (__arm_vaddq_m): Likewise.
            (__arm_vaddq_x): Likewise.
            (__arm_vcmpeqq_m): Likewise.
            (__arm_vcmpeqq): Likewise.
            (__arm_vcmpgeq_m): Likewise.
            (__arm_vcmpgeq): Likewise.
            (__arm_vcmpgtq_m): Likewise.
            (__arm_vcmpgtq): Likewise.
            (__arm_vcmpleq_m): Likewise.
            (__arm_vcmpleq): Likewise.
            (__arm_vcmpltq_m): Likewise.
            (__arm_vcmpltq): Likewise.
            (__arm_vcmpneq_m): Likewise.
            (__arm_vcmpneq): Likewise.
            (__arm_vfmaq_m): Likewise.
            (__arm_vfmaq): Likewise.
            (__arm_vfmasq_m): Likewise.
            (__arm_vfmasq): Likewise.
            (__arm_vmaxnmavq): Likewise.
            (__arm_vmaxnmavq_p): Likewise.
            (__arm_vmaxnmvq): Likewise.
            (__arm_vmaxnmvq_p): Likewise.
            (__arm_vminnmavq): Likewise.
            (__arm_vminnmavq_p): Likewise.
            (__arm_vminnmvq): Likewise.
            (__arm_vminnmvq_p): Likewise.
            (__arm_vmulq_m): Likewise.
            (__arm_vmulq): Likewise.
            (__arm_vmulq_x): Likewise.
            (__arm_vsetq_lane): Likewise.
            (__arm_vsubq_m): Likewise.
            (__arm_vsubq): Likewise.
            (__arm_vsubq_x): Likewise.

    gcc/testsuite/ChangeLog:

            PR target/96795
            * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: New Test.
            * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Likewise.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
  2020-09-30 14:21 ` [Bug target/96795] " cvs-commit at gcc dot gnu.org
@ 2020-10-01  7:41 ` sripar01 at gcc dot gnu.org
  2020-10-01 10:18 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: sripar01 at gcc dot gnu.org @ 2020-10-01  7:41 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-10-01
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |sripar01 at gcc dot gnu.org
                 CC|                            |sripar01 at gcc dot gnu.org
     Ever confirmed|0                           |1

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
  2020-09-30 14:21 ` [Bug target/96795] " cvs-commit at gcc dot gnu.org
  2020-10-01  7:41 ` sripar01 at gcc dot gnu.org
@ 2020-10-01 10:18 ` cvs-commit at gcc dot gnu.org
  2020-10-01 10:24 ` sripar01 at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-01 10:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by SRINATH PARVATHANENI
<sripar01@gcc.gnu.org>:

https://gcc.gnu.org/g:db66d2accee1a2f3fcd93b8cb5bcc3aa5b8ac10e

commit r10-8835-gdb66d2accee1a2f3fcd93b8cb5bcc3aa5b8ac10e
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Wed Sep 30 15:19:17 2020 +0100

    arm: Fix MVE intrinsics polymorphic variants wrongly generating __ARM_undef
type (pr96795).

    This patch fixes (PR96795) MVE intrinsic polymorphic variants vaddq,
vaddq_m, vaddq_x, vcmpeqq_m,
    vcmpeqq, vcmpgeq_m, vcmpgeq, vcmpgtq_m, vcmpgtq, vcmpleq_m, vcmpleq,
vcmpltq_m, vcmpltq,
    vcmpneq_m, vcmpneq, vfmaq_m, vfmaq, vfmasq_m, vfmasq, vmaxnmavq,
vmaxnmavq_p, vmaxnmvq,
    vmaxnmvq_p, vminnmavq, vminnmavq_p, vminnmvq, vminnmvq_p, vmulq_m, vmulq,
vmulq_x, vsetq_lane,
    vsubq_m, vsubq and vsubq_x which are incorrectly generating __ARM_undef and
mismatching the passed
    floating point scalar arguments.

    Bootstrapped on arm-none-linux-gnueabihf and regression tested on
arm-none-eabi and found no regressions.

    gcc/ChangeLog:

    2020-09-30  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

            PR target/96795
            * config/arm/arm_mve.h (__ARM_mve_coerce2): Define.
            (__arm_vaddq): Correct the scalar argument.
            (__arm_vaddq_m): Likewise.
            (__arm_vaddq_x): Likewise.
            (__arm_vcmpeqq_m): Likewise.
            (__arm_vcmpeqq): Likewise.
            (__arm_vcmpgeq_m): Likewise.
            (__arm_vcmpgeq): Likewise.
            (__arm_vcmpgtq_m): Likewise.
            (__arm_vcmpgtq): Likewise.
            (__arm_vcmpleq_m): Likewise.
            (__arm_vcmpleq): Likewise.
            (__arm_vcmpltq_m): Likewise.
            (__arm_vcmpltq): Likewise.
            (__arm_vcmpneq_m): Likewise.
            (__arm_vcmpneq): Likewise.
            (__arm_vfmaq_m): Likewise.
            (__arm_vfmaq): Likewise.
            (__arm_vfmasq_m): Likewise.
            (__arm_vfmasq): Likewise.
            (__arm_vmaxnmavq): Likewise.
            (__arm_vmaxnmavq_p): Likewise.
            (__arm_vmaxnmvq): Likewise.
            (__arm_vmaxnmvq_p): Likewise.
            (__arm_vminnmavq): Likewise.
            (__arm_vminnmavq_p): Likewise.
            (__arm_vminnmvq): Likewise.
            (__arm_vminnmvq_p): Likewise.
            (__arm_vmulq_m): Likewise.
            (__arm_vmulq): Likewise.
            (__arm_vmulq_x): Likewise.
            (__arm_vsetq_lane): Likewise.
            (__arm_vsubq_m): Likewise.
            (__arm_vsubq): Likewise.
            (__arm_vsubq_x): Likewise.

    gcc/testsuite/ChangeLog:

            PR target/96795
            * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: New Test.
            * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Likewise.
            * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Likewise.

    (cherry picked from commit 6bd4ce64eb48a72eca300cb52773e6101d646004)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-10-01 10:18 ` cvs-commit at gcc dot gnu.org
@ 2020-10-01 10:24 ` sripar01 at gcc dot gnu.org
  2022-11-28  9:11 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: sripar01 at gcc dot gnu.org @ 2020-10-01 10:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> ---
Fixed in trunk and gcc-10.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-10-01 10:24 ` sripar01 at gcc dot gnu.org
@ 2022-11-28  9:11 ` cvs-commit at gcc dot gnu.org
  2022-11-28  9:12 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-28  9:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrea Corallo <akrl@gcc.gnu.org>:

https://gcc.gnu.org/g:e0dd75fe90ef4cda94f431747d239d6cfcf5656f

commit r13-4330-ge0dd75fe90ef4cda94f431747d239d6cfcf5656f
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Thu Nov 10 15:02:47 2022 +0000

    arm: further fix overloading of MVE vaddq[_m]_n intrinsic

    It was observed that in tests `vaddq_m_n_[s/u][8/16/32].c`, the _Generic
    resolution would fall back to the `__ARM_undef` failure state.

    This is a regression since `dc39db873670bea8d8e655444387ceaa53a01a79` and
    `6bd4ce64eb48a72eca300cb52773e6101d646004`, but it previously wasn't
    identified, because the tests were not checking for this kind of failure.

    The above commits changed the definitions of the intrinsics from using
    `[u]int[8/16/32]_t` types for the scalar argument to using `int`. This
    allowed `int` to be supported in user code through the overloaded
    `#defines`, but seems to have broken the `[u]int[8/16/32]_t` types

    The solution implemented by this patch is to explicitly use a new
    _Generic mapping from all the `[u]int[8/16/32]_t` types for int. With this
    change, both `int` and `[u]int[8/16/32]_t` parameters are supported from
    user code and are handled by the overloading mechanism correctly.

    Note that in these scalar cases it is safe to pass the raw p<n>, rather
    than the typeof-ed __p<n>, because we are not at risk of the _Generics
    being exponentially expanded on the `n` scalar argument to an `_n`
    intrinsic. Using p<n> instead will give a more accurate error message
    to the user, should something be wrong with that argument.

    gcc/ChangeLog:
            PR target/96795
            * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
            (__arm_vaddq_m_n_s32): Likewise.
            (__arm_vaddq_m_n_s16): Likewise.
            (__arm_vaddq_m_n_u8): Likewise.
            (__arm_vaddq_m_n_u32): Likewise.
            (__arm_vaddq_m_n_u16): Likewise.
            (__arm_vaddq_m): Fix Overloading.
            (__ARM_mve_coerce3): New.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-11-28  9:11 ` cvs-commit at gcc dot gnu.org
@ 2022-11-28  9:12 ` cvs-commit at gcc dot gnu.org
  2023-01-16 12:52 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-28  9:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrea Corallo <akrl@gcc.gnu.org>:

https://gcc.gnu.org/g:31df339a50c30712c1e071d2b18f304b148a3165

commit r13-4331-g31df339a50c30712c1e071d2b18f304b148a3165
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Thu Nov 10 15:02:52 2022 +0000

    arm: propagate fixed overloading of MVE intrinsic scalar parameters

    This is a mechanical patch that propagates the change proposed in
    my previous patch for vaddq[_m]_n
    across all other polymorphic MVE intrinsic overloads of scalar types.

    The find and Replace patterns used were:

    s/__ARM_mve_coerce\(__p(\d+), [u]?int(8|16|32|64)_t\)
    /__ARM_mve_coerce3(p$1, int)/g

    s/__ARM_mve_coerce2\(__p(\d+), double\)
    /__ARM_mve_coerce2(p$1, double)/g

    gcc/ChangeLog:
            PR target/96795
            * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
            (__arm_vmulq): Likewise.
            (__arm_vcmpeqq): Likewise.
            (__arm_vcmpneq): Likewise.
            (__arm_vmaxnmavq): Likewise.
            (__arm_vmaxnmvq): Likewise.
            (__arm_vminnmavq): Likewise.
            (__arm_vsubq): Likewise.
            (__arm_vminnmvq): Likewise.
            (__arm_vrshlq): Likewise.
            (__arm_vqsubq): Likewise.
            (__arm_vqdmulltq): Likewise.
            (__arm_vqdmullbq): Likewise.
            (__arm_vqdmulhq): Likewise.
            (__arm_vqaddq): Likewise.
            (__arm_vhaddq): Likewise.
            (__arm_vhsubq): Likewise.
            (__arm_vqdmlashq): Likewise.
            (__arm_vqrdmlahq): Likewise.
            (__arm_vmlasq): Likewise.
            (__arm_vqdmlahq): Likewise.
            (__arm_vmaxnmavq_p): Likewise.
            (__arm_vmaxnmvq_p): Likewise.
            (__arm_vminnmavq_p): Likewise.
            (__arm_vminnmvq_p): Likewise.
            (__arm_vfmasq_m): Likewise.
            (__arm_vsetq_lane): Likewise.
            (__arm_vcmpneq_m): Likewise.
            (__arm_vhaddq_x): Likewise.
            (__arm_vhsubq_x): Likewise.
            (__arm_vqrdmlashq_m): Likewise.
            (__arm_vqdmlashq_m): Likewise.
            (__arm_vmlaldavaxq_p): Likewise.
            (__arm_vmlasq_m): Likewise.
            (__arm_vqdmulhq_m): Likewise.
            (__arm_vqdmulltq_m): Likewise.
            (__arm_viwdupq_m): Likewise.
            (__arm_viwdupq_u16): Likewise.
            (__arm_viwdupq_u32): Likewise.
            (__arm_viwdupq_u8): Likewise.
            (__arm_vdwdupq_m): Likewise.
            (__arm_vdwdupq_u16): Likewise.
            (__arm_vdwdupq_u32): Likewise.
            (__arm_vdwdupq_u8): Likewise.
            (__arm_vaddlvaq): Likewise.
            (__arm_vaddlvaq_p): Likewise.
            (__arm_vaddvaq): Likewise.
            (__arm_vaddvaq_p): Likewise.
            (__arm_vcmphiq_m): Likewise.
            (__arm_vmladavaq_p): Likewise.
            (__arm_vmladavaxq): Likewise.
            (__arm_vmlaldavaxq): Likewise.
            (__arm_vrmlaldavhaq_p): Likewise.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-11-28  9:12 ` cvs-commit at gcc dot gnu.org
@ 2023-01-16 12:52 ` cvs-commit at gcc dot gnu.org
  2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-01-16 12:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Stam Markianos-Wright
<stammark@gcc.gnu.org>:

https://gcc.gnu.org/g:8a1360e72d6c6056606aa5edd8c906c50f26de59

commit r13-5200-g8a1360e72d6c6056606aa5edd8c906c50f26de59
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Mon Jan 16 11:40:40 2023 +0000

    arm: Split up MVE _Generic associations to prevent type clashes [PR107515]

    With these previous patches:
    https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606586.html
    https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606587.html
    we enabled the MVE overloaded _Generic associations to handle more
    scalar types, however at PR 107515 we found a new regression that
    wasn't detected in our testing:

    With glibc's posix/types.h:
    ```
    typedef signed int __int32_t;
    ...
    typedef __int32_t int32_t;
    ```
    We would get a `error: '_Generic' specifies two compatible types`
    from `__ARM_mve_coerce3` because of `type: param`, when `type` is
    `int` and `int32_t: param` both being the same under the hood.

    The same did not happen with Newlib's header sys/_stdint.h:
    ```
    typedef long int __int32_t;
    ...
    typedef __int32_t int32_t ;
    ```
    which worked fine, because it uses `long int`.

    The same could feasibly happen in `__ARM_mve_coerce2` between
    `__fp16` and `float16_t`.

    The solution here is to break the _Generic down so that the similar
    types don't appear at the same level, as is done in `__ARM_mve_typeid`

    gcc/ChangeLog:
            PR target/96795
            PR target/107515
            * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
            (__ARM_mve_coerce3): Likewise.

    gcc/testsuite/ChangeLog:
            PR target/96795
            PR target/107515
            * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c:
New test.
            * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c:
New test.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2023-01-16 12:52 ` cvs-commit at gcc dot gnu.org
@ 2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
  2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
  2023-05-18 10:43 ` cvs-commit at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-18 10:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Stam Markianos-Wright
<stammark@gcc.gnu.org>:

https://gcc.gnu.org/g:7d3043505c770e96d5471edee2b97c8169f26316

commit r12-9557-g7d3043505c770e96d5471edee2b97c8169f26316
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Thu Nov 10 15:02:47 2022 +0000

    arm: further fix overloading of MVE vaddq[_m]_n intrinsic

    It was observed that in tests `vaddq_m_n_[s/u][8/16/32].c`, the _Generic
    resolution would fall back to the `__ARM_undef` failure state.

    This is a regression since `dc39db873670bea8d8e655444387ceaa53a01a79` and
    `6bd4ce64eb48a72eca300cb52773e6101d646004`, but it previously wasn't
    identified, because the tests were not checking for this kind of failure.

    The above commits changed the definitions of the intrinsics from using
    `[u]int[8/16/32]_t` types for the scalar argument to using `int`. This
    allowed `int` to be supported in user code through the overloaded
    `#defines`, but seems to have broken the `[u]int[8/16/32]_t` types

    The solution implemented by this patch is to explicitly use a new
    _Generic mapping from all the `[u]int[8/16/32]_t` types for int. With this
    change, both `int` and `[u]int[8/16/32]_t` parameters are supported from
    user code and are handled by the overloading mechanism correctly.

    Note that in these scalar cases it is safe to pass the raw p<n>, rather
    than the typeof-ed __p<n>, because we are not at risk of the _Generics
    being exponentially expanded on the `n` scalar argument to an `_n`
    intrinsic. Using p<n> instead will give a more accurate error message
    to the user, should something be wrong with that argument.

    gcc/ChangeLog:
            PR target/96795
            * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
            (__arm_vaddq_m_n_s32): Likewise.
            (__arm_vaddq_m_n_s16): Likewise.
            (__arm_vaddq_m_n_u8): Likewise.
            (__arm_vaddq_m_n_u32): Likewise.
            (__arm_vaddq_m_n_u16): Likewise.
            (__arm_vaddq_m): Fix Overloading.
            (__ARM_mve_coerce3): New.

    (cherry picked from commit e0dd75fe90ef4cda94f431747d239d6cfcf5656f)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
@ 2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
  2023-05-18 10:43 ` cvs-commit at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-18 10:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Stam Markianos-Wright
<stammark@gcc.gnu.org>:

https://gcc.gnu.org/g:bbdf67595a57b1b029cfe17a581efe42c242b6e4

commit r12-9558-gbbdf67595a57b1b029cfe17a581efe42c242b6e4
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Thu Nov 10 15:02:52 2022 +0000

    arm: propagate fixed overloading of MVE intrinsic scalar parameters

    This is a mechanical patch that propagates the change proposed in
    my previous patch for vaddq[_m]_n
    across all other polymorphic MVE intrinsic overloads of scalar types.

    The find and Replace patterns used were:

    s/__ARM_mve_coerce\(__p(\d+), [u]?int(8|16|32|64)_t\)
    /__ARM_mve_coerce3(p$1, int)/g

    s/__ARM_mve_coerce2\(__p(\d+), double\)
    /__ARM_mve_coerce2(p$1, double)/g

    gcc/ChangeLog:
            PR target/96795
            * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
            (__arm_vmulq): Likewise.
            (__arm_vcmpeqq): Likewise.
            (__arm_vcmpneq): Likewise.
            (__arm_vmaxnmavq): Likewise.
            (__arm_vmaxnmvq): Likewise.
            (__arm_vminnmavq): Likewise.
            (__arm_vsubq): Likewise.
            (__arm_vminnmvq): Likewise.
            (__arm_vrshlq): Likewise.
            (__arm_vqsubq): Likewise.
            (__arm_vqdmulltq): Likewise.
            (__arm_vqdmullbq): Likewise.
            (__arm_vqdmulhq): Likewise.
            (__arm_vqaddq): Likewise.
            (__arm_vhaddq): Likewise.
            (__arm_vhsubq): Likewise.
            (__arm_vqdmlashq): Likewise.
            (__arm_vqrdmlahq): Likewise.
            (__arm_vmlasq): Likewise.
            (__arm_vqdmlahq): Likewise.
            (__arm_vmaxnmavq_p): Likewise.
            (__arm_vmaxnmvq_p): Likewise.
            (__arm_vminnmavq_p): Likewise.
            (__arm_vminnmvq_p): Likewise.
            (__arm_vfmasq_m): Likewise.
            (__arm_vsetq_lane): Likewise.
            (__arm_vcmpneq_m): Likewise.
            (__arm_vhaddq_x): Likewise.
            (__arm_vhsubq_x): Likewise.
            (__arm_vqrdmlashq_m): Likewise.
            (__arm_vqdmlashq_m): Likewise.
            (__arm_vmlaldavaxq_p): Likewise.
            (__arm_vmlasq_m): Likewise.
            (__arm_vqdmulhq_m): Likewise.
            (__arm_vqdmulltq_m): Likewise.
            (__arm_viwdupq_m): Likewise.
            (__arm_viwdupq_u16): Likewise.
            (__arm_viwdupq_u32): Likewise.
            (__arm_viwdupq_u8): Likewise.
            (__arm_vdwdupq_m): Likewise.
            (__arm_vdwdupq_u16): Likewise.
            (__arm_vdwdupq_u32): Likewise.
            (__arm_vdwdupq_u8): Likewise.
            (__arm_vaddlvaq): Likewise.
            (__arm_vaddlvaq_p): Likewise.
            (__arm_vaddvaq): Likewise.
            (__arm_vaddvaq_p): Likewise.
            (__arm_vcmphiq_m): Likewise.
            (__arm_vmladavaq_p): Likewise.
            (__arm_vmladavaxq): Likewise.
            (__arm_vmlaldavaxq): Likewise.
            (__arm_vrmlaldavhaq_p): Likewise.

    (cherry picked from commit 31df339a50c30712c1e071d2b18f304b148a3165)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96795] MVE: issue with polymorphism and integer promotion
  2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
@ 2023-05-18 10:43 ` cvs-commit at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-18 10:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96795

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Stam Markianos-Wright
<stammark@gcc.gnu.org>:

https://gcc.gnu.org/g:c7c4dfb5989e80ffc8e8439a8d9a9ed654612b90

commit r12-9608-gc7c4dfb5989e80ffc8e8439a8d9a9ed654612b90
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Mon Jan 16 11:40:40 2023 +0000

    arm: Split up MVE _Generic associations to prevent type clashes [PR107515]

    With these previous patches:
    https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606586.html
    https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606587.html
    we enabled the MVE overloaded _Generic associations to handle more
    scalar types, however at PR 107515 we found a new regression that
    wasn't detected in our testing:

    With glibc's posix/types.h:
    ```
    typedef signed int __int32_t;
    ...
    typedef __int32_t int32_t;
    ```
    We would get a `error: '_Generic' specifies two compatible types`
    from `__ARM_mve_coerce3` because of `type: param`, when `type` is
    `int` and `int32_t: param` both being the same under the hood.

    The same did not happen with Newlib's header sys/_stdint.h:
    ```
    typedef long int __int32_t;
    ...
    typedef __int32_t int32_t ;
    ```
    which worked fine, because it uses `long int`.

    The same could feasibly happen in `__ARM_mve_coerce2` between
    `__fp16` and `float16_t`.

    The solution here is to break the _Generic down so that the similar
    types don't appear at the same level, as is done in `__ARM_mve_typeid`

    gcc/ChangeLog:
            PR target/96795
            PR target/107515
            * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
            (__ARM_mve_coerce3): Likewise.

    gcc/testsuite/ChangeLog:
            PR target/96795
            PR target/107515
            * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c:
New test.
            * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c:
New test.

    (cherry picked from commit 8a1360e72d6c6056606aa5edd8c906c50f26de59)

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-05-18 10:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-26  9:39 [Bug target/96795] New: MVE: issue with polymorphism and integer promotion avieira at gcc dot gnu.org
2020-09-30 14:21 ` [Bug target/96795] " cvs-commit at gcc dot gnu.org
2020-10-01  7:41 ` sripar01 at gcc dot gnu.org
2020-10-01 10:18 ` cvs-commit at gcc dot gnu.org
2020-10-01 10:24 ` sripar01 at gcc dot gnu.org
2022-11-28  9:11 ` cvs-commit at gcc dot gnu.org
2022-11-28  9:12 ` cvs-commit at gcc dot gnu.org
2023-01-16 12:52 ` cvs-commit at gcc dot gnu.org
2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
2023-05-18 10:39 ` cvs-commit at gcc dot gnu.org
2023-05-18 10:43 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).