[Bug target/84266] mmintrin.h intrinsic headers for PowerPC code fails on power9

2018-07-15 Thread wschmidt at gcc dot gnu.org
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

2018-02-11 Thread segher at gcc dot gnu.org
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

2018-02-11 Thread munroesj at gcc dot gnu.org
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

2018-02-11 Thread munroesj at gcc dot gnu.org
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

2018-02-09 Thread seurer at gcc dot gnu.org
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

2018-02-09 Thread munroesj at gcc dot gnu.org
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

2018-02-08 Thread wschmidt at gcc dot gnu.org
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

2018-02-08 Thread munroesj at gcc dot gnu.org
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

2018-02-08 Thread munroesj at gcc dot gnu.org
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

2018-02-07 Thread seurer at linux dot vnet.ibm.com
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

2018-02-07 Thread wschmidt at gcc dot gnu.org
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

2018-02-07 Thread seurer at linux dot vnet.ibm.com
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'