[rs6000] Remove the (no longer used) RS6000_BTC defines.

Message ID b3b47e717ea641e997ae649292febd47ee3aa3d1.camel@vnet.ibm.com
State New
Headers
Series [rs6000] Remove the (no longer used) RS6000_BTC defines. |

Commit Message

will schmidt May 17, 2022, 4:54 p.m. UTC
  [PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines.

Hi, 

These defines are no longer used once the rs6000 built-in
reworks were completed.   Would be good to remove them.

There was a reference to RS6000_BTC_SPECIAL in a TODO comment
in rs6000-builtins.def.  That comment remains, but I have updated
the comment to refer to "SPECIAL" processing, instead of having it
refer directly to the RS6000_BTC_SPECIAL macro.

2022-05-17  Will Schmidt  <will_schmidt@vnet.ibm.com>

gcc/
	* config/rs6000/rs6000-builtins.def: rephrase
	RS6000_BTC_SPECIAL in comment.
	* config/rs6000/rs6000.h:  Remove definitions
	RS6000_BTC_UNARY, RS6000_BTC_BINARY,
	RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
	RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
	RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
	RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
	RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
	RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
	RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
	RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
	RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
	RS6000_BTM_ALWAYS
  

Comments

Segher Boessenkool May 17, 2022, 5:34 p.m. UTC | #1
Hi!

On Tue, May 17, 2022 at 11:54:10AM -0500, will schmidt wrote:
> These defines are no longer used once the rs6000 built-in
> reworks were completed.   Would be good to remove them.

:-)

> There was a reference to RS6000_BTC_SPECIAL in a TODO comment
> in rs6000-builtins.def.  That comment remains, but I have updated
> the comment to refer to "SPECIAL" processing, instead of having it
> refer directly to the RS6000_BTC_SPECIAL macro.
> 
> 2022-05-17  Will Schmidt  <will_schmidt@vnet.ibm.com>
> 
> gcc/
> 	* config/rs6000/rs6000-builtins.def: rephrase
> 	RS6000_BTC_SPECIAL in comment.

"Rephrase", capital R.

> 	* config/rs6000/rs6000.h:  Remove definitions

One space after a colon.

> 	RS6000_BTC_UNARY, RS6000_BTC_BINARY,
> 	RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
> 	RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
> 	RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
> 	RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
> 	RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
> 	RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
> 	RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
> 	RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
> 	RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
> 	RS6000_BTM_ALWAYS

Sentences end in a dot, and every changelog line is a sentence.  But,
this should be
	* config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
	RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY, RS6000_BTC_QUINARY,
...
	RS6000_BTC_SAT, RS6000_BTM_ALWAYS): Delete.

> --- a/gcc/config/rs6000/rs6000-builtins.def
> +++ b/gcc/config/rs6000/rs6000-builtins.def
> @@ -1423,11 +1423,11 @@
>  
>    pure vsc __builtin_vsx_ld_elemrev_v16qi (signed long, const void *);
>      LD_ELEMREV_V16QI vsx_ld_elemrev_v16qi {ldvec,endian}
>  
>  ; TODO: There is apparent intent in rs6000-builtin.def to have

That file does no longer exist.

> -; RS6000_BTC_SPECIAL processing for LXSDX, LXVDSX, and STXSDX, but there are
> +; SPECIAL processing for LXSDX, LXVDSX, and STXSDX, but there are
>  ; no def_builtin calls for any of them.  At some point, we may want to add a
>  ; set of built-ins for whichever vector types make sense for these.

Is the comment still relevant?  If so a bit more rephrasing woukd be
good; if not, just remove it?

Okay for trunk with those things dealt with somehow.  Thanks!


Segher
  

Patch

diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def
index f4a9f24bcc5c..9a63a9eda580 100644
--- a/gcc/config/rs6000/rs6000-builtins.def
+++ b/gcc/config/rs6000/rs6000-builtins.def
@@ -1423,11 +1423,11 @@ 
 
   pure vsc __builtin_vsx_ld_elemrev_v16qi (signed long, const void *);
     LD_ELEMREV_V16QI vsx_ld_elemrev_v16qi {ldvec,endian}
 
 ; TODO: There is apparent intent in rs6000-builtin.def to have
-; RS6000_BTC_SPECIAL processing for LXSDX, LXVDSX, and STXSDX, but there are
+; SPECIAL processing for LXSDX, LXVDSX, and STXSDX, but there are
 ; no def_builtin calls for any of them.  At some point, we may want to add a
 ; set of built-ins for whichever vector types make sense for these.
 
   pure vsq __builtin_vsx_lxvd2x_v1ti (signed long, const void *);
     LXVD2X_V1TI vsx_load_v1ti {ldvec}
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 523256a5c9d5..90a357ab7932 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2247,58 +2247,10 @@  extern char rs6000_reg_names[][8];	/* register names (0 vs. %r0).  */
 /* #define  MACHINE_no_sched_speculative_load */
 
 /* General flags.  */
 extern int frame_pointer_needed;
 
-/* Classification of the builtin functions as to which switches enable the
-   builtin, and what attributes it should have.  We used to use the target
-   flags macros, but we've run out of bits, so we now map the options into new
-   settings used here.  */
-
-/* Builtin operand count.  */
-#define RS6000_BTC_UNARY	0x00000001	/* normal unary function.  */
-#define RS6000_BTC_BINARY	0x00000002	/* normal binary function.  */
-#define RS6000_BTC_TERNARY	0x00000003	/* normal ternary function.  */
-#define RS6000_BTC_QUATERNARY	0x00000004	/* normal quaternary
-						   function. */
-#define RS6000_BTC_QUINARY	0x00000005	/* normal quinary function.  */
-#define RS6000_BTC_SENARY	0x00000006	/* normal senary function.  */
-#define RS6000_BTC_OPND_MASK	0x00000007	/* Mask to isolate operands. */
-
-/* Builtin attributes.  */
-#define RS6000_BTC_SPECIAL	0x00000000	/* Special function.  */
-#define RS6000_BTC_PREDICATE	0x00000008	/* predicate function.  */
-#define RS6000_BTC_ABS		0x00000010	/* Altivec/VSX ABS
-						   function.  */
-#define RS6000_BTC_DST		0x00000020	/* Altivec DST function.  */
-
-#define RS6000_BTC_TYPE_MASK	0x0000003f	/* Mask to isolate types */
-
-#define RS6000_BTC_MISC		0x00000000	/* No special attributes.  */
-#define RS6000_BTC_CONST	0x00000100	/* Neither uses, nor
-						   modifies global state.  */
-#define RS6000_BTC_PURE		0x00000200	/* reads global
-						   state/mem and does
-						   not modify global state.  */
-#define RS6000_BTC_FP		0x00000400	/* depends on rounding mode.  */
-#define RS6000_BTC_QUAD		0x00000800	/* Uses a register quad.  */
-#define RS6000_BTC_PAIR		0x00001000	/* Uses a register pair.  */
-#define RS6000_BTC_QUADPAIR	0x00001800	/* Uses a quad and a pair.  */
-#define RS6000_BTC_ATTR_MASK	0x00001f00	/* Mask of the attributes.  */
-
-/* Miscellaneous information.  */
-#define RS6000_BTC_SPR		0x01000000	/* function references SPRs.  */
-#define RS6000_BTC_VOID		0x02000000	/* function has no return value.  */
-#define RS6000_BTC_CR		0x04000000	/* function references a CR.  */
-#define RS6000_BTC_OVERLOADED	0x08000000	/* function is overloaded.  */
-#define RS6000_BTC_GIMPLE	0x10000000	/* function should be expanded
-						   into gimple.  */
-#define RS6000_BTC_MISC_MASK	0x1f000000	/* Mask of the misc info.  */
-
-/* Convenience macros to document the instruction type.  */
-#define RS6000_BTC_MEM		RS6000_BTC_MISC	/* load/store touches mem.  */
-#define RS6000_BTC_SAT		RS6000_BTC_MISC	/* saturate sets VSCR.  */
 
 /* Builtin targets.  For now, we reuse the masks for those options that are in
    target flags, and pick a random bit for ldbl128, which isn't in
    target_flags.  */
 #define RS6000_BTM_ALWAYS	0		/* Always enabled.  */