From b1e4f4dd5c95bba5b1bd9019135c2133d9a53f3d Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 17 Sep 2011 20:49:34 +0000 Subject: 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/doc/extend.texi | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/doc') diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 0b36336..75f4874 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -12957,6 +12957,13 @@ 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); @end smallexample @node SPU Built-in Functions -- cgit v1.1