(more details coming) This is the complete list of failures: FAIL: gcc.target/powerpc/bmi-andn-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-andn-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-bextr-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-bextr-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-bextr-4.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-bextr-5.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsi-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsi-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsmsk-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsmsk-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsr-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-blsr-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-tzcnt-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi-tzcnt-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi2-bzhi32-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi2-bzhi64-1.c (test for excess errors) FAIL: gcc.target/powerpc/bmi2-bzhi64-1a.c (test for excess errors) FAIL: gcc.target/powerpc/bmi2-mulx32-2.c (test for excess errors) FAIL: gcc.target/powerpc/bmi2-mulx64-2.c (test for excess errors) times) FAIL: gcc.target/powerpc/mmx-packs.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-packssdw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-packsswb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-packuswb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddd-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddsb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddusb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddusw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-paddw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpeqb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpeqd-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpeqw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpgtb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpgtd-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pcmpgtw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pmaddwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pmulhw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pmullw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-pslld-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psllw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psrad-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psraw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psrld-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psrlw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubb-2.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubd-2.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubsb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubusb-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubusw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-psubw-2.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpckhbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpckhdq-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpckhwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpcklbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpckldq-1.c (test for excess errors) FAIL: gcc.target/powerpc/mmx-punpcklwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-addps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-addss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-andnps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-andps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cmpss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpi16ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpi32ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpi32x2ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpi8ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpspi16-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpspi8-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpu16ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtpu8ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtsi2ss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtsi2ss-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtss2si-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvtss2si-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvttss2si-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-cvttss2si-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-divps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-divss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-maxps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-maxss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-minps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-minss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movaps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movaps-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movhlps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movhps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movhps-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movlhps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movlps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movlps-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movmskb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movmskps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movss-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-movss-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse-mulps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-mulss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-orps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pavgw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pmaxsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pmaxub-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pminsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pminub-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-pmulhuw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-psadbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-rcpps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-rsqrtps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-shufps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-sqrtps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-subps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-subss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-4.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-5.c (test for excess errors) FAIL: gcc.target/powerpc/sse-ucomiss-6.c (test for excess errors) FAIL: gcc.target/powerpc/sse-unpckhps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-unpcklps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse-xorps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-addpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-addsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-andnpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-andpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cmppd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cmpsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-4.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-5.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-comisd-6.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtdq2pd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtdq2ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtpd2dq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtpd2ps-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtps2dq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtps2pd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtsd2si-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtsd2si-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtsd2ss-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtsi2sd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtsi2sd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvtss2sd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvttpd2dq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvttps2dq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvttsd2si-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-cvttsd2si-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-divpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-divsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-maxpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-maxsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-minpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-minsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-mmx.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movhpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movhpd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movlpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movlpd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movmskpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movq-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movq-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movsd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-movsd-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-mulpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-mulsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-orpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-packssdw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-packsswb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-packuswb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddsb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddusb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddusw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-paddw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pavgb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pavgw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpeqb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpeqd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpeqw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpgtb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpgtd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pcmpgtw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pextrw.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pinsrw.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmaddwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmaxsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmaxub-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pminsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pminub-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmovmskb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmulhuw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmulhw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmullw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pmuludq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psadbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pshufd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pshufhw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pshuflw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pslld-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pslld-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-pslldq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psllq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psllq-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psllw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psllw-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrad-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrad-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psraw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psraw-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrld-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrld-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrldq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrlq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrlq-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrlw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psrlw-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubsb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubsw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubusb-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubusw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-psubw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpckhbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpckhdq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpckhqdq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpckhwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpcklbw-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpckldq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpcklqdq-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-punpcklwd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-shufpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-sqrtpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-subpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-subsd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-2.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-3.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-4.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-5.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-ucomisd-6.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-unpckhpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-unpcklpd-1.c (test for excess errors) FAIL: gcc.target/powerpc/sse2-xorpd-1.c (test for excess errors)
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'
I wonder how many failures are left if that invalid cast is removed from the code? It is just wrong and unnecessary.
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.
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?
I'll take this.
(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.
Created attachment 43388 [details] correct mmintrin.h for power9 2018-02-09 Steven Munroe <munroesj@gcc.gnu.org> * 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.
Steve's patch is pretty much what I tried earlier and it works.
Author: munroesj Date: Sun Feb 11 21:45:39 2018 New Revision: 257571 URL: https://gcc.gnu.org/viewcvs?rev=257571&root=gcc&view=rev Log: Fix PR 84266 Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/mmintrin.h
Change this to RESOLVED state now?
Thanks for committing it! I think it can be closed now yes.
Author: wschmidt Date: Sun Jul 15 18:04:00 2018 New Revision: 262670 URL: https://gcc.gnu.org/viewcvs?rev=262670&root=gcc&view=rev Log: [gcc] 2018-07-15 Bill Schmidt <wschmidt@linux.ibm.com> Backport from mainline 2018-07-13 Bill Schmidt <wschmidt@linux.ibm.com> Steve Munroe <munroesj52@gmail.com> * 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 <munroesj@gcc.gnu.org> * config/rs6000/mmintrin.h (_mm_add_pi32[_ARCH_PWR]): Correct parameter list for vec_splats. Backport from mainline 2018-02-11 Steven Munroe <munroesj@gcc.gnu.org> 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 <wschmidt@linux.ibm.com> Backport from mainline 2018-07-13 Bill Schmidt <wschmidt@linux.ibm.com> Steve Munroe <munroesj52@gmail.com> * 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