- // MIR for `opt_u32` before SimplifyComparisonIntegral
+ // MIR for `opt_u32` after SimplifyComparisonIntegral
  
  fn opt_u32(_1: u32) -> u32 {
      debug x => _1;
      let mut _0: u32;
      let mut _2: bool;
      let mut _3: u32;
  
      bb0: {
          StorageLive(_2);
          StorageLive(_3);
          _3 = copy _1;
-         _2 = Eq(copy _1, const 42_u32);
-         switchInt(move _2) -> [0: bb2, otherwise: bb1];
+         nop;
+         switchInt(copy _1) -> [42: bb1, otherwise: bb2];
      }
  
      bb1: {
          StorageDead(_3);
          _0 = const 0_u32;
          goto -> bb3;
      }
  
      bb2: {
          StorageDead(_3);
          _0 = const 1_u32;
          goto -> bb3;
      }
  
      bb3: {
          StorageDead(_2);
          return;
      }
  }
  
