15081Sgblack@eecs.umich.edu# Copyright (c) 2007 The Hewlett-Packard Development Company 25081Sgblack@eecs.umich.edu# All rights reserved. 35081Sgblack@eecs.umich.edu# 47087Snate@binkert.org# The license below extends only to copyright in the software and shall 57087Snate@binkert.org# not be construed as granting a license to any other intellectual 67087Snate@binkert.org# property including but not limited to intellectual property relating 77087Snate@binkert.org# to a hardware implementation of the functionality of the software 87087Snate@binkert.org# licensed hereunder. You may use the software subject to the license 97087Snate@binkert.org# terms below provided that you ensure that this notice is replicated 107087Snate@binkert.org# unmodified and in its entirety in all distributions of the software, 117087Snate@binkert.org# modified or unmodified, in source code or in binary form. 125081Sgblack@eecs.umich.edu# 137087Snate@binkert.org# Redistribution and use in source and binary forms, with or without 147087Snate@binkert.org# modification, are permitted provided that the following conditions are 157087Snate@binkert.org# met: redistributions of source code must retain the above copyright 167087Snate@binkert.org# notice, this list of conditions and the following disclaimer; 177087Snate@binkert.org# redistributions in binary form must reproduce the above copyright 187087Snate@binkert.org# notice, this list of conditions and the following disclaimer in the 197087Snate@binkert.org# documentation and/or other materials provided with the distribution; 207087Snate@binkert.org# neither the name of the copyright holders nor the names of its 215081Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from 227087Snate@binkert.org# this software without specific prior written permission. 235081Sgblack@eecs.umich.edu# 245081Sgblack@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 255081Sgblack@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 265081Sgblack@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 275081Sgblack@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 285081Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 295081Sgblack@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 305081Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 315081Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 325081Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 335081Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 345081Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 355081Sgblack@eecs.umich.edu# 365081Sgblack@eecs.umich.edu# Authors: Gabe Black 375081Sgblack@eecs.umich.edu 385081Sgblack@eecs.umich.edumicrocode = ''' 396567Sgblack@eecs.umich.edudef macroop PCMPEQB_XMM_XMM { 406567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=1, ext=0 416567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=1, ext=0 426567Sgblack@eecs.umich.edu}; 436567Sgblack@eecs.umich.edu 446567Sgblack@eecs.umich.edudef macroop PCMPEQB_XMM_M { 456567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 466567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 476567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=1, ext=0 486567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=1, ext=0 496567Sgblack@eecs.umich.edu}; 506567Sgblack@eecs.umich.edu 516567Sgblack@eecs.umich.edudef macroop PCMPEQB_XMM_P { 526567Sgblack@eecs.umich.edu rdip t7 536567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 546567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 556567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=1, ext=0 566567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=1, ext=0 576567Sgblack@eecs.umich.edu}; 586567Sgblack@eecs.umich.edu 596567Sgblack@eecs.umich.edudef macroop PCMPEQW_XMM_XMM { 606567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=2, ext=0 616567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=2, ext=0 626567Sgblack@eecs.umich.edu}; 636567Sgblack@eecs.umich.edu 646567Sgblack@eecs.umich.edudef macroop PCMPEQW_XMM_M { 656567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 666567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 676567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=2, ext=0 686567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=2, ext=0 696567Sgblack@eecs.umich.edu}; 706567Sgblack@eecs.umich.edu 716567Sgblack@eecs.umich.edudef macroop PCMPEQW_XMM_P { 726567Sgblack@eecs.umich.edu rdip t7 736567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 746567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 756567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=2, ext=0 766567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=2, ext=0 776567Sgblack@eecs.umich.edu}; 786567Sgblack@eecs.umich.edu 796567Sgblack@eecs.umich.edudef macroop PCMPEQD_XMM_XMM { 806567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=4, ext=0 816567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=4, ext=0 826567Sgblack@eecs.umich.edu}; 836567Sgblack@eecs.umich.edu 846567Sgblack@eecs.umich.edudef macroop PCMPEQD_XMM_M { 856567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 866567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 876567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=4, ext=0 886567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=4, ext=0 896567Sgblack@eecs.umich.edu}; 906567Sgblack@eecs.umich.edu 916567Sgblack@eecs.umich.edudef macroop PCMPEQD_XMM_P { 926567Sgblack@eecs.umich.edu rdip t7 936567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 946567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 956567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=4, ext=0 966567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=4, ext=0 976567Sgblack@eecs.umich.edu}; 986567Sgblack@eecs.umich.edu 996567Sgblack@eecs.umich.edudef macroop PCMPGTB_XMM_XMM { 1006567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=1, ext=2 1016567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=1, ext=2 1026567Sgblack@eecs.umich.edu}; 1036567Sgblack@eecs.umich.edu 1046567Sgblack@eecs.umich.edudef macroop PCMPGTB_XMM_M { 1056567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 1066567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 1076567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=1, ext=2 1086567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=1, ext=2 1096567Sgblack@eecs.umich.edu}; 1106567Sgblack@eecs.umich.edu 1116567Sgblack@eecs.umich.edudef macroop PCMPGTB_XMM_P { 1126567Sgblack@eecs.umich.edu rdip t7 1136567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 1146567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 1156567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=1, ext=2 1166567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=1, ext=2 1176567Sgblack@eecs.umich.edu}; 1186567Sgblack@eecs.umich.edu 1196567Sgblack@eecs.umich.edudef macroop PCMPGTW_XMM_XMM { 1206567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=2, ext=2 1216567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=2, ext=2 1226567Sgblack@eecs.umich.edu}; 1236567Sgblack@eecs.umich.edu 1246567Sgblack@eecs.umich.edudef macroop PCMPGTW_XMM_M { 1256567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 1266567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 1276567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=2, ext=2 1286567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=2, ext=2 1296567Sgblack@eecs.umich.edu}; 1306567Sgblack@eecs.umich.edu 1316567Sgblack@eecs.umich.edudef macroop PCMPGTW_XMM_P { 1326567Sgblack@eecs.umich.edu rdip t7 1336567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 1346567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 1356567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=2, ext=2 1366567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=2, ext=2 1376567Sgblack@eecs.umich.edu}; 1386567Sgblack@eecs.umich.edu 1396567Sgblack@eecs.umich.edudef macroop PCMPGTD_XMM_XMM { 1406567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, xmmlm, size=4, ext=2 1416567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, xmmhm, size=4, ext=2 1426567Sgblack@eecs.umich.edu}; 1436567Sgblack@eecs.umich.edu 1446567Sgblack@eecs.umich.edudef macroop PCMPGTD_XMM_M { 1456567Sgblack@eecs.umich.edu ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 1466567Sgblack@eecs.umich.edu ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8 1476567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=4, ext=2 1486567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=4, ext=2 1496567Sgblack@eecs.umich.edu}; 1506567Sgblack@eecs.umich.edu 1516567Sgblack@eecs.umich.edudef macroop PCMPGTD_XMM_P { 1526567Sgblack@eecs.umich.edu rdip t7 1536567Sgblack@eecs.umich.edu ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 1546567Sgblack@eecs.umich.edu ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8 1556567Sgblack@eecs.umich.edu mcmpi2r xmml, xmml, ufp1, size=4, ext=2 1566567Sgblack@eecs.umich.edu mcmpi2r xmmh, xmmh, ufp2, size=4, ext=2 1576567Sgblack@eecs.umich.edu}; 1585081Sgblack@eecs.umich.edu''' 159