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 = '''
396549Sgblack@eecs.umich.edudef macroop MINPS_XMM_XMM {
406549Sgblack@eecs.umich.edu    mminf xmml, xmml, xmmlm, ext=0, size=4
416549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, xmmhm, ext=0, size=4
426549Sgblack@eecs.umich.edu};
436549Sgblack@eecs.umich.edu
446549Sgblack@eecs.umich.edudef macroop MINPS_XMM_M {
456549Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
466549Sgblack@eecs.umich.edu    ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
476549Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=0, size=4
486549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, ufp2, ext=0, size=4
496549Sgblack@eecs.umich.edu};
506549Sgblack@eecs.umich.edu
516549Sgblack@eecs.umich.edudef macroop MINPS_XMM_P {
526549Sgblack@eecs.umich.edu    rdip t7
536549Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
546549Sgblack@eecs.umich.edu    ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
556549Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=0, size=4
566549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, ufp2, ext=0, size=4
576549Sgblack@eecs.umich.edu};
586549Sgblack@eecs.umich.edu
596549Sgblack@eecs.umich.edudef macroop MINPD_XMM_XMM {
606549Sgblack@eecs.umich.edu    mminf xmml, xmml, xmmlm, ext=0, size=8
616549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, xmmhm, ext=0, size=8
626549Sgblack@eecs.umich.edu};
636549Sgblack@eecs.umich.edu
646549Sgblack@eecs.umich.edudef macroop MINPD_XMM_M {
656549Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
666549Sgblack@eecs.umich.edu    ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
676549Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=0, size=8
686549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, ufp2, ext=0, size=8
696549Sgblack@eecs.umich.edu};
706549Sgblack@eecs.umich.edu
716549Sgblack@eecs.umich.edudef macroop MINPD_XMM_P {
726549Sgblack@eecs.umich.edu    rdip t7
736549Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
746549Sgblack@eecs.umich.edu    ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
756549Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=0, size=8
766549Sgblack@eecs.umich.edu    mminf xmmh, xmmh, ufp2, ext=0, size=8
776549Sgblack@eecs.umich.edu};
786549Sgblack@eecs.umich.edu
796549Sgblack@eecs.umich.edudef macroop MINSS_XMM_XMM {
806799Sgblack@eecs.umich.edu    mminf xmml, xmml, xmmlm, ext=Scalar, size=4
816549Sgblack@eecs.umich.edu};
826549Sgblack@eecs.umich.edu
836549Sgblack@eecs.umich.edudef macroop MINSS_XMM_M {
846549Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
856799Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=Scalar, size=4
866549Sgblack@eecs.umich.edu};
876549Sgblack@eecs.umich.edu
886549Sgblack@eecs.umich.edudef macroop MINSS_XMM_P {
896549Sgblack@eecs.umich.edu    rdip t7
906549Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
916799Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=Scalar, size=4
926549Sgblack@eecs.umich.edu};
936549Sgblack@eecs.umich.edu
946549Sgblack@eecs.umich.edudef macroop MINSD_XMM_XMM {
956799Sgblack@eecs.umich.edu    mminf xmml, xmml, xmmlm, ext=Scalar, size=8
966549Sgblack@eecs.umich.edu};
976549Sgblack@eecs.umich.edu
986549Sgblack@eecs.umich.edudef macroop MINSD_XMM_M {
996549Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
1006799Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=Scalar, size=8
1016549Sgblack@eecs.umich.edu};
1026549Sgblack@eecs.umich.edu
1036549Sgblack@eecs.umich.edudef macroop MINSD_XMM_P {
1046549Sgblack@eecs.umich.edu    rdip t7
1056549Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
1066799Sgblack@eecs.umich.edu    mminf xmml, xmml, ufp1, ext=Scalar, size=8
1076549Sgblack@eecs.umich.edu};
1086551Sgblack@eecs.umich.edu
1096551Sgblack@eecs.umich.edudef macroop MAXPS_XMM_XMM {
1106551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, xmmlm, ext=0, size=4
1116551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, xmmhm, ext=0, size=4
1126551Sgblack@eecs.umich.edu};
1136551Sgblack@eecs.umich.edu
1146551Sgblack@eecs.umich.edudef macroop MAXPS_XMM_M {
1156551Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
1166551Sgblack@eecs.umich.edu    ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
1176551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=0, size=4
1186551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, ufp2, ext=0, size=4
1196551Sgblack@eecs.umich.edu};
1206551Sgblack@eecs.umich.edu
1216551Sgblack@eecs.umich.edudef macroop MAXPS_XMM_P {
1226551Sgblack@eecs.umich.edu    rdip t7
1236551Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
1246551Sgblack@eecs.umich.edu    ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
1256551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=0, size=4
1266551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, ufp2, ext=0, size=4
1276551Sgblack@eecs.umich.edu};
1286551Sgblack@eecs.umich.edu
1296551Sgblack@eecs.umich.edudef macroop MAXPD_XMM_XMM {
1306551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, xmmlm, ext=0, size=8
1316551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, xmmhm, ext=0, size=8
1326551Sgblack@eecs.umich.edu};
1336551Sgblack@eecs.umich.edu
1346551Sgblack@eecs.umich.edudef macroop MAXPD_XMM_M {
1356551Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
1366551Sgblack@eecs.umich.edu    ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
1376551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=0, size=8
1386551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, ufp2, ext=0, size=8
1396551Sgblack@eecs.umich.edu};
1406551Sgblack@eecs.umich.edu
1416551Sgblack@eecs.umich.edudef macroop MAXPD_XMM_P {
1426551Sgblack@eecs.umich.edu    rdip t7
1436551Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
1446551Sgblack@eecs.umich.edu    ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
1456551Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=0, size=8
1466551Sgblack@eecs.umich.edu    mmaxf xmmh, xmmh, ufp2, ext=0, size=8
1476551Sgblack@eecs.umich.edu};
1486551Sgblack@eecs.umich.edu
1496551Sgblack@eecs.umich.edudef macroop MAXSS_XMM_XMM {
1506799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, xmmlm, ext=Scalar, size=4
1516551Sgblack@eecs.umich.edu};
1526551Sgblack@eecs.umich.edu
1536551Sgblack@eecs.umich.edudef macroop MAXSS_XMM_M {
1546551Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
1556799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=Scalar, size=4
1566551Sgblack@eecs.umich.edu};
1576551Sgblack@eecs.umich.edu
1586551Sgblack@eecs.umich.edudef macroop MAXSS_XMM_P {
1596551Sgblack@eecs.umich.edu    rdip t7
1606551Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
1616799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=Scalar, size=4
1626551Sgblack@eecs.umich.edu};
1636551Sgblack@eecs.umich.edu
1646551Sgblack@eecs.umich.edudef macroop MAXSD_XMM_XMM {
1656799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, xmmlm, ext=Scalar, size=8
1666551Sgblack@eecs.umich.edu};
1676551Sgblack@eecs.umich.edu
1686551Sgblack@eecs.umich.edudef macroop MAXSD_XMM_M {
1696551Sgblack@eecs.umich.edu    ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
1706799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=Scalar, size=8
1716551Sgblack@eecs.umich.edu};
1726551Sgblack@eecs.umich.edu
1736551Sgblack@eecs.umich.edudef macroop MAXSD_XMM_P {
1746551Sgblack@eecs.umich.edu    rdip t7
1756551Sgblack@eecs.umich.edu    ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
1766799Sgblack@eecs.umich.edu    mmaxf xmml, xmml, ufp1, ext=Scalar, size=8
1776551Sgblack@eecs.umich.edu};
1786549Sgblack@eecs.umich.edu'''
179