aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/extend.texi
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-09-20 17:40:46 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2011-09-20 10:40:46 -0700
commit47640f4069f5f50af488270e9ca48de1c2737d04 (patch)
tree783c4751a45682c58b7a223ca624d9e386d2caa6 /gcc/doc/extend.texi
parent458692b00c947e500d42d2704c3a38604ee6b451 (diff)
downloadgcc-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.texi23
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