about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2019-03-19 08:32:15 +0100
committerSimon Sapin <simon.sapin@exyr.org>2019-03-19 08:32:15 +0100
commitc1ec29ace000ce4c733cde6948c87f9bc2370691 (patch)
treea8dbcc348bb0af9cb444d869bf46fb19873481c1
parent0ad91f73d92c3b8d3978f8f54c04b8efe3d2e673 (diff)
downloadrust-c1ec29ace000ce4c733cde6948c87f9bc2370691.tar.gz
rust-c1ec29ace000ce4c733cde6948c87f9bc2370691.zip
ASCII uppercase: add "subtract shifted bool" benchmark
-rw-r--r--src/libcore/benches/ascii.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libcore/benches/ascii.rs b/src/libcore/benches/ascii.rs
index 89e67cca4b7..968d28a9958 100644
--- a/src/libcore/benches/ascii.rs
+++ b/src/libcore/benches/ascii.rs
@@ -212,6 +212,18 @@ benches! {
         }
     }
 
+    fn case13_subtract_shifted_bool_match_range(bytes: &mut [u8]) {
+        fn is_ascii_lowercase(b: u8) -> bool {
+            match b {
+                b'a'...b'z' => true,
+                _ => false
+            }
+        }
+        for byte in bytes {
+            *byte -= (is_ascii_lowercase(*byte) as u8) << 5
+        }
+    }
+
     @iter
 
     is_ascii,