diff options
author | Ben Langmuir <ben.langmuir@intel.com> | 2013-09-14 15:03:21 +0000 |
---|---|---|
committer | Ben Langmuir <ben.langmuir@intel.com> | 2013-09-14 15:03:21 +0000 |
commit | a247e9d42b03851be8425631e2716d4ff9f37c47 (patch) | |
tree | 0bad02332ca1bde322c4d9949d0a18feea6a8e3a /test | |
parent | 4873c157f3b6776968f63f66bc76f839bdaf128e (diff) | |
download | llvm-a247e9d42b03851be8425631e2716d4ff9f37c47.tar.gz llvm-a247e9d42b03851be8425631e2716d4ff9f37c47.tar.bz2 llvm-a247e9d42b03851be8425631e2716d4ff9f37c47.tar.xz |
Add the remaining Intel SHA instructions
Also assembly/disassembly tests, and for sha256rnds2, aliases with an explicit
xmm0 dependency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190754 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/Disassembler/X86/x86-64.txt | 38 | ||||
-rw-r--r-- | test/MC/X86/x86_64-encoding.s | 52 |
2 files changed, 89 insertions, 1 deletions
diff --git a/test/MC/Disassembler/X86/x86-64.txt b/test/MC/Disassembler/X86/x86-64.txt index 4e9bfa3be8..4e4107ebac 100644 --- a/test/MC/Disassembler/X86/x86-64.txt +++ b/test/MC/Disassembler/X86/x86-64.txt @@ -162,4 +162,40 @@ 0x0f 0x3a 0xcc 0xd1 0x01 # CHECK: sha1rnds4 $1, (%rax), %xmm2 -0x0f 0x3a 0xcc 0x10 0x01
\ No newline at end of file +0x0f 0x3a 0xcc 0x10 0x01 + +# CHECK: sha1nexte %xmm1, %xmm2 +0x0f 0x38 0xc8 0xd1 + +# CHECK: sha1nexte (%rax), %xmm2 +0x0f 0x38 0xc8 0x10 + +# CHECK: sha1msg1 %xmm1, %xmm2 +0x0f 0x38 0xc9 0xd1 + +# CHECK: sha1msg1 (%rax), %xmm2 +0x0f 0x38 0xc9 0x10 + +# CHECK: sha1msg2 %xmm1, %xmm2 +0x0f 0x38 0xca 0xd1 + +# CHECK: sha1msg2 (%rax), %xmm2 +0x0f 0x38 0xca 0x10 + +# CHECK: sha256rnds2 (%rax), %xmm2 +0x0f 0x38 0xcb 0x10 + +# CHECK: sha256rnds2 %xmm1, %xmm2 +0x0f 0x38 0xcb 0xd1 + +# CHECK: sha256msg1 %xmm1, %xmm2 +0x0f 0x38 0xcc 0xd1 + +# CHECK: sha256msg1 (%rax), %xmm2 +0x0f 0x38 0xcc 0x10 + +# CHECK: sha256msg2 %xmm1, %xmm2 +0x0f 0x38 0xcd 0xd1 + +# CHECK: sha256msg2 (%rax), %xmm2 +0x0f 0x38 0xcd 0x10
\ No newline at end of file diff --git a/test/MC/X86/x86_64-encoding.s b/test/MC/X86/x86_64-encoding.s index 54d8637529..f1a86c9d4b 100644 --- a/test/MC/X86/x86_64-encoding.s +++ b/test/MC/X86/x86_64-encoding.s @@ -128,6 +128,58 @@ sha1rnds4 $1, %xmm1, %xmm2 // CHECK: encoding: [0x0f,0x3a,0xcc,0x10,0x01] sha1rnds4 $1, (%rax), %xmm2 +// CHECK: sha1nexte %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xc8,0xd1] +sha1nexte %xmm1, %xmm2 + +// CHECK: sha1msg1 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xc9,0xd1] +sha1msg1 %xmm1, %xmm2 + +// CHECK: sha1msg1 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xc9,0x10] +sha1msg1 (%rax), %xmm2 + +// CHECK: sha1msg2 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xca,0xd1] +sha1msg2 %xmm1, %xmm2 + +// CHECK: sha1msg2 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xca,0x10] +sha1msg2 (%rax), %xmm2 + +// CHECK: sha256rnds2 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcb,0x10] +sha256rnds2 (%rax), %xmm2 + +// CHECK: sha256rnds2 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcb,0xd1] +sha256rnds2 %xmm1, %xmm2 + +// CHECK: sha256rnds2 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcb,0x10] +sha256rnds2 %xmm0, (%rax), %xmm2 + +// CHECK: sha256rnds2 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcb,0xd1] +sha256rnds2 %xmm0, %xmm1, %xmm2 + +// CHECK: sha256msg1 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcc,0xd1] +sha256msg1 %xmm1, %xmm2 + +// CHECK: sha256msg1 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcc,0x10] +sha256msg1 (%rax), %xmm2 + +// CHECK: sha256msg2 %xmm1, %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcd,0xd1] +sha256msg2 %xmm1, %xmm2 + +// CHECK: sha256msg2 (%rax), %xmm2 +// CHECK: encoding: [0x0f,0x38,0xcd,0x10] +sha256msg2 (%rax), %xmm2 + // CHECK: movq 57005(,%riz), %rbx // CHECK: encoding: [0x48,0x8b,0x1c,0x25,0xad,0xde,0x00,0x00] movq 57005(,%riz), %rbx |