deps/dr/x86/decode.c
/* FIXME: case 8212: add checks for every single instr type */
case 8212: add checks for every single instr type
case 8212 : add checks for every single instr type
static bool
unit_check_sse3()
{
    dcontext_t *dcontext = get_thread_private_dcontext();
    byte buf[32];
    instr_t *instr;
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, mwait);
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, monitor);
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, haddpd,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, haddps,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, hsubpd,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, hsubps,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, addsubpd,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, addsubps,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, lddqu,
                        opnd_create_reg(REG_XMM7),
                        opnd_create_base_disp(REG_NULL, REG_NULL, 0, 0, OPSZ_16));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, movsldup,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, movshdup,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, movddup,
                        opnd_create_reg(REG_XMM7), opnd_create_reg(REG_XMM2));
    CHECK_ENCODE_OPCODE(dcontext, instr, buf, cmpxchg8b,
                        opnd_create_base_disp(REG_NULL, REG_NULL, 0, 0, OPSZ_8));
    return true;
}
static bool unit_check_sse3 ( ) { dcontext_t * dcontext = get_thread_private_dcontext ( ) ; byte buf [ 32 ] ; instr_t * instr ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , mwait ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , monitor ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , haddpd , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , haddps , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , hsubpd , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , hsubps , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , addsubpd , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , addsubps , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , lddqu , opnd_create_reg ( REG_XMM7 ) , opnd_create_base_disp ( REG_NULL , REG_NULL , 0 , 0 , OPSZ_16 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , movsldup , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , movshdup , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , movddup , opnd_create_reg ( REG_XMM7 ) , opnd_create_reg ( REG_XMM2 ) ) ; CHECK_ENCODE_OPCODE ( dcontext , instr , buf , cmpxchg8b , opnd_create_base_disp ( REG_NULL , REG_NULL , 0 , 0 , OPSZ_8 ) ) ; return true ; }
FIXME: case 8212: add checks for every single instr type
FIXME : case 8212 : add checks for every single instr type
/* not sse3 but I fixed it at same time so here to test */