[gcc r12-4953] libstdc++: Add [[unlikely]] attributes to std::random_device routines

Jonathan Wakely redi@gcc.gnu.org
Fri Nov 5 18:15:35 GMT 2021


https://gcc.gnu.org/g:2627e3b7fd820876bc45c99be48aea05351d210a

commit r12-4953-g2627e3b7fd820876bc45c99be48aea05351d210a
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Nov 5 12:18:52 2021 +0000

    libstdc++: Add [[unlikely]] attributes to std::random_device routines
    
    libstdc++-v3/ChangeLog:
    
            * src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add
            [[unlikely]] attribute.

Diff:
---
 libstdc++-v3/src/c++11/random.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/src/c++11/random.cc b/libstdc++-v3/src/c++11/random.cc
index 55a73c51fca..4b88818646f 100644
--- a/libstdc++-v3/src/c++11/random.cc
+++ b/libstdc++-v3/src/c++11/random.cc
@@ -97,7 +97,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
       unsigned int retries = 100;
       unsigned int val;
 
-      while (__builtin_ia32_rdrand32_step(&val) == 0)
+      while (__builtin_ia32_rdrand32_step(&val) == 0) [[__unlikely__]]
 	if (--retries == 0)
 	  std::__throw_runtime_error(__N("random_device: rdrand failed"));
 
@@ -113,7 +113,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
       unsigned int retries = 100;
       unsigned int val;
 
-      while (__builtin_ia32_rdseed_si_step(&val) == 0)
+      while (__builtin_ia32_rdseed_si_step(&val) == 0) [[__unlikely__]]
 	{
 	  if (--retries == 0)
 	    {


More information about the Libstdc++-cvs mailing list