sparc.md (UNSPEC_EDGE8, [...]): New unspecs.
authorDavid S. Miller <davem@davemloft.net>
Sat, 17 Sep 2011 20:49:34 +0000 (20:49 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Sat, 17 Sep 2011 20:49:34 +0000 (13:49 -0700)
commitb1e4f4dd5c95bba5b1bd9019135c2133d9a53f3d
tree049bbcfa0bf973df9d117daf3f467395b5d97af9
parent8a0436cb79ccf797d0dbc02175fce1a254a1a691
sparc.md (UNSPEC_EDGE8, [...]): New unspecs.

* config/sparc/sparc.md (UNSPEC_EDGE8, UNSPEC_EDGE8L,
UNSPEC_EDGE16, UNSPEC_EDGE16L, UNSPEC_EDGE32, UNSPEC_EDGE32L):
New unspecs.
(define_attr type): New type 'edge'.
(edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
edge32l_vis): New patterns.
* config/sparc/ultra1_2.md: Add insn reservation for 'edge'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.d (sparc_vis_init_builtins): Generate
builtins for VIS edge instructions.
* config/sparc/visintrin.h (__vis_edge8, __vis_edge8l)
(__vis_edge16, __vis_edge16l, __vis_edge32, __vis_edge32l): New
intrinsics.
(__v8qi, __v4qi): Make unsigned.
(__vis_faligndatadi, ___vis_faligndatav2si, __vis_faligndatav4hi,
__vis_faligndatav8qi, __vis_fmul8x16au, __vis_fmul8x16al,
__vis_fpack32): Fix types.
* doc/extend.texi: Document new 'edge' VIS intrinsics.

From-SVN: r178931
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