X86: Implement the versions of PUNPCKLBW that use MMX registers.

This commit is contained in:
Gabe Black 2009-08-17 18:15:42 -07:00
parent ecc62e750e
commit 247ed2379d
2 changed files with 16 additions and 3 deletions

View file

@ -551,7 +551,7 @@
0x0C: decode LEGACY_DECODEVAL { 0x0C: decode LEGACY_DECODEVAL {
// no prefix // no prefix
0x0: decode OPCODE_OP_BOTTOM3 { 0x0: decode OPCODE_OP_BOTTOM3 {
0x0: punpcklbw_Pq_Qd(); 0x0: Inst::PUNPCKLBW(Pq,Qd);
0x1: punpcklwd_Pq_Qd(); 0x1: punpcklwd_Pq_Qd();
0x2: punpckldq_Pq_Qd(); 0x2: punpckldq_Pq_Qd();
0x3: packsswb_Pq_Qq(); 0x3: packsswb_Pq_Qq();

View file

@ -54,10 +54,23 @@
# Authors: Gabe Black # Authors: Gabe Black
microcode = ''' microcode = '''
def macroop PUNPCKLBW_MMX_MMX {
unpack mmx, mmx, mmxm, sel=0, size=1
};
def macroop PUNPCKLBW_MMX_M {
ldfp ufp1, seg, sib, disp, dataSize=8
unpack mmx, mmx, ufp1, sel=0, size=1
};
def macroop PUNPCKLBW_MMX_P {
rdip t7
ldfp ufp1, seg, riprel, disp, dataSize=8
unpack mmx, mmx, ufp1, sel=0, size=1
};
'''
# PUNPCKHBW # PUNPCKHBW
# PUNPCKHWD # PUNPCKHWD
# PUNPCKHDQ # PUNPCKHDQ
# PUNPCKLBW
# PUNPCKLWD # PUNPCKLWD
# PUNPCKLDQ # PUNPCKLDQ
'''