Revision 5d40cd63

b/tcg/i386/tcg-target.c
1034 1034
        tcg_out_brcond2(s, args, const_args);
1035 1035
        break;
1036 1036

  
1037
    case INDEX_op_bswap16_i32:
1038
        tcg_out8(s, 0x66);
1039
        tcg_out_modrm(s, 0xc1, SHIFT_ROL, args[0]);
1040
        tcg_out8(s, 8);
1041
        break;
1037 1042
    case INDEX_op_bswap32_i32:
1038 1043
        tcg_out_opc(s, (0xc8 + args[0]) | P_EXT);
1039 1044
        break;
......
1130 1135
    { INDEX_op_sub2_i32, { "r", "r", "0", "1", "ri", "ri" } },
1131 1136
    { INDEX_op_brcond2_i32, { "r", "r", "ri", "ri" } },
1132 1137

  
1138
    { INDEX_op_bswap16_i32, { "r", "0" } },
1133 1139
    { INDEX_op_bswap32_i32, { "r", "0" } },
1134 1140

  
1135 1141
    { INDEX_op_neg_i32, { "r", "0" } },
b/tcg/i386/tcg-target.h
45 45
#define TCG_TARGET_CALL_STACK_OFFSET 0
46 46

  
47 47
/* optional instructions */
48
#define TCG_TARGET_HAS_bswap16_i32
48 49
#define TCG_TARGET_HAS_bswap32_i32
49 50
#define TCG_TARGET_HAS_neg_i32
50 51
#define TCG_TARGET_HAS_not_i32

Also available in: Unified diff