diff options
Diffstat (limited to 'test/arch/x86/unit/mn_pcmpeq.py')
| -rwxr-xr-x | test/arch/x86/unit/mn_pcmpeq.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/test/arch/x86/unit/mn_pcmpeq.py b/test/arch/x86/unit/mn_pcmpeq.py index 22760db4..e934d6b5 100755 --- a/test/arch/x86/unit/mn_pcmpeq.py +++ b/test/arch/x86/unit/mn_pcmpeq.py @@ -4,6 +4,7 @@ import sys from asm_test import Asm_Test_32 + class Test_PCMPEQB(Asm_Test_32): TXT = ''' main: @@ -42,7 +43,6 @@ class Test_PCMPEQW(Asm_Test_32): assert self.myjit.cpu.MM1 == 0xFFFF0000FFFF0000 - class Test_PCMPEQD(Asm_Test_32): TXT = ''' main: @@ -62,5 +62,33 @@ class Test_PCMPEQD(Asm_Test_32): assert self.myjit.cpu.MM1 == 0x00000000FFFFFFFF +class Test_PCMPEQQ(Asm_Test_32): + TXT = ''' + main: + MOVD XMM0, ESI + MOVD XMM1, EDI + PCMPEQQ XMM0, XMM1 + JZ ret + MOV EAX, 1 + ret: + RET + ''' + + def prepare(self): + val = 1 + self.myjit.cpu.ESI = 0x11223344 + self.myjit.cpu.EDI = 0x11223345 + self.myjit.cpu.XMM0 = val + + def check(self): + assert self.myjit.cpu.XMM0 == 0xffffffffffffffff0000000000000000L + assert self.myjit.cpu.XMM1 == 0x11223345 + + if __name__ == "__main__": - [test(*sys.argv[1:])() for test in [Test_PCMPEQB, Test_PCMPEQW, Test_PCMPEQD]] + [test(*sys.argv[1:])() for test in [ + Test_PCMPEQB, + Test_PCMPEQW, + Test_PCMPEQD, + Test_PCMPEQQ, + ]] |