diff --git a/src/arch/i686.ins b/src/arch/i686.ins index e47079d..e1b352a 100644 --- a/src/arch/i686.ins +++ b/src/arch/i686.ins @@ -28,6 +28,13 @@ /* instructions */ /* EMMS 0x0f77 2 */ { "emms", 0x0f77, OP2F, AOT_NONE, AOT_NONE, AOT_NONE }, +/* POR 0x0feb /r 2 mm mm/m64 */ +#if 1 /* FIXME doesn't work properly */ +{ "por", 0x0feb, OP2F, OP_R64_R, OP_RM64_D0_R,AOT_NONE}, +{ "por", 0x0feb, OP2F, OP_R64_R, OP_RM64_D8_R,AOT_NONE}, +{ "por", 0x0feb, OP2F, OP_R64_R, OP_RM64_DW_R,AOT_NONE}, +{ "por", 0x0feb, OP2F, OP_R64_R, OP_RM64_R64_R,AOT_NONE}, +#endif /* PUNPCKLBW 0x0f60 /r 2 mm mm/m32 */ /* FIXME implement */ /* PUNPCKLBD 0x0f61 /r 2 mm mm/m32 */ diff --git a/test/i686.S b/test/i686.S index c051421..a1f1ac3 100644 --- a/test/i686.S +++ b/test/i686.S @@ -1,6 +1,12 @@ /* $Id$ */ .text emms /* 0f 77 */ +#if 1 /* FIXME doesn't work properly */ + por %mm1, [%edx] + por %mm2, [%edx + $0x56] + por %mm3, [%edx + $0x789abc] + por %mm4, %mm5 +#endif #if 1 /* FIXME doesn't work properly */ pxor %mm1, [%edx] pxor %mm2, [%edx + $0x56]