summaryrefslogtreecommitdiffstats
path: root/tests/codegen/char-ascii-branchless.rs
blob: b612b24c7c73b4cdcfe227d177c4df6c5482a8e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Checks that these functions are branchless.
//
// compile-flags: -O

#![crate_type = "lib"]

// CHECK-LABEL: @is_ascii_alphanumeric_char
#[no_mangle]
pub fn is_ascii_alphanumeric_char(x: char) -> bool {
    // CHECK-NOT: br
    x.is_ascii_alphanumeric()
}

// CHECK-LABEL: @is_ascii_alphanumeric_u8
#[no_mangle]
pub fn is_ascii_alphanumeric_u8(x: u8) -> bool {
    // CHECK-NOT: br
    x.is_ascii_alphanumeric()
}

// CHECK-LABEL: @is_ascii_hexdigit_char
#[no_mangle]
pub fn is_ascii_hexdigit_char(x: char) -> bool {
    // CHECK-NOT: br
    x.is_ascii_hexdigit()
}

// CHECK-LABEL: @is_ascii_hexdigit_u8
#[no_mangle]
pub fn is_ascii_hexdigit_u8(x: u8) -> bool {
    // CHECK-NOT: br
    x.is_ascii_hexdigit()
}

// CHECK-LABEL: @is_ascii_punctuation_char
#[no_mangle]
pub fn is_ascii_punctuation_char(x: char) -> bool {
    // CHECK-NOT: br
    x.is_ascii_punctuation()
}

// CHECK-LABEL: @is_ascii_punctuation_u8
#[no_mangle]
pub fn is_ascii_punctuation_u8(x: u8) -> bool {
    // CHECK-NOT: br
    x.is_ascii_punctuation()
}