move_non_temporal.py (14220:d8f83e601091) move_non_temporal.py (14287:1c9774d969ac)
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 24 unchanged lines hidden (view full) ---

33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36# Authors: Gabe Black
37# Pouya Fotouhi
38
39microcode = '''
40def macroop MOVNTQ_M_MMX {
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 24 unchanged lines hidden (view full) ---

33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36# Authors: Gabe Black
37# Pouya Fotouhi
38
39microcode = '''
40def macroop MOVNTQ_M_MMX {
41 warn "MOVNTQ: Ignoring non-temporal hint, modeling as cacheable!"
41 warn_once "MOVNTQ: Ignoring non-temporal hint, modeling as cacheable!"
42 stfp mmx, seg, sib, "DISPLACEMENT", dataSize=8
43};
44
45def macroop MOVNTQ_P_MMX {
42 stfp mmx, seg, sib, "DISPLACEMENT", dataSize=8
43};
44
45def macroop MOVNTQ_P_MMX {
46 warn "MOVNTQ_P: Ignoring non-temporal hint, modeling as cacheable!"
46 warn_once "MOVNTQ_P: Ignoring non-temporal hint, modeling as cacheable!"
47 rdip t7
48 stfp mmx, seg, riprel, "DISPLACEMENT", dataSize=8
49};
50
51def macroop MASKMOVQ_MMX_MMX {
52 ldfp ufp1, ds, [1, t0, rdi], dataSize=8
53 maskmov ufp1, mmx, mmxm, size=1
54 stfp ufp1, ds, [1, t0, rdi], dataSize=8
55};
56'''
47 rdip t7
48 stfp mmx, seg, riprel, "DISPLACEMENT", dataSize=8
49};
50
51def macroop MASKMOVQ_MMX_MMX {
52 ldfp ufp1, ds, [1, t0, rdi], dataSize=8
53 maskmov ufp1, mmx, mmxm, size=1
54 stfp ufp1, ds, [1, t0, rdi], dataSize=8
55};
56'''