diff --git a/lib/Target/X86/X86InstrSystem.td b/lib/Target/X86/X86InstrSystem.td index bbc9bdb319d..c2b593ac70b 100644 --- a/lib/Target/X86/X86InstrSystem.td +++ b/lib/Target/X86/X86InstrSystem.td @@ -577,3 +577,9 @@ let Defs = [EFLAGS] in { def CLAC : I<0x01, MRM_CA, (outs), (ins), "clac", []>, TB; def STAC : I<0x01, MRM_CB, (outs), (ins), "stac", []>, TB; } + +//===----------------------------------------------------------------------===// +// SMX Instruction +let Uses = [RAX, RBX, RCX, RDX], Defs = [RAX, RBX, RCX] in { + def GETSEC : I<0x37, RawFrm, (outs), (ins), "getsec", []>, TB; +} diff --git a/test/MC/Disassembler/X86/x86-32.txt b/test/MC/Disassembler/X86/x86-32.txt index 01ae7114dcb..830b8306630 100644 --- a/test/MC/Disassembler/X86/x86-32.txt +++ b/test/MC/Disassembler/X86/x86-32.txt @@ -761,3 +761,6 @@ 0x82 0x35 0x38 0x87 0x50 0x00 0x26 # CHECK: cmpb $38, 5277496 0x82 0x3d 0x38 0x87 0x50 0x00 0x26 + +#CHECK: getsec +0x0f 0x37 diff --git a/test/MC/X86/x86-32-coverage.s b/test/MC/X86/x86-32-coverage.s index 4f9066ce54e..e14031d67f1 100644 --- a/test/MC/X86/x86-32-coverage.s +++ b/test/MC/X86/x86-32-coverage.s @@ -10738,3 +10738,7 @@ btcq $4, (%eax) // CHECK: xrstors 305419896 // CHECK: encoding: [0x0f,0xc7,0x1d,0x78,0x56,0x34,0x12] xrstors 0x12345678 + +// CHECK: getsec +// CHECK: encoding: [0x0f,0x37] + getsec