aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-builtins.cc
diff options
context:
space:
mode:
authorliushuyu <liushuyu011@gmail.com>2023-05-31 22:08:02 -0600
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 19:04:36 +0100
commit4985bfcc6ded90054a8f3bc9ed76d30f58683cf1 (patch)
tree38439431e7b48c6271cf5c97b81b4a64e186d21f /gcc/rust/backend/rust-builtins.cc
parentb1b42beea3d16d9b129ee53d173a299c5c8d33e2 (diff)
downloadgcc-4985bfcc6ded90054a8f3bc9ed76d30f58683cf1.zip
gcc-4985bfcc6ded90054a8f3bc9ed76d30f58683cf1.tar.gz
gcc-4985bfcc6ded90054a8f3bc9ed76d30f58683cf1.tar.bz2
gccrs: rust-builtins: add likely and unlikey intrinsics
gcc/rust/ChangeLog: * backend/rust-builtins.cc: add `expect` builtin definition. * backend/rust-compile-intrinsic.cc: add `likely` and `unlikely` intrinsics handler. Signed-off-by: Zixing Liu <liushuyu011@gmail.com>
Diffstat (limited to 'gcc/rust/backend/rust-builtins.cc')
-rw-r--r--gcc/rust/backend/rust-builtins.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/backend/rust-builtins.cc b/gcc/rust/backend/rust-builtins.cc
index c96553b..cd06379 100644
--- a/gcc/rust/backend/rust-builtins.cc
+++ b/gcc/rust/backend/rust-builtins.cc
@@ -242,6 +242,12 @@ BuiltinsContext::setup ()
build_function_type (void_type_node, void_list_node),
builtin_const | builtin_noreturn);
+ define_builtin ("expect", BUILT_IN_EXPECT, "__builtin_expect", "expect",
+ build_function_type_list (long_integer_type_node,
+ long_integer_type_node,
+ long_integer_type_node, NULL_TREE),
+ builtin_const);
+
define_builtin ("memcpy", BUILT_IN_MEMCPY, "__builtin_memcpy", "memcpy",
build_function_type_list (build_pointer_type (void_type_node),
build_pointer_type (void_type_node),