On 3/8/19 3:28 PM, Philippe Mathieu-Daudé wrote: >> + CASE_OP_32_64(extract2): >> + if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) { >> + TCGArg v1 = arg_info(op->args[1])->val; >> + TCGArg v2 = arg_info(op->args[2])->val; >> + tmp = (v1 >> op->args[3]) | (v2 << (64 - op->args[3])); > Shouldn't this be: > > tmp = (v1 >> op->args[3]) | (v2 << (TCG_TARGET_REG_BITS - op->args[3]));
No, but there should be different constants for the two cases. Thanks. r~