pragma abicoder v1;
contract C {
    function f(uint8 a, uint8 b) public returns (uint256) {
        assembly {
            a := 0xffffffff
        }
        // Higher bits should be cleared before the shift
        return a >> b;
    }
}
// ====
// ABIEncoderV1Only: true
// compileViaYul: false
// ----
// f(uint8,uint8): 0x00, 0x04 -> 0x0f
// f(uint8,uint8): 0x00, 0x1004 -> 0x0f
