public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-3127] Make ISEL used internal functions const/nothrow where appropriate
@ 2023-08-10 13:31 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2023-08-10 13:31 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:b0894a12e9e04dea26ebb424629564a5cc8c2418

commit r14-3127-gb0894a12e9e04dea26ebb424629564a5cc8c2418
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Aug 10 14:19:38 2023 +0200

    Make ISEL used internal functions const/nothrow where appropriate
    
    Both .VEC_SET and .VEC_EXTACT and the various .VCOND internal functions
    are operating on registers only and they are not supposed to raise
    any exceptions.  The following makes them const/nothrow.  I've
    verified this avoids useless SSA updates in ISEL.
    
            * internal-fn.def (VCOND, VCONDU, VCONDEQ, VCOND_MASK,
            VEC_SET, VEC_EXTRACT): Make ECF_CONST | ECF_NOTHROW.

Diff:
---
 gcc/internal-fn.def | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/gcc/internal-fn.def b/gcc/internal-fn.def
index bf6825c5d008..b3c410f4b6a9 100644
--- a/gcc/internal-fn.def
+++ b/gcc/internal-fn.def
@@ -209,13 +209,15 @@ DEF_INTERNAL_OPTAB_FN (STORE_LANES, ECF_CONST, vec_store_lanes, store_lanes)
 DEF_INTERNAL_OPTAB_FN (MASK_STORE_LANES, 0,
 		       vec_mask_store_lanes, mask_store_lanes)
 
-DEF_INTERNAL_OPTAB_FN (VCOND, 0, vcond, vec_cond)
-DEF_INTERNAL_OPTAB_FN (VCONDU, 0, vcondu, vec_cond)
-DEF_INTERNAL_OPTAB_FN (VCONDEQ, 0, vcondeq, vec_cond)
-DEF_INTERNAL_OPTAB_FN (VCOND_MASK, 0, vcond_mask, vec_cond_mask)
-
-DEF_INTERNAL_OPTAB_FN (VEC_SET, 0, vec_set, vec_set)
-DEF_INTERNAL_OPTAB_FN (VEC_EXTRACT, 0, vec_extract, vec_extract)
+DEF_INTERNAL_OPTAB_FN (VCOND, ECF_CONST | ECF_NOTHROW, vcond, vec_cond)
+DEF_INTERNAL_OPTAB_FN (VCONDU, ECF_CONST | ECF_NOTHROW, vcondu, vec_cond)
+DEF_INTERNAL_OPTAB_FN (VCONDEQ, ECF_CONST | ECF_NOTHROW, vcondeq, vec_cond)
+DEF_INTERNAL_OPTAB_FN (VCOND_MASK, ECF_CONST | ECF_NOTHROW,
+		       vcond_mask, vec_cond_mask)
+
+DEF_INTERNAL_OPTAB_FN (VEC_SET, ECF_CONST | ECF_NOTHROW, vec_set, vec_set)
+DEF_INTERNAL_OPTAB_FN (VEC_EXTRACT, ECF_CONST | ECF_NOTHROW,
+		       vec_extract, vec_extract)
 
 DEF_INTERNAL_OPTAB_FN (LEN_STORE, 0, len_store, len_store)
 DEF_INTERNAL_OPTAB_FN (MASK_LEN_STORE, 0, mask_len_store, mask_len_store)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-10 13:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-10 13:31 [gcc r14-3127] Make ISEL used internal functions const/nothrow where appropriate Richard Biener

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).