arch-x86: implement movntps/movntpd SSE insts
These are non-temporal packed SSE stores. Change-Id: I526cd6551b38d6d35010bc6173f23d017106b466 Reviewed-on: https://gem5-review.googlesource.com/9861 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
committed by
Anthony Gutierrez
parent
47cda1d20b
commit
ddb80527e3
@@ -383,7 +383,7 @@
|
||||
0x0: MOVAPS(Vq,Wq);
|
||||
0x1: MOVAPS(Wq,Vq);
|
||||
0x2: CVTPI2PS(Vq,Qq);
|
||||
0x3: WarnUnimpl::movntps_Mo_Vo();
|
||||
0x3: MOVNTPS(Mq,Vq);
|
||||
0x4: CVTTPS2PI(Pq,Wq);
|
||||
0x5: CVTPS2PI(Pq,Wq);
|
||||
0x6: UCOMISS(Vd,Wd);
|
||||
@@ -401,7 +401,7 @@
|
||||
0x0: MOVAPD(Vo,Wo);
|
||||
0x1: MOVAPD(Wo,Vo);
|
||||
0x2: CVTPI2PD(Vo,Qq);
|
||||
0x3: WarnUnimpl::movntpd_Mo_Vo();
|
||||
0x3: MOVNTPD(Mq,Vq);
|
||||
0x4: CVTTPD2PI(Pq,Wo);
|
||||
0x5: CVTPD2PI(Pq,Wo);
|
||||
0x6: UCOMISD(Vq,Wq);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2007 The Hewlett-Packard Development Company
|
||||
# Copyright (c) 2015, 2018 Advanced Micro Devices, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The license below extends only to copyright in the software and shall
|
||||
@@ -34,8 +35,34 @@
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# Authors: Gabe Black
|
||||
# Steve Reinhardt
|
||||
|
||||
microcode = '''
|
||||
# MOVNTPS
|
||||
# MOVNTPD
|
||||
# movntps is basically the same as movaps, excepting the caching hint and
|
||||
# ordering constraints
|
||||
def macroop MOVNTPS_M_XMM {
|
||||
# Check low address.
|
||||
stfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8, uncacheable=True
|
||||
stfp xmml, seg, sib, disp, dataSize=8, uncacheable=True
|
||||
};
|
||||
|
||||
def macroop MOVNTPS_P_XMM {
|
||||
rdip t7
|
||||
# Check low address.
|
||||
stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8, uncacheable=True
|
||||
stfp xmml, seg, riprel, disp, dataSize=8, uncacheable=True
|
||||
};
|
||||
|
||||
# movntpd is basically the same as movapd, excepting the caching hint and
|
||||
# ordering constraints
|
||||
def macroop MOVNTPD_M_XMM {
|
||||
stfp xmml, seg, sib, "DISPLACEMENT", dataSize=8, uncacheable=True
|
||||
stfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8, uncacheable=True
|
||||
};
|
||||
|
||||
def macroop MOVNTPD_P_XMM {
|
||||
rdip t7
|
||||
stfp xmml, seg, riprel, "DISPLACEMENT", dataSize=8, uncacheable=True
|
||||
stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8, uncacheable=True
|
||||
};
|
||||
'''
|
||||
|
||||
Reference in New Issue
Block a user