//@ compile-flags: -Copt-level=1 -Zmir-opt-level=2 -Zub-checks //@ only-64bit // EMIT_MIR_FOR_EACH_PANIC_STRATEGY #![crate_type = "lib"] // The diff shows exactly what is generated by the pass; // then we check the final `-O1` output for people who want to run them // without the codegen being too terrible. // EMIT_MIR alignment_checks.sized_ptr.CheckAlignment.diff pub unsafe fn sized_ptr(ptr: *const u32) -> u32 { // CHECK-LABEL: fn sized_ptr(_1: *const u32) // CHECK: _2 = copy _1 as usize (Transmute); // CHECK: _3 = BitAnd(copy _2, const 3_usize); // CHECK: _4 = Eq(copy _3, const 0_usize); // CHECK: assert(copy _4, *ptr }