- // MIR for `sized_ptr` before CheckAlignment
+ // MIR for `sized_ptr` after CheckAlignment
  
  fn sized_ptr(_1: *const u32) -> u32 {
      debug ptr => _1;
      let mut _0: u32;
+     let mut _2: *const ();
+     let mut _3: usize;
+     let mut _4: usize;
+     let mut _5: usize;
+     let mut _6: bool;
  
      bb0: {
+         _2 = copy _1 as *const () (PtrToPtr);
+         _3 = copy _2 as usize (Transmute);
+         _4 = Sub(const <u32 as std::mem::SizedTypeProperties>::ALIGN, const 1_usize);
+         _5 = BitAnd(copy _3, copy _4);
+         _6 = Eq(copy _5, const 0_usize);
+         assert(copy _6, "misaligned pointer dereference: address must be a multiple of {} but is {}", const <u32 as std::mem::SizedTypeProperties>::ALIGN, copy _3) -> [success: bb1, unwind unreachable];
+     }
+ 
+     bb1: {
          _0 = copy (*_1);
          return;
      }
  }
  
