From: marjanfariborz Date: Mon, 2 Dec 2019 23:03:02 +0000 (-0800) Subject: arch-x86: Adding LDDQU instruction X-Git-Tag: v19.0.0.0~228 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=18cbc34a56b91133ba9ea418bfaf793a43dc212a;p=gem5.git arch-x86: Adding LDDQU instruction Tested with simple c binaries. Signed-off-by: marjanfariborz Change-Id: I2f0852b136f966381d29af523e8ffdbca795afcd Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23262 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index 1e0924382..51154d5b8 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -1067,7 +1067,7 @@ } // repne (0xF2) 0x8: decode OPCODE_OP_BOTTOM3 { - 0x0: WarnUnimpl::lddqu_Vo_Mo(); + 0x0: LDDQU(Vo,Mq); default: UD2(); } default: UD2(); diff --git a/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py b/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py index 301aeaebd..8d147b922 100644 --- a/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py +++ b/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py @@ -123,5 +123,15 @@ def macroop MOVDQU_P_XMM { stfp xmml, seg, riprel, "DISPLACEMENT", dataSize=8 stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8 }; + +def macroop LDDQU_XMM_M { + ldfp xmml, seg, sib, "DISPLACEMENT", dataSize=8 + ldfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8 +}; + +def macroop LDDQU_XMM_P { + rdip t7 + ldfp xmml, seg, sib, "DISPLACEMENT", dataSize=8 + ldfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8 +}; ''' -# LDDQU