1 // MIR for `shift_signed` after built
3 fn shift_signed(_1: i8, _2: u128, _3: i8, _4: i32, _5: i128) -> ([i8; 3], [u128; 3]) {
9 let mut _0: ([i8; 3], [u128; 3]);
26 let mut _22: [u128; 3];
50 _10 = _9 as u8 (IntToInt);
51 _11 = Lt(move _10, const 8_u8);
52 assert(move _11, "attempt to shift right by `{}`, which would overflow", _9) -> [success: bb1, unwind: bb7];
56 _7 = Shr(move _8, move _9);
64 _15 = _14 as u32 (IntToInt);
65 _16 = Lt(move _15, const 8_u32);
66 assert(move _16, "attempt to shift right by `{}`, which would overflow", _14) -> [success: bb2, unwind: bb7];
70 _12 = Shr(move _13, move _14);
78 _20 = _19 as u128 (IntToInt);
79 _21 = Lt(move _20, const 8_u128);
80 assert(move _21, "attempt to shift right by `{}`, which would overflow", _19) -> [success: bb3, unwind: bb7];
84 _17 = Shr(move _18, move _19);
87 _6 = [move _7, move _12, move _17];
97 _26 = _25 as u8 (IntToInt);
98 _27 = Lt(move _26, const 128_u8);
99 assert(move _27, "attempt to shift left by `{}`, which would overflow", _25) -> [success: bb4, unwind: bb7];
103 _23 = Shl(move _24, move _25);
111 _31 = _30 as u32 (IntToInt);
112 _32 = Lt(move _31, const 128_u32);
113 assert(move _32, "attempt to shift left by `{}`, which would overflow", _30) -> [success: bb5, unwind: bb7];
117 _28 = Shl(move _29, move _30);
125 _36 = _35 as u128 (IntToInt);
126 _37 = Lt(move _36, const 128_u128);
127 assert(move _37, "attempt to shift left by `{}`, which would overflow", _35) -> [success: bb6, unwind: bb7];
131 _33 = Shl(move _34, move _35);
134 _22 = [move _23, move _28, move _33];
138 _0 = (move _6, move _22);