diff options
author | David S. Miller <davem@davemloft.net> | 2011-09-20 17:40:46 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-09-20 10:40:46 -0700 |
commit | 47640f4069f5f50af488270e9ca48de1c2737d04 (patch) | |
tree | 783c4751a45682c58b7a223ca624d9e386d2caa6 /gcc/doc/extend.texi | |
parent | 458692b00c947e500d42d2704c3a38604ee6b451 (diff) | |
download | gcc-47640f4069f5f50af488270e9ca48de1c2737d04.zip gcc-47640f4069f5f50af488270e9ca48de1c2737d04.tar.gz gcc-47640f4069f5f50af488270e9ca48de1c2737d04.tar.bz2 |
sparc.md (UNSPEC_ALIGNADDRL): New unspec.
* config/sparc/sparc.md (UNSPEC_ALIGNADDRL): New unspec.
(aligneddrl<P:mode>_vis): New pattern.
(edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
edge32l_vis): Adjust to take Pmode arguments, and return SImode.
* config/sparc/sparc.c (sparc_vis_init_builtins): Handle new
alignaddrl insn, and adjust edge operations for updated types.
* config/sparc/visintrin.h: Likewise.
* doc/extend.texi: Make typing in VIS documentation match reality.
From-SVN: r179012
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r-- | gcc/doc/extend.texi | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 75f4874..3e6e05e 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -12932,10 +12932,11 @@ switch, the VIS extension is exposed as the following built-in functions: typedef int v2si __attribute__ ((vector_size (8))); typedef short v4hi __attribute__ ((vector_size (8))); typedef short v2hi __attribute__ ((vector_size (4))); -typedef char v8qi __attribute__ ((vector_size (8))); -typedef char v4qi __attribute__ ((vector_size (4))); +typedef unsigned char v8qi __attribute__ ((vector_size (8))); +typedef unsigned char v4qi __attribute__ ((vector_size (4))); void * __builtin_vis_alignaddr (void *, long); +void * __builtin_vis_alignaddrl (void *, long); int64_t __builtin_vis_faligndatadi (int64_t, int64_t); v2si __builtin_vis_faligndatav2si (v2si, v2si); v4hi __builtin_vis_faligndatav4hi (v4si, v4si); @@ -12944,26 +12945,26 @@ v8qi __builtin_vis_faligndatav8qi (v8qi, v8qi); v4hi __builtin_vis_fexpand (v4qi); v4hi __builtin_vis_fmul8x16 (v4qi, v4hi); -v4hi __builtin_vis_fmul8x16au (v4qi, v4hi); -v4hi __builtin_vis_fmul8x16al (v4qi, v4hi); +v4hi __builtin_vis_fmul8x16au (v4qi, v2hi); +v4hi __builtin_vis_fmul8x16al (v4qi, v2hi); v4hi __builtin_vis_fmul8sux16 (v8qi, v4hi); v4hi __builtin_vis_fmul8ulx16 (v8qi, v4hi); v2si __builtin_vis_fmuld8sux16 (v4qi, v2hi); v2si __builtin_vis_fmuld8ulx16 (v4qi, v2hi); v4qi __builtin_vis_fpack16 (v4hi); -v8qi __builtin_vis_fpack32 (v2si, v2si); +v8qi __builtin_vis_fpack32 (v2si, v8qi); v2hi __builtin_vis_fpackfix (v2si); v8qi __builtin_vis_fpmerge (v4qi, v4qi); int64_t __builtin_vis_pdist (v8qi, v8qi, int64_t); -int64_t __builtin_vis_edge8 (int64_t, int64_t); -int64_t __builtin_vis_edge8l (int64_t, int64_t); -int64_t __builtin_vis_edge16 (int64_t, int64_t); -int64_t __builtin_vis_edge16l (int64_t, int64_t); -int64_t __builtin_vis_edge32 (int64_t, int64_t); -int64_t __builtin_vis_edge32l (int64_t, int64_t); +int __builtin_vis_edge8 (void *, void *); +int __builtin_vis_edge8l (void *, void *); +int __builtin_vis_edge16 (void *, void *); +int __builtin_vis_edge16l (void *, void *); +int __builtin_vis_edge32 (void *, void *); +int __builtin_vis_edge32l (void *, void *); @end smallexample @node SPU Built-in Functions |