diff options
author | Ben Langmuir <ben.langmuir@intel.com> | 2013-09-12 15:51:31 +0000 |
---|---|---|
committer | Ben Langmuir <ben.langmuir@intel.com> | 2013-09-12 15:51:31 +0000 |
commit | 1f1bd9a54d25d4e2c5da13c2cae7fa5e3d8acc9f (patch) | |
tree | 6a4093eec10f724f5f8bc99e58474ecfa2ec66e8 /lib/Target/X86/X86InstrSSE.td | |
parent | c0b12dfd0a83081c1ebbb55a89c7a2c1f98f1842 (diff) | |
download | external_llvm-1f1bd9a54d25d4e2c5da13c2cae7fa5e3d8acc9f.zip external_llvm-1f1bd9a54d25d4e2c5da13c2cae7fa5e3d8acc9f.tar.gz external_llvm-1f1bd9a54d25d4e2c5da13c2cae7fa5e3d8acc9f.tar.bz2 |
Partial support for Intel SHA Extensions (sha1rnds4)
Add basic assembly/disassembly support for the first Intel SHA
instruction 'sha1rnds4'. Also includes feature flag, and test cases.
Support for the remaining instructions will follow in a separate patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190611 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrSSE.td')
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index f36c042..83dd320 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -7321,6 +7321,22 @@ let Constraints = "$src1 = $dst" in { } //===----------------------------------------------------------------------===// +// SHA-NI Instructions +//===----------------------------------------------------------------------===// + +let Constraints = "$src1 = $dst", hasSideEffects = 0, Predicates = [HasSHA] in { + def SHA1RNDS4rri : Ii8<0xCC, MRMSrcReg, (outs VR128:$dst), + (ins VR128:$src1, VR128:$src2, i8imm:$src3), + "sha1rnds4\t{$src3, $src2, $dst|$dst, $src2, $src3}", + []>, TA; + let mayLoad = 1 in + def SHA1RNDS4rmi : Ii8<0xCC, MRMSrcMem, (outs VR128:$dst), + (ins VR128:$src1, i128mem:$src2, i8imm:$src3), + "sha1rnds4\t{$src3, $src2, $dst|$dst, $src2, $src3}", + []>, TA; +} + +//===----------------------------------------------------------------------===// // AES-NI Instructions //===----------------------------------------------------------------------===// |