Revision d2604285

b/tcg/tcg-op.h
1425 1425

  
1426 1426
static inline void tcg_gen_not_i32(TCGv_i32 ret, TCGv_i32 arg)
1427 1427
{
1428
#ifdef TCG_TARGET_HAS_not_i32
1429
    tcg_gen_op2_i32(INDEX_op_not_i32, ret, arg);
1430
#else
1428 1431
    tcg_gen_xori_i32(ret, arg, -1);
1432
#endif
1429 1433
}
1430 1434

  
1431 1435
static inline void tcg_gen_not_i64(TCGv_i64 ret, TCGv_i64 arg)
1432 1436
{
1437
#ifdef TCG_TARGET_HAS_not_i64
1438
    tcg_gen_op2_i32(INDEX_op_not_i64, ret, arg);
1439
#else
1433 1440
    tcg_gen_xori_i64(ret, arg, -1);
1441
#endif
1434 1442
}
1435 1443

  
1436 1444
static inline void tcg_gen_discard_i32(TCGv_i32 arg)
b/tcg/tcg-opc.h
147 147
DEF2(bswap_i64, 1, 1, 0, 0)
148 148
#endif
149 149
#endif
150
#ifdef TCG_TARGET_HAS_not_i32
151
DEF2(not_i32, 1, 1, 0, 0)
152
#endif
153
#ifdef TCG_TARGET_HAS_not_i64
154
DEF2(not_i64, 1, 1, 0, 0)
155
#endif
150 156
#ifdef TCG_TARGET_HAS_neg_i32
151 157
DEF2(neg_i32, 1, 1, 0, 0)
152 158
#endif
b/tcg/x86_64/tcg-target.c
1108 1108
        tcg_out_modrm(s, 0xf7 | P_REXW, 3, args[0]);
1109 1109
        break;
1110 1110

  
1111
    case INDEX_op_not_i32:
1112
        tcg_out_modrm(s, 0xf7, 2, args[0]);
1113
        break;
1114
    case INDEX_op_not_i64:
1115
        tcg_out_modrm(s, 0xf7 | P_REXW, 2, args[0]);
1116
        break;
1117

  
1111 1118
    case INDEX_op_ext8s_i32:
1112 1119
        tcg_out_modrm(s, 0xbe | P_EXT | P_REXB, args[0], args[1]);
1113 1120
        break;
......
1286 1293
    { INDEX_op_neg_i32, { "r", "0" } },
1287 1294
    { INDEX_op_neg_i64, { "r", "0" } },
1288 1295

  
1296
    { INDEX_op_not_i32, { "r", "0" } },
1297
    { INDEX_op_not_i64, { "r", "0" } },
1298

  
1289 1299
    { INDEX_op_ext8s_i32, { "r", "r"} },
1290 1300
    { INDEX_op_ext16s_i32, { "r", "r"} },
1291 1301
    { INDEX_op_ext8s_i64, { "r", "r"} },
b/tcg/x86_64/tcg-target.h
60 60
#define TCG_TARGET_HAS_bswap_i64
61 61
#define TCG_TARGET_HAS_neg_i32
62 62
#define TCG_TARGET_HAS_neg_i64
63
#define TCG_TARGET_HAS_not_i32
64
#define TCG_TARGET_HAS_not_i64
63 65
#define TCG_TARGET_HAS_ext8s_i32
64 66
#define TCG_TARGET_HAS_ext16s_i32
65 67
#define TCG_TARGET_HAS_ext8s_i64

Also available in: Unified diff