Revision 5ff9d6a4 tcg/tcg-op.h

b/tcg/tcg-op.h
865 865
    tcg_gen_op2(INDEX_op_ext8s_i32, ret, arg);
866 866
#else
867 867
    tcg_gen_shli_i32(ret, arg, 24);
868
    tcg_gen_sari_i32(ret, arg, 24);
868
    tcg_gen_sari_i32(ret, ret, 24);
869 869
#endif
870 870
}
871 871

  
......
875 875
    tcg_gen_op2(INDEX_op_ext16s_i32, ret, arg);
876 876
#else
877 877
    tcg_gen_shli_i32(ret, arg, 16);
878
    tcg_gen_sari_i32(ret, arg, 16);
878
    tcg_gen_sari_i32(ret, ret, 16);
879 879
#endif
880 880
}
881 881

  
......
975 975
    tcg_gen_op2(INDEX_op_ext8s_i64, ret, arg);
976 976
#else
977 977
    tcg_gen_shli_i64(ret, arg, 56);
978
    tcg_gen_sari_i64(ret, arg, 56);
978
    tcg_gen_sari_i64(ret, ret, 56);
979 979
#endif
980 980
}
981 981

  
......
985 985
    tcg_gen_op2(INDEX_op_ext16s_i64, ret, arg);
986 986
#else
987 987
    tcg_gen_shli_i64(ret, arg, 48);
988
    tcg_gen_sari_i64(ret, arg, 48);
988
    tcg_gen_sari_i64(ret, ret, 48);
989 989
#endif
990 990
}
991 991

  
......
995 995
    tcg_gen_op2(INDEX_op_ext32s_i64, ret, arg);
996 996
#else
997 997
    tcg_gen_shli_i64(ret, arg, 32);
998
    tcg_gen_sari_i64(ret, arg, 32);
998
    tcg_gen_sari_i64(ret, ret, 32);
999 999
#endif
1000 1000
}
1001 1001

  
......
1062 1062

  
1063 1063
#endif
1064 1064

  
1065

  
1066
static inline void tcg_gen_discard_i32(TCGv arg)
1067
{
1068
    tcg_gen_op1(INDEX_op_discard, arg);
1069
}
1070

  
1071
#if TCG_TARGET_REG_BITS == 32
1072
static inline void tcg_gen_discard_i64(TCGv arg)
1073
{
1074
    tcg_gen_discard_i32(arg);
1075
    tcg_gen_discard_i32(TCGV_HIGH(arg));
1076
}
1077
#else
1078
static inline void tcg_gen_discard_i64(TCGv arg)
1079
{
1080
    tcg_gen_op1(INDEX_op_discard, arg);
1081
}
1082
#endif
1083

  
1065 1084
/***************************************/
1066 1085
static inline void tcg_gen_macro_2(TCGv ret0, TCGv ret1, int macro_id)
1067 1086
{

Also available in: Unified diff