diff mbox series

[rs6000] Remove incorrect built-in function documentation

Message ID e7a9f9c5-905d-ba58-46bf-18cffc90a553@linux.ibm.com
State New
Headers show
Series [rs6000] Remove incorrect built-in function documentation | expand

Commit Message

Kelvin Nilsen May 23, 2018, 10:04 p.m. UTC
This patch removes several incorrectly documented functions from the "PowerPC
AltiVec Built-in Functions" section of the "Using the GNU Compiler Collection"
manual.

The following two functions are removed because they are not implemented:

  vector float vec_copysign (vector float);
  vector float vec_recip (vector float, vector float);

The following six functions are removed because though they are implemented,
they are not specified in the AltiVec PIM document and the type of the result
vector does not match the type of the supplied pointer argument:

  vector signed int vec_lde (int, const long long *);
  vector unsigned int vec_lde (int, const unsigned long long *);

  vector int vec_ld (int, long *)
  vector unsigned int vec_ld (int, const unsigned long *);

  vector signed int vec_lvewx (int, long *);
  vector unsigned int vec_lvewx (int, unsigned long *);

The following two functions are removed because they are not implemented. 
Also, they are not specified in the AltiVec PIM document and the type of
the result vector does not match the type of the supplied pointer argument:

  vector signed int vec_ldl (int, const long *);
  vector unsigned int vec_ldl (int, const unsigned long *);

The following four functions are removed because they are not implemented. 
They do happen to be specified in the AltiVec PIM document. Until they are
implemented, they should not be documented:

  void vec_st (vector pixel, int, unsigned short *)
  void vec_st (vector pixel, int, short *)

  void vec_stl (vector pixel, int, unsigned short *);
  void vec_stl (vector pixel, int, short *);

The following two functions are removed because they are not implemented.
They are not specified in the AltiVec PIM or ABI v.2 documents:

  void vec_stvehx (vector pixel, int, short *);
  void vec_stvehx (vector pixel, int, unsigned short *);

The following function was incompletely documented.  The argument list lacked
a closing parenthesis.  There is no function by this name.

  test_vsi_packsu_vssi_vssi (vector signed short x,

This patch successfully builds on both powerpc64le-unknown-linux (P8) and on
powerpc-linux (P7 big-endian, with both -m32 and -m64 target options).


The patch affects only extend.texi.  The gcc.pdf file has been built
and reviewed.

Is this ok for the trunk?

gcc/ChangeLog:

2018-05-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove
	descriptions of various incorrectly documented functions.

Comments

Segher Boessenkool May 28, 2018, 9:56 a.m. UTC | #1
Hi Kelvin,

On Wed, May 23, 2018 at 05:04:23PM -0500, Kelvin Nilsen wrote:
> The following two functions are removed because they are not implemented:
> 
>   vector float vec_copysign (vector float);
>   vector float vec_recip (vector float, vector float);

Should they be though?  The corresponding __builtin_* exist?  But I guess
no one has ever tried to use it even.

> The following six functions are removed because though they are implemented,
> they are not specified in the AltiVec PIM document and the type of the result
> vector does not match the type of the supplied pointer argument:
> 
>   vector signed int vec_lde (int, const long long *);
>   vector unsigned int vec_lde (int, const unsigned long long *);
> 
>   vector int vec_ld (int, long *)
>   vector unsigned int vec_ld (int, const unsigned long *);
> 
>   vector signed int vec_lvewx (int, long *);
>   vector unsigned int vec_lvewx (int, unsigned long *);

Ack.

> The following two functions are removed because they are not implemented. 
> Also, they are not specified in the AltiVec PIM document and the type of
> the result vector does not match the type of the supplied pointer argument:
> 
>   vector signed int vec_ldl (int, const long *);
>   vector unsigned int vec_ldl (int, const unsigned long *);

Ah, you're leaving vec_ldl, just removing this paremeter combination.  Ack.

> The following four functions are removed because they are not implemented. 
> They do happen to be specified in the AltiVec PIM document. Until they are
> implemented, they should not be documented:
> 
>   void vec_st (vector pixel, int, unsigned short *)
>   void vec_st (vector pixel, int, short *)
> 
>   void vec_stl (vector pixel, int, unsigned short *);
>   void vec_stl (vector pixel, int, short *);

If no one missed it so far, it is never going to happen :-)

> The following two functions are removed because they are not implemented.
> They are not specified in the AltiVec PIM or ABI v.2 documents:
> 
>   void vec_stvehx (vector pixel, int, short *);
>   void vec_stvehx (vector pixel, int, unsigned short *);
> 
> The following function was incompletely documented.  The argument list lacked
> a closing parenthesis.  There is no function by this name.
> 
>   test_vsi_packsu_vssi_vssi (vector signed short x,

Heh.


Okay for trunk.  Thanks!


Segher


> 2018-05-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
> 
> 	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove
> 	descriptions of various incorrectly documented functions.
diff mbox series

Patch

Index: gcc/doc/extend.texi
===================================================================
--- gcc/doc/extend.texi	(revision 260607)
+++ gcc/doc/extend.texi	(working copy)
@@ -16354,8 +16354,6 @@  vector signed char vec_vavgsb (vector signed char,
 vector unsigned char vec_vavgub (vector unsigned char,
                                  vector unsigned char);
 
-vector float vec_copysign (vector float);
-
 vector float vec_ceil (vector float);
 
 vector signed int vec_cmpb (vector float, vector float);
@@ -16569,10 +16567,8 @@  vector float vec_ld (int, const float *);
 vector bool int vec_ld (int, const vector bool int *);
 vector signed int vec_ld (int, const vector signed int *);
 vector signed int vec_ld (int, const int *);
-vector signed int vec_ld (int, const long *);
 vector unsigned int vec_ld (int, const vector unsigned int *);
 vector unsigned int vec_ld (int, const unsigned int *);
-vector unsigned int vec_ld (int, const unsigned long *);
 vector bool short vec_ld (int, const vector bool short *);
 vector pixel vec_ld (int, const vector pixel *);
 vector signed short vec_ld (int, const vector signed short *);
@@ -16592,14 +16588,10 @@  vector unsigned short vec_lde (int, const unsigned
 vector float vec_lde (int, const float *);
 vector signed int vec_lde (int, const int *);
 vector unsigned int vec_lde (int, const unsigned int *);
-vector signed int vec_lde (int, const long *);
-vector unsigned int vec_lde (int, const unsigned long *);
 
 vector float vec_lvewx (int, float *);
 vector signed int vec_lvewx (int, int *);
 vector unsigned int vec_lvewx (int, unsigned int *);
-vector signed int vec_lvewx (int, long *);
-vector unsigned int vec_lvewx (int, unsigned long *);
 
 vector signed short vec_lvehx (int, short *);
 vector unsigned short vec_lvehx (int, unsigned short *);
@@ -16612,10 +16604,8 @@  vector float vec_ldl (int, const float *);
 vector bool int vec_ldl (int, const vector bool int *);
 vector signed int vec_ldl (int, const vector signed int *);
 vector signed int vec_ldl (int, const int *);
-vector signed int vec_ldl (int, const long *);
 vector unsigned int vec_ldl (int, const vector unsigned int *);
 vector unsigned int vec_ldl (int, const unsigned int *);
-vector unsigned int vec_ldl (int, const unsigned long *);
 vector bool short vec_ldl (int, const vector bool short *);
 vector pixel vec_ldl (int, const vector pixel *);
 vector signed short vec_ldl (int, const vector signed short *);
@@ -17143,8 +17133,6 @@  vector unsigned char vec_vrlb (vector unsigned cha
 
 vector float vec_round (vector float);
 
-vector float vec_recip (vector float, vector float);
-
 vector float vec_rsqrt (vector float);
 
 vector float vec_rsqrte (vector float);
@@ -17558,8 +17546,6 @@  void vec_st (vector unsigned short, int, unsigned
 void vec_st (vector bool short, int, vector bool short *);
 void vec_st (vector bool short, int, unsigned short *);
 void vec_st (vector pixel, int, vector pixel *);
-void vec_st (vector pixel, int, unsigned short *);
-void vec_st (vector pixel, int, short *);
 void vec_st (vector bool short, int, short *);
 void vec_st (vector signed char, int, vector signed char *);
 void vec_st (vector signed char, int, signed char *);
@@ -17595,8 +17581,6 @@  void vec_stvehx (vector signed short, int, short *
 void vec_stvehx (vector unsigned short, int, unsigned short *);
 void vec_stvehx (vector bool short, int, short *);
 void vec_stvehx (vector bool short, int, unsigned short *);
-void vec_stvehx (vector pixel, int, short *);
-void vec_stvehx (vector pixel, int, unsigned short *);
 
 void vec_stvebx (vector signed char, int, signed char *);
 void vec_stvebx (vector unsigned char, int, unsigned char *);
@@ -17620,8 +17604,6 @@  void vec_stl (vector bool short, int, vector bool
 void vec_stl (vector bool short, int, unsigned short *);
 void vec_stl (vector bool short, int, short *);
 void vec_stl (vector pixel, int, vector pixel *);
-void vec_stl (vector pixel, int, unsigned short *);
-void vec_stl (vector pixel, int, short *);
 void vec_stl (vector signed char, int, vector signed char *);
 void vec_stl (vector signed char, int, signed char *);
 void vec_stl (vector unsigned char, int, vector unsigned char *);
@@ -18577,8 +18559,6 @@  vector int vec_packs (vector long long, vector lon
 vector unsigned int vec_packs (vector unsigned long long,
                                vector unsigned long long);
 
-test_vsi_packsu_vssi_vssi (vector signed short x,
-
 vector unsigned char vec_packsu (vector signed short, vector signed short )
 vector unsigned char vec_packsu (vector unsigned short, vector unsigned short )
 vector unsigned short int vec_packsu (vector signed int, vector signed int);