OSDN Git Service

Add sparc 3D array addressing VIS intrinsics.
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Sep 2011 07:35:16 +0000 (07:35 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Sep 2011 07:35:16 +0000 (07:35 +0000)
commit386d043d466ce637453b8ac063e7d9d1fefb295c
tree31a4841ddb0d4032d26c50c2cc01d6b885e04a2e
parentdf2d51d104198b64893c416145f73f2ed64e2ee6
Add sparc 3D array addressing VIS intrinsics.

gcc/

* config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
UNSPEC_ARRAY32): New unspec.
(define_attr type): New type 'array'.
(array{8,16,32}<P:mode>_vis): New patterns.
* config/sparc/ultra1_2.md: Add reservations for 'array'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.c (sparc_vis_init_builtins): Build new
array builtins.
* config/sparc/visintrin.h (__vis_array8, __vis_array16,
__vis_array32): New.
* doc/extend.texi: Document new VIS builtins.

gcc/testsuite/

* gcc.target/sparc/array.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179334 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/sparc/niagara.md
gcc/config/sparc/niagara2.md
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md
gcc/config/sparc/ultra1_2.md
gcc/config/sparc/ultra3.md
gcc/config/sparc/visintrin.h
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sparc/array.c [new file with mode: 0644]