[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #12 from Bill Schmidt --- Author: wschmidt Date: Sun Jul 15 18:04:00 2018 New Revision: 262670 URL: https://gcc.gnu.org/viewcvs?rev=262670=gcc=rev Log: [gcc] 2018-07-15 Bill Schmidt Backport from mainline 2018-07-13 Bill Schmidt Steve Munroe * config/rs6000/emmintrin.h (_mm_and_si128): New function. (_mm_andnot_si128): Likewise. (_mm_or_si128): Likewise. (_mm_xor_si128): Likewise. Backport from mainline 2017-11-16 Steven Munroe * config/rs6000/mmintrin.h (_mm_add_pi32[_ARCH_PWR]): Correct parameter list for vec_splats. Backport from mainline 2018-02-11 Steven Munroe PR target/84266 * config/rs6000/mmintrin.h (_mm_cmpeq_pi32 [_ARCH_PWR9]): Cast vec_cmpeq result to correct type. * config/rs6000/mmintrin.h (_mm_cmpgt_pi32 [_ARCH_PWR9]): Cast vec_cmpgt result to correct type. [gcc/testsuite] 2018-07-15 Bill Schmidt Backport from mainline 2018-07-13 Bill Schmidt Steve Munroe * gcc.target/powerpc/sse2-pand-1.c: New file. * gcc.target/powerpc/sse2-pandn-1.c: Likewise. * gcc.target/powerpc/sse2-por-1.c: Likewise. * gcc.target/powerpc/sse2-pxor-1.c: Likewise. Added: branches/ibm/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/sse2-pand-1.c branches/ibm/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/sse2-pandn-1.c branches/ibm/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/sse2-por-1.c branches/ibm/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/sse2-pxor-1.c Modified: branches/ibm/gcc-7-branch/gcc/ChangeLog.ibm branches/ibm/gcc-7-branch/gcc/config/rs6000/emmintrin.h branches/ibm/gcc-7-branch/gcc/config/rs6000/mmintrin.h branches/ibm/gcc-7-branch/gcc/testsuite/ChangeLog.ibm
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 Segher Boessenkool changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #11 from Segher Boessenkool --- Thanks for committing it! I think it can be closed now yes.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #10 from Steven Munroe --- Change this to RESOLVED state now?
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #9 from Steven Munroe --- Author: munroesj Date: Sun Feb 11 21:45:39 2018 New Revision: 257571 URL: https://gcc.gnu.org/viewcvs?rev=257571=gcc=rev Log: Fix PR 84266 Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/mmintrin.h
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 seurer at gcc dot gnu.org changed: What|Removed |Added CC||seurer at gcc dot gnu.org --- Comment #8 from seurer at gcc dot gnu.org --- Steve's patch is pretty much what I tried earlier and it works.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #7 from Steven Munroe --- Created attachment 43388 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43388=edit correct mmintrin.h for power9 2018-02-09 Steven Munroe* config/rs6000/mmintrin.h (_mm_cmpeq_pi32 [_ARCH_PWR9]): Cast vec_cmpeq result to correct type. * config/rs6000/mmintrin.h (_mm_cmpgt_pi32 [_ARCH_PWR9]): Cast vec_cmpgt result to correct type.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #6 from Bill Schmidt --- (In reply to Steven Munroe from comment #4) > BTW is there a P9 in the GCC compile farm yet? Sadly, not yet. We can do testing on your behalf until we can get a system out there.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 Steven Munroe changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2018-02-08 Ever confirmed|0 |1 --- Comment #5 from Steven Munroe --- I'll take this.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #4 from Steven Munroe --- Yup this looks like a pasteo from the pi16 implementation which was not caught as P9 was rare at the time. The #if _ARCH_PWR9 clause is an optimization based on better timing for P9 (vs P8) for GPR <-> VSR transfers. BTW is there a P9 in the GCC compile farm yet?
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #3 from Bill Seurer --- All the compilation failures disappear if the two casts /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:857:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int' /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:886:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int' are fixed.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 --- Comment #2 from Bill Schmidt --- I wonder how many failures are left if that invalid cast is removed from the code? It is just wrong and unnecessary.
[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84266 Bill Seurer changed: What|Removed |Added CC||munroesj at gcc dot gnu.org --- Comment #1 from Bill Seurer --- Most of the failures (well, the first couple dozen or so anyway) appear to be like this: Executing on host: /home/seurer/gcc/build/gcc-trunk/gcc/xgcc -B/home/seurer/gcc/build/gcc-trunk/gcc/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.target/powerpc/bmi-andn-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -lm -o ./bmi-andn-1.exe(timeout = 300) spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/xgcc -B/home/seurer/gcc/build/gcc-trunk/gcc/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.target/powerpc/bmi-andn-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -lm -o ./bmi-andn-1.exe In file included from /home/seurer/gcc/build/gcc-trunk/gcc/include/x86intrin.h:39, from /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.target/powerpc/bmi-andn-1.c:7: /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h: In function '_mm_cmpeq_pi32': /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:857:3: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:857:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int' /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h: In function '_mm_cmpgt_pi32': /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:886:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int' compiler exited with status 1 FAIL: gcc.target/powerpc/bmi-andn-1.c (test for excess errors) Excess errors: /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:857:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int' /home/seurer/gcc/build/gcc-trunk/gcc/include/mmintrin.h:886:5: error: incompatible types when assigning to type '__vector signed int' {aka '__vector(4) int'} from type '__vector(8) short int'