add_and_subtract.py revision 7087
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 = ''' 395081Sgblack@eecs.umich.edudef macroop ADD_R_R 405081Sgblack@eecs.umich.edu{ 415081Sgblack@eecs.umich.edu add reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 425081Sgblack@eecs.umich.edu}; 435081Sgblack@eecs.umich.edu 445081Sgblack@eecs.umich.edudef macroop ADD_R_I 455081Sgblack@eecs.umich.edu{ 465081Sgblack@eecs.umich.edu limm t1, imm 475081Sgblack@eecs.umich.edu add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 485081Sgblack@eecs.umich.edu}; 495081Sgblack@eecs.umich.edu 505081Sgblack@eecs.umich.edudef macroop ADD_M_I 515081Sgblack@eecs.umich.edu{ 525081Sgblack@eecs.umich.edu limm t2, imm 535119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 545081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 555081Sgblack@eecs.umich.edu st t1, seg, sib, disp 565081Sgblack@eecs.umich.edu}; 575081Sgblack@eecs.umich.edu 585081Sgblack@eecs.umich.edudef macroop ADD_P_I 595081Sgblack@eecs.umich.edu{ 605081Sgblack@eecs.umich.edu rdip t7 615081Sgblack@eecs.umich.edu limm t2, imm 625119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 635081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 645081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 655081Sgblack@eecs.umich.edu}; 665081Sgblack@eecs.umich.edu 676081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_M_I 686081Sgblack@eecs.umich.edu{ 696081Sgblack@eecs.umich.edu limm t2, imm 706081Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 716081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 726081Sgblack@eecs.umich.edu stul t1, seg, sib, disp 736081Sgblack@eecs.umich.edu}; 746081Sgblack@eecs.umich.edu 756081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_P_I 766081Sgblack@eecs.umich.edu{ 776081Sgblack@eecs.umich.edu rdip t7 786081Sgblack@eecs.umich.edu limm t2, imm 796081Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 806081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 816081Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 826081Sgblack@eecs.umich.edu}; 836081Sgblack@eecs.umich.edu 845081Sgblack@eecs.umich.edudef macroop ADD_M_R 855081Sgblack@eecs.umich.edu{ 865119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 875081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 885081Sgblack@eecs.umich.edu st t1, seg, sib, disp 895081Sgblack@eecs.umich.edu}; 905081Sgblack@eecs.umich.edu 915081Sgblack@eecs.umich.edudef macroop ADD_P_R 925081Sgblack@eecs.umich.edu{ 935081Sgblack@eecs.umich.edu rdip t7 945119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 955081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 965081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 975081Sgblack@eecs.umich.edu}; 985081Sgblack@eecs.umich.edu 996081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_M_R 1006081Sgblack@eecs.umich.edu{ 1016081Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 1026081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1036081Sgblack@eecs.umich.edu stul t1, seg, sib, disp 1046081Sgblack@eecs.umich.edu}; 1056081Sgblack@eecs.umich.edu 1066081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_P_R 1076081Sgblack@eecs.umich.edu{ 1086081Sgblack@eecs.umich.edu rdip t7 1096081Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 1106081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1116081Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 1126081Sgblack@eecs.umich.edu}; 1136081Sgblack@eecs.umich.edu 1145081Sgblack@eecs.umich.edudef macroop ADD_R_M 1155081Sgblack@eecs.umich.edu{ 1165081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 1175081Sgblack@eecs.umich.edu add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1185081Sgblack@eecs.umich.edu}; 1195081Sgblack@eecs.umich.edu 1205081Sgblack@eecs.umich.edudef macroop ADD_R_P 1215081Sgblack@eecs.umich.edu{ 1225081Sgblack@eecs.umich.edu rdip t7 1235081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 1245081Sgblack@eecs.umich.edu add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1255081Sgblack@eecs.umich.edu}; 1265081Sgblack@eecs.umich.edu 1275081Sgblack@eecs.umich.edudef macroop SUB_R_R 1285081Sgblack@eecs.umich.edu{ 1295081Sgblack@eecs.umich.edu sub reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 1305081Sgblack@eecs.umich.edu}; 1315081Sgblack@eecs.umich.edu 1325081Sgblack@eecs.umich.edudef macroop SUB_R_I 1335081Sgblack@eecs.umich.edu{ 1345081Sgblack@eecs.umich.edu limm t1, imm 1355081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1365081Sgblack@eecs.umich.edu}; 1375081Sgblack@eecs.umich.edu 1385081Sgblack@eecs.umich.edudef macroop SUB_R_M 1395081Sgblack@eecs.umich.edu{ 1405081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 1415081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1425081Sgblack@eecs.umich.edu}; 1435081Sgblack@eecs.umich.edu 1445081Sgblack@eecs.umich.edudef macroop SUB_R_P 1455081Sgblack@eecs.umich.edu{ 1465081Sgblack@eecs.umich.edu rdip t7 1475081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 1485081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1495081Sgblack@eecs.umich.edu}; 1505081Sgblack@eecs.umich.edu 1515081Sgblack@eecs.umich.edudef macroop SUB_M_I 1525081Sgblack@eecs.umich.edu{ 1535081Sgblack@eecs.umich.edu limm t2, imm 1545119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 1555081Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1565081Sgblack@eecs.umich.edu st t1, seg, sib, disp 1575081Sgblack@eecs.umich.edu}; 1585081Sgblack@eecs.umich.edu 1595081Sgblack@eecs.umich.edudef macroop SUB_P_I 1605081Sgblack@eecs.umich.edu{ 1615081Sgblack@eecs.umich.edu rdip t7 1625081Sgblack@eecs.umich.edu limm t2, imm 1635119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 1645081Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1655081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 1665081Sgblack@eecs.umich.edu}; 1675081Sgblack@eecs.umich.edu 1686086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_M_I 1696086Sgblack@eecs.umich.edu{ 1706086Sgblack@eecs.umich.edu limm t2, imm 1716086Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 1726086Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1736086Sgblack@eecs.umich.edu stul t1, seg, sib, disp 1746086Sgblack@eecs.umich.edu}; 1756086Sgblack@eecs.umich.edu 1766086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_P_I 1776086Sgblack@eecs.umich.edu{ 1786086Sgblack@eecs.umich.edu rdip t7 1796086Sgblack@eecs.umich.edu limm t2, imm 1806086Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 1816086Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1826086Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 1836086Sgblack@eecs.umich.edu}; 1846086Sgblack@eecs.umich.edu 1855081Sgblack@eecs.umich.edudef macroop SUB_M_R 1865081Sgblack@eecs.umich.edu{ 1875119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 1885081Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1895081Sgblack@eecs.umich.edu st t1, seg, sib, disp 1905081Sgblack@eecs.umich.edu}; 1915081Sgblack@eecs.umich.edu 1925081Sgblack@eecs.umich.edudef macroop SUB_P_R 1935081Sgblack@eecs.umich.edu{ 1945081Sgblack@eecs.umich.edu rdip t7 1955119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 1965081Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1975081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 1985081Sgblack@eecs.umich.edu}; 1995081Sgblack@eecs.umich.edu 2006086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_M_R 2016086Sgblack@eecs.umich.edu{ 2026086Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2036086Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2046086Sgblack@eecs.umich.edu stul t1, seg, sib, disp 2056086Sgblack@eecs.umich.edu}; 2066086Sgblack@eecs.umich.edu 2076086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_P_R 2086086Sgblack@eecs.umich.edu{ 2096086Sgblack@eecs.umich.edu rdip t7 2106086Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 2116086Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2126086Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 2136086Sgblack@eecs.umich.edu}; 2146086Sgblack@eecs.umich.edu 2155081Sgblack@eecs.umich.edudef macroop ADC_R_R 2165081Sgblack@eecs.umich.edu{ 2175081Sgblack@eecs.umich.edu adc reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 2185081Sgblack@eecs.umich.edu}; 2195081Sgblack@eecs.umich.edu 2205081Sgblack@eecs.umich.edudef macroop ADC_R_I 2215081Sgblack@eecs.umich.edu{ 2225081Sgblack@eecs.umich.edu limm t1, imm 2235081Sgblack@eecs.umich.edu adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 2245081Sgblack@eecs.umich.edu}; 2255081Sgblack@eecs.umich.edu 2265081Sgblack@eecs.umich.edudef macroop ADC_M_I 2275081Sgblack@eecs.umich.edu{ 2285081Sgblack@eecs.umich.edu limm t2, imm 2295119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 2305081Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2315081Sgblack@eecs.umich.edu st t1, seg, sib, disp 2325081Sgblack@eecs.umich.edu}; 2335081Sgblack@eecs.umich.edu 2345081Sgblack@eecs.umich.edudef macroop ADC_P_I 2355081Sgblack@eecs.umich.edu{ 2365081Sgblack@eecs.umich.edu rdip t7 2375081Sgblack@eecs.umich.edu limm t2, imm 2385119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 2395081Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2405081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 2415081Sgblack@eecs.umich.edu}; 2425081Sgblack@eecs.umich.edu 2436083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_M_I 2446083Sgblack@eecs.umich.edu{ 2456083Sgblack@eecs.umich.edu limm t2, imm 2466083Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2476083Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2486083Sgblack@eecs.umich.edu stul t1, seg, sib, disp 2496083Sgblack@eecs.umich.edu}; 2506083Sgblack@eecs.umich.edu 2516083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_P_I 2526083Sgblack@eecs.umich.edu{ 2536083Sgblack@eecs.umich.edu rdip t7 2546083Sgblack@eecs.umich.edu limm t2, imm 2556083Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 2566083Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2576083Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 2586083Sgblack@eecs.umich.edu}; 2596083Sgblack@eecs.umich.edu 2605081Sgblack@eecs.umich.edudef macroop ADC_M_R 2615081Sgblack@eecs.umich.edu{ 2625119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 2635081Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2645081Sgblack@eecs.umich.edu st t1, seg, sib, disp 2655081Sgblack@eecs.umich.edu}; 2665081Sgblack@eecs.umich.edu 2675081Sgblack@eecs.umich.edudef macroop ADC_P_R 2685081Sgblack@eecs.umich.edu{ 2695081Sgblack@eecs.umich.edu rdip t7 2705119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 2715081Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2725081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 2735081Sgblack@eecs.umich.edu}; 2745081Sgblack@eecs.umich.edu 2756083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_M_R 2766083Sgblack@eecs.umich.edu{ 2776083Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2786083Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2796083Sgblack@eecs.umich.edu stul t1, seg, sib, disp 2806083Sgblack@eecs.umich.edu}; 2816083Sgblack@eecs.umich.edu 2826083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_P_R 2836083Sgblack@eecs.umich.edu{ 2846083Sgblack@eecs.umich.edu rdip t7 2856083Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 2866083Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2876083Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 2886083Sgblack@eecs.umich.edu}; 2896083Sgblack@eecs.umich.edu 2905081Sgblack@eecs.umich.edudef macroop ADC_R_M 2915081Sgblack@eecs.umich.edu{ 2925081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 2935081Sgblack@eecs.umich.edu adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 2945081Sgblack@eecs.umich.edu}; 2955081Sgblack@eecs.umich.edu 2965081Sgblack@eecs.umich.edudef macroop ADC_R_P 2975081Sgblack@eecs.umich.edu{ 2985081Sgblack@eecs.umich.edu rdip t7 2995081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 3005081Sgblack@eecs.umich.edu adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3015081Sgblack@eecs.umich.edu}; 3025081Sgblack@eecs.umich.edu 3035081Sgblack@eecs.umich.edudef macroop SBB_R_R 3045081Sgblack@eecs.umich.edu{ 3055081Sgblack@eecs.umich.edu sbb reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 3065081Sgblack@eecs.umich.edu}; 3075081Sgblack@eecs.umich.edu 3085081Sgblack@eecs.umich.edudef macroop SBB_R_I 3095081Sgblack@eecs.umich.edu{ 3105081Sgblack@eecs.umich.edu limm t1, imm 3115081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3125081Sgblack@eecs.umich.edu}; 3135081Sgblack@eecs.umich.edu 3145081Sgblack@eecs.umich.edudef macroop SBB_R_M 3155081Sgblack@eecs.umich.edu{ 3165081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 3175081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3185081Sgblack@eecs.umich.edu}; 3195081Sgblack@eecs.umich.edu 3205081Sgblack@eecs.umich.edudef macroop SBB_R_P 3215081Sgblack@eecs.umich.edu{ 3225081Sgblack@eecs.umich.edu rdip t7 3235081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 3245081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3255081Sgblack@eecs.umich.edu}; 3265081Sgblack@eecs.umich.edu 3275081Sgblack@eecs.umich.edudef macroop SBB_M_I 3285081Sgblack@eecs.umich.edu{ 3295081Sgblack@eecs.umich.edu limm t2, imm 3305119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 3315081Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3325081Sgblack@eecs.umich.edu st t1, seg, sib, disp 3335081Sgblack@eecs.umich.edu}; 3345081Sgblack@eecs.umich.edu 3355081Sgblack@eecs.umich.edudef macroop SBB_P_I 3365081Sgblack@eecs.umich.edu{ 3375081Sgblack@eecs.umich.edu rdip t7 3385081Sgblack@eecs.umich.edu limm t2, imm 3395119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 3405081Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3415081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 3425081Sgblack@eecs.umich.edu}; 3435081Sgblack@eecs.umich.edu 3446084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_M_I 3456084Sgblack@eecs.umich.edu{ 3466084Sgblack@eecs.umich.edu limm t2, imm 3476084Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 3486084Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3496084Sgblack@eecs.umich.edu stul t1, seg, sib, disp 3506084Sgblack@eecs.umich.edu}; 3516084Sgblack@eecs.umich.edu 3526084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_P_I 3536084Sgblack@eecs.umich.edu{ 3546084Sgblack@eecs.umich.edu rdip t7 3556084Sgblack@eecs.umich.edu limm t2, imm 3566084Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 3576084Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3586084Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 3596084Sgblack@eecs.umich.edu}; 3606084Sgblack@eecs.umich.edu 3615081Sgblack@eecs.umich.edudef macroop SBB_M_R 3625081Sgblack@eecs.umich.edu{ 3635119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 3645081Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3655081Sgblack@eecs.umich.edu st t1, seg, sib, disp 3665081Sgblack@eecs.umich.edu}; 3675081Sgblack@eecs.umich.edu 3685081Sgblack@eecs.umich.edudef macroop SBB_P_R 3695081Sgblack@eecs.umich.edu{ 3705081Sgblack@eecs.umich.edu rdip t7 3715119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 3725081Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3735081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 3745081Sgblack@eecs.umich.edu}; 3755081Sgblack@eecs.umich.edu 3766084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_M_R 3776084Sgblack@eecs.umich.edu{ 3786084Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 3796084Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3806084Sgblack@eecs.umich.edu stul t1, seg, sib, disp 3816084Sgblack@eecs.umich.edu}; 3826084Sgblack@eecs.umich.edu 3836084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_P_R 3846084Sgblack@eecs.umich.edu{ 3856084Sgblack@eecs.umich.edu rdip t7 3866084Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 3876084Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3886084Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 3896084Sgblack@eecs.umich.edu}; 3906084Sgblack@eecs.umich.edu 3915081Sgblack@eecs.umich.edudef macroop NEG_R 3925081Sgblack@eecs.umich.edu{ 3935081Sgblack@eecs.umich.edu sub reg, t0, reg, flags=(CF,OF,SF,ZF,AF,PF) 3945081Sgblack@eecs.umich.edu}; 3955081Sgblack@eecs.umich.edu 3965081Sgblack@eecs.umich.edudef macroop NEG_M 3975081Sgblack@eecs.umich.edu{ 3985119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 3995081Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4005081Sgblack@eecs.umich.edu st t1, seg, sib, disp 4015081Sgblack@eecs.umich.edu}; 4025081Sgblack@eecs.umich.edu 4035081Sgblack@eecs.umich.edudef macroop NEG_P 4045081Sgblack@eecs.umich.edu{ 4055081Sgblack@eecs.umich.edu rdip t7 4065119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 4075081Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4085081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 4095081Sgblack@eecs.umich.edu}; 4106090Sgblack@eecs.umich.edu 4116090Sgblack@eecs.umich.edudef macroop NEG_LOCKED_M 4126090Sgblack@eecs.umich.edu{ 4136090Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 4146090Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4156090Sgblack@eecs.umich.edu stul t1, seg, sib, disp 4166090Sgblack@eecs.umich.edu}; 4176090Sgblack@eecs.umich.edu 4186090Sgblack@eecs.umich.edudef macroop NEG_LOCKED_P 4196090Sgblack@eecs.umich.edu{ 4206090Sgblack@eecs.umich.edu rdip t7 4216090Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 4226090Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4236090Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 4246090Sgblack@eecs.umich.edu}; 4255081Sgblack@eecs.umich.edu''' 426