diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/arch/x86/arch.py | 11 | ||||
| -rwxr-xr-x | test/arch/x86/unit/mn_cpuid.py | 21 | ||||
| -rwxr-xr-x | test/test_all.py | 1 |
3 files changed, 33 insertions, 0 deletions
diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py index e6797da2..b0ea7cb4 100644 --- a/test/arch/x86/arch.py +++ b/test/arch/x86/arch.py @@ -2328,6 +2328,8 @@ reg_tests = [ (m64, "00000000 MOVMSKPS EAX, XMM2", "0f50c2"), + (m64, "00000000 MOVMSKPS R8D, XMM2", + "440f50c2"), (m32, "00000000 ADDSS XMM2, DWORD PTR [ECX]", "f30f5811"), @@ -2725,6 +2727,9 @@ reg_tests = [ (m32, "00000000 PSLLW XMM6, 0x5", "660F71F605"), + (m64, "00000000 PSLLDQ XMM2, 0x1", + "660F73Fa01"), + (m32, "00000000 PSLLQ MM2, QWORD PTR [EDX]", "0FF312"), @@ -2919,6 +2924,12 @@ reg_tests = [ (m32, "00000000 PMOVMSKB EAX, XMM7", "660FD7C7"), + (m64, "XXXXXXXX PMOVMSKB R8D, XMM2", + "66440fd7c2"), + (m64, "XXXXXXXX PMOVMSKB EAX, XMM2", + "660fd7c2"), + + (m64, "00000000 SHUFPS XMM0, XMM6, 0x44", "0fc6c644"), (m64, "00000000 SHUFPD XMM0, XMM6, 0x44", diff --git a/test/arch/x86/unit/mn_cpuid.py b/test/arch/x86/unit/mn_cpuid.py new file mode 100755 index 00000000..026de207 --- /dev/null +++ b/test/arch/x86/unit/mn_cpuid.py @@ -0,0 +1,21 @@ +#! /usr/bin/env python2 + +import sys + +from asm_test import Asm_Test_32 + +class Test_CPUID(Asm_Test_32): + """Check for cpuid support (and not for arbitrary returned values)""" + TXT = ''' + main: + XOR EAX, EAX + CPUID + RET + ''' + + def check(self): + assert self.myjit.cpu.EAX == 0xa + + +if __name__ == "__main__": + [test(*sys.argv[1:])() for test in [Test_CPUID]] diff --git a/test/test_all.py b/test/test_all.py index e49ce514..ab9e4b9b 100755 --- a/test/test_all.py +++ b/test/test_all.py @@ -77,6 +77,7 @@ for script in ["x86/sem.py", "x86/unit/mn_pmovmskb.py", "x86/unit/mn_pushpop.py", "x86/unit/mn_seh.py", + "x86/unit/mn_cpuid.py", "arm/arch.py", "arm/sem.py", "aarch64/unit/mn_ubfm.py", |