aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index e7d4ff3..3a3eb55 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -12960,6 +12960,15 @@ builtin_fnspec (tree callee)
return ".cO3R3";
case BUILT_IN_BCOPY:
return ".cR3O3";
+ case BUILT_IN_BZERO:
+ return ".cO2";
+ case BUILT_IN_MEMCMP:
+ case BUILT_IN_MEMCMP_EQ:
+ case BUILT_IN_BCMP:
+ case BUILT_IN_STRNCMP:
+ case BUILT_IN_STRNCMP_EQ:
+ case BUILT_IN_STRNCASECMP:
+ return ".cR3R3";
/* The following functions read memory pointed to by their
first argument. */
@@ -12987,9 +12996,13 @@ builtin_fnspec (tree callee)
return ".cR ";
case BUILT_IN_INDEX:
+ case BUILT_IN_RINDEX:
case BUILT_IN_STRCHR:
+ case BUILT_IN_STRLEN:
case BUILT_IN_STRRCHR:
return ".cR ";
+ case BUILT_IN_STRNLEN:
+ return ".cR2";
/* These read memory pointed to by the first argument.
Allocating memory does not have any side-effects apart from
@@ -13014,6 +13027,11 @@ builtin_fnspec (tree callee)
/* These read memory pointed to by the first and second arguments. */
case BUILT_IN_STRSTR:
case BUILT_IN_STRPBRK:
+ case BUILT_IN_STRCASECMP:
+ case BUILT_IN_STRCSPN:
+ case BUILT_IN_STRSPN:
+ case BUILT_IN_STRCMP:
+ case BUILT_IN_STRCMP_EQ:
return ".cR R ";
/* Freeing memory kills the pointed-to memory. More importantly
the call has to serve as a barrier for moving loads and stores