blob: ee60b4d9a7ab935ae9fc224ac57f74e8cc014153 [file] [edit]
//@ compile-flags: -O -Zmir-opt-level=2
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
#![crate_type = "lib"]
// EMIT_MIR array_eq.eq_odd_length.runtime-optimized.after.mir
pub unsafe fn eq_odd_length<T: Copy>(a: &[u8; 3], b: &[u8; 3]) -> bool {
// CHECK-LABEL: fn eq_odd_length(_1: &[u8; 3], _2: &[u8; 3]) -> bool
// CHECK: _0 = raw_eq::<[u8; 3]>(move _1, move _2)
a == b
}
// EMIT_MIR array_eq.eq_ipv4.runtime-optimized.after.mir
pub unsafe fn eq_ipv4<T: Copy>(a: &[u8; 4], b: &[u8; 4]) -> bool {
// CHECK-LABEL: fn eq_ipv4(_1: &[u8; 4], _2: &[u8; 4]) -> bool
// CHECK: [[A:_.+]] = copy (*_1) as u32 (Transmute);
// CHECK: [[B:_.+]] = copy (*_2) as u32 (Transmute);
// CHECK: _0 = Eq(move [[A]], move [[B]]);
a == b
}
// EMIT_MIR array_eq.eq_ipv6.runtime-optimized.after.mir
pub unsafe fn eq_ipv6<T: Copy>(a: &[u16; 8], b: &[u16; 8]) -> bool {
// CHECK-LABEL: fn eq_ipv6(_1: &[u16; 8], _2: &[u16; 8]) -> bool
// CHECK: [[A:_.+]] = copy (*_1) as u128 (Transmute);
// CHECK: [[B:_.+]] = copy (*_2) as u128 (Transmute);
// CHECK: _0 = Eq(move [[A]], move [[B]]);
a == b
}