public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d'
@ 2020-04-14 10:26 zsojka at seznam dot cz
2020-04-14 10:46 ` [Bug target/94591] " ktkachov at gcc dot gnu.org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2020-04-14 10:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
Bug ID: 94591
Summary: [8/9/10 Regression] Assembler messages: Error: operand
mismatch -- `rev64 v0.2d,v0.2d'
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: assemble-failure
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: zsojka at seznam dot cz
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: aarch64-unknown-linux-gnu
Created attachment 48266
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48266&action=edit
reduced testcase
Compiler output:
$ aarch64-unknown-linux-gnu-gcc testcase.c
/tmp/ccPr88U5.s: Assembler messages:
/tmp/ccPr88U5.s:13: Error: operand mismatch -- `rev64 v0.2d,v0.2d'
/tmp/ccPr88U5.s:13: Info: did you mean this?
/tmp/ccPr88U5.s:13: Info: rev64 v0.8b, v0.8b
/tmp/ccPr88U5.s:13: Info: other valid variant(s):
/tmp/ccPr88U5.s:13: Info: rev64 v0.16b, v0.16b
/tmp/ccPr88U5.s:13: Info: rev64 v0.4h, v0.4h
/tmp/ccPr88U5.s:13: Info: rev64 v0.8h, v0.8h
/tmp/ccPr88U5.s:13: Info: rev64 v0.2s, v0.2s
/tmp/ccPr88U5.s:13: Info: rev64 v0.4s, v0.4s
According to
https://developer.arm.com/docs/dui0801/latest/a64-simd-vector-instructions/rev64-vector
, the operand is invalid.
$ aarch64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-aarch64/bin/aarch64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r10-7709-20200413231231-g7eee265e6bd-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/10.0.1/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl
--with-sysroot=/usr/aarch64-unknown-linux-gnu --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu
--with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld
--with-as=/usr/bin/aarch64-unknown-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r10-7709-20200413231231-g7eee265e6bd-checking-yes-rtl-df-extra-aarch64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.0.1 20200414 (experimental) (GCC)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d'
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
@ 2020-04-14 10:46 ` ktkachov at gcc dot gnu.org
2020-04-14 10:49 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2020-04-14 10:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2020-04-14
Ever confirmed|0 |1
CC| |ktkachov at gcc dot gnu.org
--- Comment #1 from ktkachov at gcc dot gnu.org ---
Confirmed
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d'
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
2020-04-14 10:46 ` [Bug target/94591] " ktkachov at gcc dot gnu.org
@ 2020-04-14 10:49 ` rguenth at gcc dot gnu.org
2020-04-29 10:06 ` zsojka at seznam dot cz
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-14 10:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.5
Priority|P3 |P2
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d'
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
2020-04-14 10:46 ` [Bug target/94591] " ktkachov at gcc dot gnu.org
2020-04-14 10:49 ` rguenth at gcc dot gnu.org
@ 2020-04-29 10:06 ` zsojka at seznam dot cz
2020-05-19 19:44 ` [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s') cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2020-04-29 10:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
--- Comment #2 from Zdenek Sojka <zsojka at seznam dot cz> ---
Created attachment 48406
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48406&action=edit
another testcase
$ aarch64-unknown-linux-gnu-gcc testcase.c
/tmp/ccTL3N2N.s: Assembler messages:
/tmp/ccTL3N2N.s:19: Error: operand mismatch -- `rev32 v0.2s,v0.2s'
/tmp/ccTL3N2N.s:19: Info: did you mean this?
/tmp/ccTL3N2N.s:19: Info: rev32 v0.8b, v0.8b
/tmp/ccTL3N2N.s:19: Info: other valid variant(s):
/tmp/ccTL3N2N.s:19: Info: rev32 v0.16b, v0.16b
/tmp/ccTL3N2N.s:19: Info: rev32 v0.4h, v0.4h
/tmp/ccTL3N2N.s:19: Info: rev32 v0.8h, v0.8h
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (2 preceding siblings ...)
2020-04-29 10:06 ` zsojka at seznam dot cz
@ 2020-05-19 19:44 ` cvs-commit at gcc dot gnu.org
2020-05-19 20:09 ` acoplan at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-19 19:44 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alex Coplan <acoplan@gcc.gnu.org>:
https://gcc.gnu.org/g:98452668d362bb9e6358f7eb5cff69f4f5ab1d45
commit r11-502-g98452668d362bb9e6358f7eb5cff69f4f5ab1d45
Author: Alex Coplan <alex.coplan@arm.com>
Date: Tue May 19 20:33:20 2020 +0100
[aarch64] PR target/94591: Don't generate invalid REV64 insns
This fixes PR94591. The problem was the function aarch64_evpc_rev_local()
matching vector permutations that were not reversals. In particular, prior
to
this patch, this function matched the identity permutation which led to
generating bogus REV64 insns which were rejected by the assembler.
gcc/
PR target/94591
* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
identity permutation.
gcc/testsuite/
PR target/94591
* gcc.c-torture/execute/pr94591.c: New test.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (3 preceding siblings ...)
2020-05-19 19:44 ` [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s') cvs-commit at gcc dot gnu.org
@ 2020-05-19 20:09 ` acoplan at gcc dot gnu.org
2020-05-20 8:43 ` acoplan at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: acoplan at gcc dot gnu.org @ 2020-05-19 20:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |acoplan at gcc dot gnu.org
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #4 from Alex Coplan <acoplan at gcc dot gnu.org> ---
This is now fixed on master, although the fix will need backporting.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (4 preceding siblings ...)
2020-05-19 20:09 ` acoplan at gcc dot gnu.org
@ 2020-05-20 8:43 ` acoplan at gcc dot gnu.org
2020-05-29 13:06 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: acoplan at gcc dot gnu.org @ 2020-05-20 8:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |---
Status|RESOLVED |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |acoplan at gcc dot gnu.org
--- Comment #5 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Re-opening to track backporting progress.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (5 preceding siblings ...)
2020-05-20 8:43 ` acoplan at gcc dot gnu.org
@ 2020-05-29 13:06 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:20 ` 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 @ 2020-05-29 13:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Alex Coplan
<acoplan@gcc.gnu.org>:
https://gcc.gnu.org/g:49824d35e0c87a5fdb3f5ea41223aa21d6ca6bfc
commit r10-8207-g49824d35e0c87a5fdb3f5ea41223aa21d6ca6bfc
Author: Alex Coplan <alex.coplan@arm.com>
Date: Fri May 29 14:05:11 2020 +0100
aarch64: PR target/94591: Don't generate invalid REV64 insns
This fixes PR94591. The problem was the function aarch64_evpc_rev_local()
matching vector permutations that were not reversals. In particular, prior
to
this patch, this function matched the identity permutation which led to
generating bogus REV64 insns which were rejected by the assembler.
gcc/
PR target/94591
* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
identity permutation.
gcc/testsuite/
PR target/94591
* gcc.c-torture/execute/pr94591.c: New test.
(cherry picked from commit 98452668d362bb9e6358f7eb5cff69f4f5ab1d45)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (6 preceding siblings ...)
2020-05-29 13:06 ` cvs-commit at gcc dot gnu.org
@ 2020-05-29 13:20 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:23 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:34 ` acoplan at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-29 13:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Alex Coplan
<acoplan@gcc.gnu.org>:
https://gcc.gnu.org/g:2631d84ba7dedc3c5c9f77e7065fbfbc11876ca6
commit r9-8638-g2631d84ba7dedc3c5c9f77e7065fbfbc11876ca6
Author: Alex Coplan <alex.coplan@arm.com>
Date: Fri May 29 14:19:23 2020 +0100
aarch64: PR target/94591: Don't generate invalid REV64 insns
This fixes PR94591. The problem was the function
aarch64_evpc_rev_local() matching vector permutations that were not
reversals. In particular, prior to this patch, this function matched the
identity permutation which led to generating bogus REV64 insns which
were rejected by the assembler.
gcc/
PR target/94591
* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
identity permutation.
gcc/testsuite/
PR target/94591
* gcc.c-torture/execute/pr94591.c: New test.
(cherry picked from commit 98452668d362bb9e6358f7eb5cff69f4f5ab1d45)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (7 preceding siblings ...)
2020-05-29 13:20 ` cvs-commit at gcc dot gnu.org
@ 2020-05-29 13:23 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:34 ` acoplan at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-29 13:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Alex Coplan
<acoplan@gcc.gnu.org>:
https://gcc.gnu.org/g:b64ec9c3eea5204b90936e332704e6f57470f6e5
commit r8-10285-gb64ec9c3eea5204b90936e332704e6f57470f6e5
Author: Alex Coplan <alex.coplan@arm.com>
Date: Fri May 29 14:23:02 2020 +0100
aarch64: PR target/94591: Don't generate invalid REV64 insns
This fixes PR94591. The problem was the function
aarch64_evpc_rev_local() matching vector permutations that were not
reversals. In particular, prior to this patch, this function matched the
identity permutation which led to generating bogus REV64 insns which
were rejected by the assembler.
gcc/
PR target/94591
* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
identity permutation.
gcc/testsuite/
PR target/94591
* gcc.c-torture/execute/pr94591.c: New test.
(cherry picked from commit 98452668d362bb9e6358f7eb5cff69f4f5ab1d45)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s')
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
` (8 preceding siblings ...)
2020-05-29 13:23 ` cvs-commit at gcc dot gnu.org
@ 2020-05-29 13:34 ` acoplan at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: acoplan at gcc dot gnu.org @ 2020-05-29 13:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94591
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #9 from Alex Coplan <acoplan at gcc dot gnu.org> ---
This is now fixed on all branches affected by the regression.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-05-29 13:34 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-14 10:26 [Bug target/94591] New: [8/9/10 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' zsojka at seznam dot cz
2020-04-14 10:46 ` [Bug target/94591] " ktkachov at gcc dot gnu.org
2020-04-14 10:49 ` rguenth at gcc dot gnu.org
2020-04-29 10:06 ` zsojka at seznam dot cz
2020-05-19 19:44 ` [Bug target/94591] [8/9/10/11 Regression] Assembler messages: Error: operand mismatch -- `rev64 v0.2d,v0.2d' (or `rev32 v0.2s,v0.2s') cvs-commit at gcc dot gnu.org
2020-05-19 20:09 ` acoplan at gcc dot gnu.org
2020-05-20 8:43 ` acoplan at gcc dot gnu.org
2020-05-29 13:06 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:20 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:23 ` cvs-commit at gcc dot gnu.org
2020-05-29 13:34 ` acoplan 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).