* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
@ 2020-03-25 7:43 ` dcb314 at hotmail dot com
2020-03-25 10:18 ` marxin at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: dcb314 at hotmail dot com @ 2020-03-25 7:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
David Binderman <dcb314 at hotmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |srinath.parvathaneni at arm dot co
| |m
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
git blame says:
41e1a7ffae9e (Srinath Parvathaneni 2020-03-20 12:06:26 +0000 13907) __addr +=
__offset;
Adding author.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
2020-03-25 7:43 ` [Bug target/94317] " dcb314 at hotmail dot com
@ 2020-03-25 10:18 ` marxin at gcc dot gnu.org
2020-03-25 12:58 ` srinath.parvathaneni at arm dot com
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-25 10:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
Last reconfirmed| |2020-03-25
Target Milestone|--- |10.0
Known to fail| |10.0
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Known to work| |9.3.0
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
The report seems to me valid, thanks for the report.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
2020-03-25 7:43 ` [Bug target/94317] " dcb314 at hotmail dot com
2020-03-25 10:18 ` marxin at gcc dot gnu.org
@ 2020-03-25 12:58 ` srinath.parvathaneni at arm dot com
2020-03-25 13:01 ` marxin at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: srinath.parvathaneni at arm dot com @ 2020-03-25 12:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
--- Comment #3 from Srinath Parvathaneni <srinath.parvathaneni at arm dot com> ---
Thanks David for reporting this issue, I'm working on it.
Could someone assign this to me, I could not do it myself.
Regards,
SRI.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (2 preceding siblings ...)
2020-03-25 12:58 ` srinath.parvathaneni at arm dot com
@ 2020-03-25 13:01 ` marxin at gcc dot gnu.org
2020-03-25 13:01 ` marxin at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-25 13:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |srinath.parvathaneni at arm dot co
| |m
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Please create a bugzilla account with @gcc.gnu.org domain.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (3 preceding siblings ...)
2020-03-25 13:01 ` marxin at gcc dot gnu.org
@ 2020-03-25 13:01 ` marxin at gcc dot gnu.org
2020-03-25 14:38 ` dcb314 at hotmail dot com
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-25 13:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (4 preceding siblings ...)
2020-03-25 13:01 ` marxin at gcc dot gnu.org
@ 2020-03-25 14:38 ` dcb314 at hotmail dot com
2020-03-25 14:45 ` clyon at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: dcb314 at hotmail dot com @ 2020-03-25 14:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
--- Comment #5 from David Binderman <dcb314 at hotmail dot com> ---
I am not sure how much testing this code got before it was
put into git.
Can the author please indicate where the test cases for this code
are in the gcc trunk testsuite. I'll give them some exercise.
In the somewhat worrying event that there are no test cases,
then perhaps it might be wise to add some to aid future developers.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (5 preceding siblings ...)
2020-03-25 14:38 ` dcb314 at hotmail dot com
@ 2020-03-25 14:45 ` clyon at gcc dot gnu.org
2020-03-25 15:11 ` dcb314 at hotmail dot com
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-03-25 14:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
Christophe Lyon <clyon at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clyon at gcc dot gnu.org
--- Comment #6 from Christophe Lyon <clyon at gcc dot gnu.org> ---
There are lots of tests under gcc.target/arm/mve, but I think all them just
check that the generated code contains the instruction we expect to generate
from the intrinsic. (All of them have dg-do compile)
In the past I contributed Neon intrinsics executable tests (see
gcc.target/aarch64/advsimd-intrinsics) which caught several corner-case bugs.
It would probably be good to have similar things for MVE, but that's a huge
task.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (6 preceding siblings ...)
2020-03-25 14:45 ` clyon at gcc dot gnu.org
@ 2020-03-25 15:11 ` dcb314 at hotmail dot com
2020-03-25 15:14 ` sripar01 at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: dcb314 at hotmail dot com @ 2020-03-25 15:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
--- Comment #7 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to Christophe Lyon from comment #6)
> There are lots of tests under gcc.target/arm/mve,
About 2,400 C source code files.
> In the past I contributed Neon intrinsics executable tests (see
> gcc.target/aarch64/advsimd-intrinsics) which caught several corner-case bugs.
Sounds good. There are about 460 C source code files under that directory.
> It would probably be good to have similar things for MVE, but that's a huge
> task.
Would it be enough to prioritise some of the more popular cases and write tests
for those ?
Is MVE bigger or smaller than Neon intrinsics ?
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (7 preceding siblings ...)
2020-03-25 15:11 ` dcb314 at hotmail dot com
@ 2020-03-25 15:14 ` sripar01 at gcc dot gnu.org
2020-04-02 9:57 ` cvs-commit at gcc dot gnu.org
2020-04-03 15:21 ` sripar01 at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: sripar01 at gcc dot gnu.org @ 2020-03-25 15:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
--- Comment #8 from SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> ---
Hi David,
>>Can the author please indicate where the test cases for this code
>>are in the gcc trunk testsuite. I'll give them some exercise.
Christophe wrote:
> There are lots of tests under gcc.target/arm/mve, but I think all them just check that the generated code contains the instruction we expect to generate from the intrinsic. (All of them have dg-do compile).
Everything Christophe mentioned above is correct, expect for all them having
"dg-do compile", Monday a patch was posted by Andre to changes tests to
assemble.
```
commit 962406639c0ca9f0d948c843ad2a1ca5b17806da
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Mar 23 12:07:28 2020 +0000
testsuite, arm: Change tests to assemble
```
>In the past I contributed Neon intrinsics executable tests (see gcc.target/aarch64/advsimd-intrinsics) which caught several corner-case bugs.
>It would probably be good to have similar things for MVE, but that's a huge task.
Thanks Christophe, I will check that.
Regards,
SRI.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (8 preceding siblings ...)
2020-03-25 15:14 ` sripar01 at gcc dot gnu.org
@ 2020-04-02 9:57 ` cvs-commit at gcc dot gnu.org
2020-04-03 15:21 ` sripar01 at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-02 9:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kyrylo Tkachov <ktkachov@gcc.gnu.org>:
https://gcc.gnu.org/g:ff825b8158394a01a43359efd91d0b6b8c4fa21b
commit r10-7512-gff825b8158394a01a43359efd91d0b6b8c4fa21b
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date: Thu Apr 2 10:23:47 2020 +0100
[ARM]: Fix for MVE ACLE intrinsics with writeback (PR94317).
Following MVE ACLE intrinsics have an issue with writeback to the base
address.
vldrdq_gather_base_wb_s64, vldrdq_gather_base_wb_u64,
vldrdq_gather_base_wb_z_s64, vldrdq_gather_base_wb_z_u64,
vldrwq_gather_base_wb_s32, vldrwq_gather_base_wb_u32,
vldrwq_gather_base_wb_z_s32, vldrwq_gather_base_wb_z_u32,
vldrwq_gather_base_wb_f32, vldrwq_gather_base_wb_z_f32.
This patch fixes the bug reported in PR94317 by adding separate builtin
calls to update the result and writeback to base address for the above
intrinsics.
2020-04-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
PR target/94317
* config/arm/arm-builtins.c (LDRGBWBXU_QUALIFIERS): Define.
(LDRGBWBXU_Z_QUALIFIERS): Likewise.
* config/arm/arm_mve.h (__arm_vldrdq_gather_base_wb_s64): Modify
intrinsic defintion by adding a new builtin call to writeback into
base
address.
(__arm_vldrdq_gather_base_wb_u64): Likewise.
(__arm_vldrdq_gather_base_wb_z_s64): Likewise.
(__arm_vldrdq_gather_base_wb_z_u64): Likewise.
(__arm_vldrwq_gather_base_wb_s32): Likewise.
(__arm_vldrwq_gather_base_wb_u32): Likewise.
(__arm_vldrwq_gather_base_wb_z_s32): Likewise.
(__arm_vldrwq_gather_base_wb_z_u32): Likewise.
(__arm_vldrwq_gather_base_wb_f32): Likewise.
(__arm_vldrwq_gather_base_wb_z_f32): Likewise.
* config/arm/arm_mve_builtins.def (vldrwq_gather_base_wb_z_u):
Modify
builtin's qualifier.
(vldrdq_gather_base_wb_z_u): Likewise.
(vldrwq_gather_base_wb_u): Likewise.
(vldrdq_gather_base_wb_u): Likewise.
(vldrwq_gather_base_wb_z_s): Likewise.
(vldrwq_gather_base_wb_z_f): Likewise.
(vldrdq_gather_base_wb_z_s): Likewise.
(vldrwq_gather_base_wb_s): Likewise.
(vldrwq_gather_base_wb_f): Likewise.
(vldrdq_gather_base_wb_s): Likewise.
(vldrwq_gather_base_nowb_z_u): Define builtin.
(vldrdq_gather_base_nowb_z_u): Likewise.
(vldrwq_gather_base_nowb_u): Likewise.
(vldrdq_gather_base_nowb_u): Likewise.
(vldrwq_gather_base_nowb_z_s): Likewise.
(vldrwq_gather_base_nowb_z_f): Likewise.
(vldrdq_gather_base_nowb_z_s): Likewise.
(vldrwq_gather_base_nowb_s): Likewise.
(vldrwq_gather_base_nowb_f): Likewise.
(vldrdq_gather_base_nowb_s): Likewise.
* config/arm/mve.md (mve_vldrwq_gather_base_nowb_<supf>v4si):
Define RTL
pattern.
(mve_vldrwq_gather_base_wb_<supf>v4si): Modify RTL pattern.
(mve_vldrwq_gather_base_nowb_z_<supf>v4si): Define RTL pattern.
(mve_vldrwq_gather_base_wb_z_<supf>v4si): Modify RTL pattern.
(mve_vldrwq_gather_base_wb_fv4sf): Modify RTL pattern.
(mve_vldrwq_gather_base_nowb_fv4sf): Define RTL pattern.
(mve_vldrwq_gather_base_wb_z_fv4sf): Modify RTL pattern.
(mve_vldrwq_gather_base_nowb_z_fv4sf): Define RTL pattern.
(mve_vldrdq_gather_base_nowb_<supf>v4di): Define RTL pattern.
(mve_vldrdq_gather_base_wb_<supf>v4di): Modify RTL pattern.
(mve_vldrdq_gather_base_nowb_z_<supf>v4di): Define RTL pattern.
(mve_vldrdq_gather_base_wb_z_<supf>v4di): Modify RTL pattern.
gcc/testsuite/ChangeLog:
2020-04-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
PR target/94317
* gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c:
Modify.
* gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c:
Likewise.
* gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c:
Likewise.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/94317] gcc/config/arm/arm_mve.h:13907: strange assignment ?
2020-03-25 7:19 [Bug target/94317] New: gcc/config/arm/arm_mve.h:13907: strange assignment ? dcb314 at hotmail dot com
` (9 preceding siblings ...)
2020-04-02 9:57 ` cvs-commit at gcc dot gnu.org
@ 2020-04-03 15:21 ` sripar01 at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: sripar01 at gcc dot gnu.org @ 2020-04-03 15:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94317
SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #10 from SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> ---
Committed to trunk.
^ permalink raw reply [flat|nested] 12+ messages in thread