On 08/03/2015 11:49 AM, Richard Henderson wrote:
>  #if defined(TARGET_MIPS64)
> -    case OPC_DEXTM:
> -        tcg_gen_shri_tl(t0, t1, lsb);
> -        if (msb != 31) {
> -            tcg_gen_andi_tl(t0, t0, (1ULL << (msb + 1 + 32)) - 1);
> -        }
> -        break;
>      case OPC_DEXTU:
> -        tcg_gen_shri_tl(t0, t1, lsb + 32);
> -        tcg_gen_andi_tl(t0, t0, (1ULL << (msb + 1)) - 1);
> -        break;
> +        lsb += 32;
> +        /* FALLTHRU */
> +    case OPC_DEXTM:
> +        msb += 32;
> +        /* FALLTHRU */
>      case OPC_DEXT:
> +        if (lsb + msb > 63) {
> +            goto fail;
> +        }

Apologies: this bit is wrong for DEXTU.  I'll re-send.


r~

Reply via email to