From 18cbc34a56b91133ba9ea418bfaf793a43dc212a Mon Sep 17 00:00:00 2001 From: marjanfariborz Date: Mon, 2 Dec 2019 15:03:02 -0800 Subject: [PATCH] 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 --- src/arch/x86/isa/decoder/two_byte_opcodes.isa | 2 +- .../isa/insts/simd128/integer/data_transfer/move.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) 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 -- 2.30.2