* [PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines.
@ 2022-05-17 16:54 will schmidt
2022-05-17 17:34 ` Segher Boessenkool
0 siblings, 1 reply; 2+ messages in thread
From: will schmidt @ 2022-05-17 16:54 UTC (permalink / raw)
To: GCC Patches; +Cc: Segher Boessenkool, David Edelsohn
[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
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. */
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines.
2022-05-17 16:54 [PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines will schmidt
@ 2022-05-17 17:34 ` Segher Boessenkool
0 siblings, 0 replies; 2+ messages in thread
From: Segher Boessenkool @ 2022-05-17 17:34 UTC (permalink / raw)
To: will schmidt; +Cc: GCC Patches, David Edelsohn
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-05-17 17:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17 16:54 [PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines will schmidt
2022-05-17 17:34 ` Segher Boessenkool
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).