public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/96795] MVE: issue with polymorphism and integer promotion
Date: Thu, 01 Oct 2020 10:18:08 +0000	[thread overview]
Message-ID: <bug-96795-4-COTYYf63Gy@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-96795-4@http.gcc.gnu.org/bugzilla/>

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)

  parent reply	other threads:[~2020-10-01 10:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26  9:39 [Bug target/96795] New: " 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-96795-4-COTYYf63Gy@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).