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 708610Snilay@cs.wisc.edu mfence 716081Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 726081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 736081Sgblack@eecs.umich.edu stul t1, seg, sib, disp 748610Snilay@cs.wisc.edu mfence 756081Sgblack@eecs.umich.edu}; 766081Sgblack@eecs.umich.edu 776081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_P_I 786081Sgblack@eecs.umich.edu{ 796081Sgblack@eecs.umich.edu rdip t7 806081Sgblack@eecs.umich.edu limm t2, imm 818610Snilay@cs.wisc.edu mfence 826081Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 836081Sgblack@eecs.umich.edu add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 846081Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 858610Snilay@cs.wisc.edu mfence 866081Sgblack@eecs.umich.edu}; 876081Sgblack@eecs.umich.edu 885081Sgblack@eecs.umich.edudef macroop ADD_M_R 895081Sgblack@eecs.umich.edu{ 905119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 915081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 925081Sgblack@eecs.umich.edu st t1, seg, sib, disp 935081Sgblack@eecs.umich.edu}; 945081Sgblack@eecs.umich.edu 955081Sgblack@eecs.umich.edudef macroop ADD_P_R 965081Sgblack@eecs.umich.edu{ 975081Sgblack@eecs.umich.edu rdip t7 985119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 995081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1005081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 1015081Sgblack@eecs.umich.edu}; 1025081Sgblack@eecs.umich.edu 1036081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_M_R 1046081Sgblack@eecs.umich.edu{ 1058610Snilay@cs.wisc.edu mfence 1066081Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 1076081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1086081Sgblack@eecs.umich.edu stul t1, seg, sib, disp 1098610Snilay@cs.wisc.edu mfence 1106081Sgblack@eecs.umich.edu}; 1116081Sgblack@eecs.umich.edu 1126081Sgblack@eecs.umich.edudef macroop ADD_LOCKED_P_R 1136081Sgblack@eecs.umich.edu{ 1146081Sgblack@eecs.umich.edu rdip t7 1158610Snilay@cs.wisc.edu mfence 1166081Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 1176081Sgblack@eecs.umich.edu add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 1186081Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 1198610Snilay@cs.wisc.edu mfence 1206081Sgblack@eecs.umich.edu}; 1216081Sgblack@eecs.umich.edu 1225081Sgblack@eecs.umich.edudef macroop ADD_R_M 1235081Sgblack@eecs.umich.edu{ 1245081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 1255081Sgblack@eecs.umich.edu add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1265081Sgblack@eecs.umich.edu}; 1275081Sgblack@eecs.umich.edu 1285081Sgblack@eecs.umich.edudef macroop ADD_R_P 1295081Sgblack@eecs.umich.edu{ 1305081Sgblack@eecs.umich.edu rdip t7 1315081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 1325081Sgblack@eecs.umich.edu add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1335081Sgblack@eecs.umich.edu}; 1345081Sgblack@eecs.umich.edu 1355081Sgblack@eecs.umich.edudef macroop SUB_R_R 1365081Sgblack@eecs.umich.edu{ 1375081Sgblack@eecs.umich.edu sub reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 1385081Sgblack@eecs.umich.edu}; 1395081Sgblack@eecs.umich.edu 1405081Sgblack@eecs.umich.edudef macroop SUB_R_I 1415081Sgblack@eecs.umich.edu{ 1425081Sgblack@eecs.umich.edu limm t1, imm 1435081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1445081Sgblack@eecs.umich.edu}; 1455081Sgblack@eecs.umich.edu 1465081Sgblack@eecs.umich.edudef macroop SUB_R_M 1475081Sgblack@eecs.umich.edu{ 1485081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 1495081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1505081Sgblack@eecs.umich.edu}; 1515081Sgblack@eecs.umich.edu 1525081Sgblack@eecs.umich.edudef macroop SUB_R_P 1535081Sgblack@eecs.umich.edu{ 1545081Sgblack@eecs.umich.edu rdip t7 1555081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 1565081Sgblack@eecs.umich.edu sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 1575081Sgblack@eecs.umich.edu}; 1585081Sgblack@eecs.umich.edu 1595081Sgblack@eecs.umich.edudef macroop SUB_M_I 1605081Sgblack@eecs.umich.edu{ 1615081Sgblack@eecs.umich.edu limm t2, imm 1625119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 1635081Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1645081Sgblack@eecs.umich.edu st t1, seg, sib, disp 1655081Sgblack@eecs.umich.edu}; 1665081Sgblack@eecs.umich.edu 1675081Sgblack@eecs.umich.edudef macroop SUB_P_I 1685081Sgblack@eecs.umich.edu{ 1695081Sgblack@eecs.umich.edu rdip t7 1705081Sgblack@eecs.umich.edu limm t2, imm 1715119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 1725081Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1735081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 1745081Sgblack@eecs.umich.edu}; 1755081Sgblack@eecs.umich.edu 1766086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_M_I 1776086Sgblack@eecs.umich.edu{ 1786086Sgblack@eecs.umich.edu limm t2, imm 1798610Snilay@cs.wisc.edu mfence 1806086Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 1816086Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1826086Sgblack@eecs.umich.edu stul t1, seg, sib, disp 1838610Snilay@cs.wisc.edu mfence 1846086Sgblack@eecs.umich.edu}; 1856086Sgblack@eecs.umich.edu 1866086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_P_I 1876086Sgblack@eecs.umich.edu{ 1886086Sgblack@eecs.umich.edu rdip t7 1896086Sgblack@eecs.umich.edu limm t2, imm 1908610Snilay@cs.wisc.edu mfence 1916086Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 1926086Sgblack@eecs.umich.edu sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 1936086Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 1948610Snilay@cs.wisc.edu mfence 1956086Sgblack@eecs.umich.edu}; 1966086Sgblack@eecs.umich.edu 1975081Sgblack@eecs.umich.edudef macroop SUB_M_R 1985081Sgblack@eecs.umich.edu{ 1995119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 2005081Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2015081Sgblack@eecs.umich.edu st t1, seg, sib, disp 2025081Sgblack@eecs.umich.edu}; 2035081Sgblack@eecs.umich.edu 2045081Sgblack@eecs.umich.edudef macroop SUB_P_R 2055081Sgblack@eecs.umich.edu{ 2065081Sgblack@eecs.umich.edu rdip t7 2075119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 2085081Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2095081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 2105081Sgblack@eecs.umich.edu}; 2115081Sgblack@eecs.umich.edu 2126086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_M_R 2136086Sgblack@eecs.umich.edu{ 2148610Snilay@cs.wisc.edu mfence 2156086Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2166086Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2176086Sgblack@eecs.umich.edu stul t1, seg, sib, disp 2188610Snilay@cs.wisc.edu mfence 2196086Sgblack@eecs.umich.edu}; 2206086Sgblack@eecs.umich.edu 2216086Sgblack@eecs.umich.edudef macroop SUB_LOCKED_P_R 2226086Sgblack@eecs.umich.edu{ 2236086Sgblack@eecs.umich.edu rdip t7 2248610Snilay@cs.wisc.edu mfence 2256086Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 2266086Sgblack@eecs.umich.edu sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2276086Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 2288610Snilay@cs.wisc.edu mfence 2296086Sgblack@eecs.umich.edu}; 2306086Sgblack@eecs.umich.edu 2315081Sgblack@eecs.umich.edudef macroop ADC_R_R 2325081Sgblack@eecs.umich.edu{ 2335081Sgblack@eecs.umich.edu adc reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 2345081Sgblack@eecs.umich.edu}; 2355081Sgblack@eecs.umich.edu 2365081Sgblack@eecs.umich.edudef macroop ADC_R_I 2375081Sgblack@eecs.umich.edu{ 2385081Sgblack@eecs.umich.edu limm t1, imm 2395081Sgblack@eecs.umich.edu adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 2405081Sgblack@eecs.umich.edu}; 2415081Sgblack@eecs.umich.edu 2425081Sgblack@eecs.umich.edudef macroop ADC_M_I 2435081Sgblack@eecs.umich.edu{ 2445081Sgblack@eecs.umich.edu limm t2, imm 2455119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 2465081Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2475081Sgblack@eecs.umich.edu st t1, seg, sib, disp 2485081Sgblack@eecs.umich.edu}; 2495081Sgblack@eecs.umich.edu 2505081Sgblack@eecs.umich.edudef macroop ADC_P_I 2515081Sgblack@eecs.umich.edu{ 2525081Sgblack@eecs.umich.edu rdip t7 2535081Sgblack@eecs.umich.edu limm t2, imm 2545119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 2555081Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2565081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 2575081Sgblack@eecs.umich.edu}; 2585081Sgblack@eecs.umich.edu 2596083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_M_I 2606083Sgblack@eecs.umich.edu{ 2616083Sgblack@eecs.umich.edu limm t2, imm 2628610Snilay@cs.wisc.edu mfence 2636083Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2646083Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2656083Sgblack@eecs.umich.edu stul t1, seg, sib, disp 2668610Snilay@cs.wisc.edu mfence 2676083Sgblack@eecs.umich.edu}; 2686083Sgblack@eecs.umich.edu 2696083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_P_I 2706083Sgblack@eecs.umich.edu{ 2716083Sgblack@eecs.umich.edu rdip t7 2726083Sgblack@eecs.umich.edu limm t2, imm 2738610Snilay@cs.wisc.edu mfence 2746083Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 2756083Sgblack@eecs.umich.edu adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 2766083Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 2778610Snilay@cs.wisc.edu mfence 2786083Sgblack@eecs.umich.edu}; 2796083Sgblack@eecs.umich.edu 2805081Sgblack@eecs.umich.edudef macroop ADC_M_R 2815081Sgblack@eecs.umich.edu{ 2825119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 2835081Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2845081Sgblack@eecs.umich.edu st t1, seg, sib, disp 2855081Sgblack@eecs.umich.edu}; 2865081Sgblack@eecs.umich.edu 2875081Sgblack@eecs.umich.edudef macroop ADC_P_R 2885081Sgblack@eecs.umich.edu{ 2895081Sgblack@eecs.umich.edu rdip t7 2905119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 2915081Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 2925081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 2935081Sgblack@eecs.umich.edu}; 2945081Sgblack@eecs.umich.edu 2956083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_M_R 2966083Sgblack@eecs.umich.edu{ 2978610Snilay@cs.wisc.edu mfence 2986083Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 2996083Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3006083Sgblack@eecs.umich.edu stul t1, seg, sib, disp 3018610Snilay@cs.wisc.edu mfence 3026083Sgblack@eecs.umich.edu}; 3036083Sgblack@eecs.umich.edu 3046083Sgblack@eecs.umich.edudef macroop ADC_LOCKED_P_R 3056083Sgblack@eecs.umich.edu{ 3066083Sgblack@eecs.umich.edu rdip t7 3078610Snilay@cs.wisc.edu mfence 3086083Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 3096083Sgblack@eecs.umich.edu adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3106083Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 3118610Snilay@cs.wisc.edu mfence 3126083Sgblack@eecs.umich.edu}; 3136083Sgblack@eecs.umich.edu 3145081Sgblack@eecs.umich.edudef macroop ADC_R_M 3155081Sgblack@eecs.umich.edu{ 3165081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 3175081Sgblack@eecs.umich.edu adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3185081Sgblack@eecs.umich.edu}; 3195081Sgblack@eecs.umich.edu 3205081Sgblack@eecs.umich.edudef macroop ADC_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 adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3255081Sgblack@eecs.umich.edu}; 3265081Sgblack@eecs.umich.edu 3275081Sgblack@eecs.umich.edudef macroop SBB_R_R 3285081Sgblack@eecs.umich.edu{ 3295081Sgblack@eecs.umich.edu sbb reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 3305081Sgblack@eecs.umich.edu}; 3315081Sgblack@eecs.umich.edu 3325081Sgblack@eecs.umich.edudef macroop SBB_R_I 3335081Sgblack@eecs.umich.edu{ 3345081Sgblack@eecs.umich.edu limm t1, imm 3355081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3365081Sgblack@eecs.umich.edu}; 3375081Sgblack@eecs.umich.edu 3385081Sgblack@eecs.umich.edudef macroop SBB_R_M 3395081Sgblack@eecs.umich.edu{ 3405081Sgblack@eecs.umich.edu ld t1, seg, sib, disp 3415081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3425081Sgblack@eecs.umich.edu}; 3435081Sgblack@eecs.umich.edu 3445081Sgblack@eecs.umich.edudef macroop SBB_R_P 3455081Sgblack@eecs.umich.edu{ 3465081Sgblack@eecs.umich.edu rdip t7 3475081Sgblack@eecs.umich.edu ld t1, seg, riprel, disp 3485081Sgblack@eecs.umich.edu sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 3495081Sgblack@eecs.umich.edu}; 3505081Sgblack@eecs.umich.edu 3515081Sgblack@eecs.umich.edudef macroop SBB_M_I 3525081Sgblack@eecs.umich.edu{ 3535081Sgblack@eecs.umich.edu limm t2, imm 3545119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 3555081Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3565081Sgblack@eecs.umich.edu st t1, seg, sib, disp 3575081Sgblack@eecs.umich.edu}; 3585081Sgblack@eecs.umich.edu 3595081Sgblack@eecs.umich.edudef macroop SBB_P_I 3605081Sgblack@eecs.umich.edu{ 3615081Sgblack@eecs.umich.edu rdip t7 3625081Sgblack@eecs.umich.edu limm t2, imm 3635119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 3645081Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3655081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 3665081Sgblack@eecs.umich.edu}; 3675081Sgblack@eecs.umich.edu 3686084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_M_I 3696084Sgblack@eecs.umich.edu{ 3706084Sgblack@eecs.umich.edu limm t2, imm 3718610Snilay@cs.wisc.edu mfence 3726084Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 3736084Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3746084Sgblack@eecs.umich.edu stul t1, seg, sib, disp 3758610Snilay@cs.wisc.edu mfence 3766084Sgblack@eecs.umich.edu}; 3776084Sgblack@eecs.umich.edu 3786084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_P_I 3796084Sgblack@eecs.umich.edu{ 3806084Sgblack@eecs.umich.edu rdip t7 3816084Sgblack@eecs.umich.edu limm t2, imm 3828610Snilay@cs.wisc.edu mfence 3836084Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 3846084Sgblack@eecs.umich.edu sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 3856084Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 3868610Snilay@cs.wisc.edu mfence 3876084Sgblack@eecs.umich.edu}; 3886084Sgblack@eecs.umich.edu 3895081Sgblack@eecs.umich.edudef macroop SBB_M_R 3905081Sgblack@eecs.umich.edu{ 3915119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 3925081Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 3935081Sgblack@eecs.umich.edu st t1, seg, sib, disp 3945081Sgblack@eecs.umich.edu}; 3955081Sgblack@eecs.umich.edu 3965081Sgblack@eecs.umich.edudef macroop SBB_P_R 3975081Sgblack@eecs.umich.edu{ 3985081Sgblack@eecs.umich.edu rdip t7 3995119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 4005081Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 4015081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 4025081Sgblack@eecs.umich.edu}; 4035081Sgblack@eecs.umich.edu 4046084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_M_R 4056084Sgblack@eecs.umich.edu{ 4068610Snilay@cs.wisc.edu mfence 4076084Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 4086084Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 4096084Sgblack@eecs.umich.edu stul t1, seg, sib, disp 4108610Snilay@cs.wisc.edu mfence 4116084Sgblack@eecs.umich.edu}; 4126084Sgblack@eecs.umich.edu 4136084Sgblack@eecs.umich.edudef macroop SBB_LOCKED_P_R 4146084Sgblack@eecs.umich.edu{ 4156084Sgblack@eecs.umich.edu rdip t7 4168610Snilay@cs.wisc.edu mfence 4176084Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 4186084Sgblack@eecs.umich.edu sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 4196084Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 4208610Snilay@cs.wisc.edu mfence 4216084Sgblack@eecs.umich.edu}; 4226084Sgblack@eecs.umich.edu 4235081Sgblack@eecs.umich.edudef macroop NEG_R 4245081Sgblack@eecs.umich.edu{ 4255081Sgblack@eecs.umich.edu sub reg, t0, reg, flags=(CF,OF,SF,ZF,AF,PF) 4265081Sgblack@eecs.umich.edu}; 4275081Sgblack@eecs.umich.edu 4285081Sgblack@eecs.umich.edudef macroop NEG_M 4295081Sgblack@eecs.umich.edu{ 4305119Sgblack@eecs.umich.edu ldst t1, seg, sib, disp 4315081Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4325081Sgblack@eecs.umich.edu st t1, seg, sib, disp 4335081Sgblack@eecs.umich.edu}; 4345081Sgblack@eecs.umich.edu 4355081Sgblack@eecs.umich.edudef macroop NEG_P 4365081Sgblack@eecs.umich.edu{ 4375081Sgblack@eecs.umich.edu rdip t7 4385119Sgblack@eecs.umich.edu ldst t1, seg, riprel, disp 4395081Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4405081Sgblack@eecs.umich.edu st t1, seg, riprel, disp 4415081Sgblack@eecs.umich.edu}; 4426090Sgblack@eecs.umich.edu 4436090Sgblack@eecs.umich.edudef macroop NEG_LOCKED_M 4446090Sgblack@eecs.umich.edu{ 4458610Snilay@cs.wisc.edu mfence 4466090Sgblack@eecs.umich.edu ldstl t1, seg, sib, disp 4476090Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4486090Sgblack@eecs.umich.edu stul t1, seg, sib, disp 4498610Snilay@cs.wisc.edu mfence 4506090Sgblack@eecs.umich.edu}; 4516090Sgblack@eecs.umich.edu 4526090Sgblack@eecs.umich.edudef macroop NEG_LOCKED_P 4536090Sgblack@eecs.umich.edu{ 4546090Sgblack@eecs.umich.edu rdip t7 4558610Snilay@cs.wisc.edu mfence 4566090Sgblack@eecs.umich.edu ldstl t1, seg, riprel, disp 4576090Sgblack@eecs.umich.edu sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 4586090Sgblack@eecs.umich.edu stul t1, seg, riprel, disp 4598610Snilay@cs.wisc.edu mfence 4606090Sgblack@eecs.umich.edu}; 4615081Sgblack@eecs.umich.edu''' 462