[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 Christophe Lyon changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #12 from Christophe Lyon --- Yes, OK for me.
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #11 from Jakub Jelinek --- So fixed?
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #10 from Jakub Jelinek --- Author: jakub Date: Mon Dec 3 13:04:57 2018 New Revision: 266736 URL: https://gcc.gnu.org/viewcvs?rev=266736=gcc=rev Log: PR target/88287 * g++.target/aarch64/sve/vcond_1.C: Adjust for comparison canonicalization. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.target/aarch64/sve/vcond_1.C
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #9 from Christophe Lyon --- Yes, that works, thanks!
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 Jakub Jelinek changed: What|Removed |Added Attachment #45141|0 |1 is obsolete|| --- Comment #8 from Jakub Jelinek --- Created attachment 45142 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45142=edit gcc9-pr88287.patch Updated patch. Can you please test this one then?
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #7 from Christophe Lyon --- Ha, yes the testcase checks whether the assembler supports .arch_extension sve, that's why it's unsupported in your testcase. Here is the full list of regressions I noticed: g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpge\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpge\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpge\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpge\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpgt\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpgt\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpgt\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpgt\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphi\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphi\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphi\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphi\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphs\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphs\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphs\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmphs\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmple\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmple\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmple\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmple\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #-16\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplo\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplo\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplo\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplo\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #31\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpls\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpls\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpls\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmpls\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #0\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplt\\tp[0-7]\\.b, p[0-7]/z, z[0-9]+\\.b, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplt\\tp[0-7]\\.d, p[0-7]/z, z[0-9]+\\.d, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplt\\tp[0-7]\\.h, p[0-7]/z, z[0-9]+\\.h, #15\\n g++.target/aarch64/sve/vcond_1.C -march=armv8.2-a+sve scan-assembler \\tcmplt\\tp[0-7]\\.s, p[0-7]/z, z[0-9]+\\.s, #15\\n
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #6 from Jakub Jelinek --- Created attachment 45141 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45141=edit gcc9-pr88287.patch Ok, reproduced in my incomplete cross with that option (no binutils), but can't reproduce on gcc114 in gccfarm, all attempts to test with sve fail, the testcase is still UNSUPPORTED. So this is just a wild shot, if it doesn't fix everything, can you please mention which exact scan-assembler patterns still FAIL?
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #4 from Christophe Lyon --- Created attachment 45139 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45139=edit vcond_1.s.ok (before r266620)
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #5 from Christophe Lyon --- Created attachment 45140 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45140=edit vcond_1.s.ko (after r266620)
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #3 from Christophe Lyon --- I do see different output with and without r266620 (attaching vcond_1.s.ok and vcond_1.s.ko). They are now checking different condition codes: $ diff vcond_1.s.ok vcond_1.s.ko1014c1014 < cmplt p1.b, p0/z, z1.b, #5 --- > cmple p1.b, p0/z, z1.b, #4 1031c1031 < cmplt p1.h, p0/z, z1.h, #5 --- > cmple p1.h, p0/z, z1.h, #4 [...] The testcase is compiled with -march=armv8.2-a+sve
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 Richard Biener changed: What|Removed |Added Target Milestone|--- |9.0
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #2 from Jakub Jelinek --- BTW, it is unclear to me how to reproduce it, I've tried ./cc1plus -quiet -O -msve-vector-bits=256 vcond_1.C -o vcond_1.s -nostdinc -march=armv8.4-a+simd with the match.pd changes reverted and the same without the reversion and the generated assembly is identical.
[Bug target/88287] [9 Regression] aarch64/sve/vcond_1.C fails since r266620
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88287 --- Comment #1 from Jakub Jelinek --- FAILs just because it has too much scan-assembler in it and expects something in particular, or do we generate worse code? The patch certainly added some canonicalization that was previously done only for scalar comparisons.