//@ only-x86_64 //@ compile-flags: -C opt-level=3 -C target-cpu=x86-64 #![crate_type = "lib"] /// Check that the fast-path of `is_ascii` uses a `pmovmskb` instruction. /// Platforms lacking an equivalent instruction use other techniques for /// optimizing `is_ascii`. // CHECK-LABEL: @is_ascii_autovectorized #[no_mangle] pub fn is_ascii_autovectorized(s: &[u8]) -> bool { // CHECK: load <32 x i8> // CHECK-NEXT: icmp slt <32 x i8> // CHECK-NEXT: bitcast <32 x i1> // CHECK-NEXT: icmp eq i32 s.is_ascii() }