Revision f469b9db target-mips/translate.c

b/target-mips/translate.c
921 921
static void gen_arith_imm (DisasContext *ctx, uint32_t opc, int rt,
922 922
                           int rs, int16_t imm)
923 923
{
924
    uint32_t uimm;
924
    target_ulong uimm;
925 925
    const char *opn = "imm arith";
926 926

  
927 927
    if (rt == 0 && opc != OPC_ADDI && opc != OPC_DADDI) {
......
941 941
#endif
942 942
    case OPC_SLTI:
943 943
    case OPC_SLTIU:
944
        uimm = (int32_t)imm; /* Sign extend to 32 bits */
944
        uimm = (target_long)imm; /* Sign extend to 32/64 bits */
945 945
        /* Fall through. */
946 946
    case OPC_ANDI:
947 947
    case OPC_ORI:

Also available in: Unified diff