Skip to content

Commit 47f5627

Browse files
committed
Merge remote-tracking branch
'origin/GP-4105_ghidorahrex_x86_movdir64b--SQUASHED' into patch (Closes NationalSecurityAgency#5997)
2 parents 25f07a2 + 71b0933 commit 47f5627

File tree

1 file changed

+25
-0
lines changed
  • Ghidra/Processors/x86/data/languages

1 file changed

+25
-0
lines changed

Ghidra/Processors/x86/data/languages/ia.sinc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,7 @@ m64: "qword ptr" Mem is Mem { export *:8 Mem; }
809809
# m80: Mem is Mem { export *:10 Mem; }
810810
m128: "xmmword ptr" Mem is Mem { export *:16 Mem; }
811811
m256: "ymmword ptr" Mem is Mem { export *:32 Mem; }
812+
m512: "64b ptr" Mem is Mem { export *:64 Mem; }
812813

813814
# spec versions of the m8/m16/m32/... tables explicitly print the operand size
814815
spec_m8: "byte ptr "^Mem is Mem { export *:1 Mem; }
@@ -5574,6 +5575,30 @@ define pcodeop minps;
55745575
:MOVQ rm64, XmmReg is $(LONGMODE_ON) & vexMode=0 & opsize=2 & $(PRE_66) & byte=0x0F; byte=0x7E; rm64 & XmmReg ... { rm64 = XmmReg(0); }
55755576
@endif
55765577

5578+
5579+
:MOVDIRI Mem,Reg32 is $(LONGMODE_OFF) & vexMode=0 & $(PRE_NO) & byte=0x0F; byte=0x38; byte=0xF9; Mem & Reg32 ... { *Mem = Reg32; }
5580+
@ifdef IA64
5581+
:MOVDIRI Mem,Reg64 is vexMode=0 & $(PRE_NO) & $(REX_W) & byte=0x0F; byte=0x38; byte=0xF9; Mem & Reg64 ... { *Mem = Reg64; }
5582+
@endif
5583+
5584+
define pcodeop movdir64b;
5585+
:MOVDIR64B Reg16, m512 is $(LONGMODE_OFF) & vexMode=0 & $(PRE_66) & addrsize=0 & byte=0x0F; byte=0x38; byte=0xF8; Reg16 ... & m512 {
5586+
movdir64b(Reg16, m512);
5587+
}
5588+
:MOVDIR64B Reg32, m512 is $(LONGMODE_OFF) & vexMode=0 & $(PRE_66) & addrsize=1 & byte=0x0F; byte=0x38; byte=0xF8; Reg32 ... & m512 {
5589+
movdir64b(Reg32, m512);
5590+
}
5591+
5592+
@ifdef IA64
5593+
:MOVDIR64B Reg32, m512 is $(LONGMODE_ON) & vexMode=0 & $(PRE_66) & addrsize=1 & byte=0x0F; byte=0x38; byte=0xF8; Reg32 ... & m512 {
5594+
movdir64b(Reg32, m512);
5595+
}
5596+
5597+
:MOVDIR64B Reg64, m512 is $(LONGMODE_ON) & vexMode=0 & $(PRE_66) & byte=0x0F; byte=0x38; byte=0xF8; Reg64 ... & m512 {
5598+
movdir64b(Reg64, m512);
5599+
}
5600+
@endif
5601+
55775602
:MOVDDUP XmmReg, m64 is vexMode=0 & $(PRE_F2) & byte=0x0F; byte=0x12; m64 & XmmReg ...
55785603
{
55795604
XmmReg[0,64] = m64;

0 commit comments

Comments
 (0)