add_and_subtract.py revision 6086:2ac9ab003d54
111308Santhony.gutierrez@amd.com# Copyright (c) 2007 The Hewlett-Packard Development Company 211308Santhony.gutierrez@amd.com# All rights reserved. 311308Santhony.gutierrez@amd.com# 411308Santhony.gutierrez@amd.com# Redistribution and use of this software in source and binary forms, 511308Santhony.gutierrez@amd.com# with or without modification, are permitted provided that the 611308Santhony.gutierrez@amd.com# following conditions are met: 711308Santhony.gutierrez@amd.com# 811308Santhony.gutierrez@amd.com# The software must be used only for Non-Commercial Use which means any 911308Santhony.gutierrez@amd.com# use which is NOT directed to receiving any direct monetary 1011308Santhony.gutierrez@amd.com# compensation for, or commercial advantage from such use. Illustrative 1111308Santhony.gutierrez@amd.com# examples of non-commercial use are academic research, personal study, 1211308Santhony.gutierrez@amd.com# teaching, education and corporate research & development. 1311308Santhony.gutierrez@amd.com# Illustrative examples of commercial use are distributing products for 1411308Santhony.gutierrez@amd.com# commercial advantage and providing services using the software for 1511308Santhony.gutierrez@amd.com# commercial advantage. 1611308Santhony.gutierrez@amd.com# 1711308Santhony.gutierrez@amd.com# If you wish to use this software or functionality therein that may be 1811308Santhony.gutierrez@amd.com# covered by patents for commercial use, please contact: 1911308Santhony.gutierrez@amd.com# Director of Intellectual Property Licensing 2011308Santhony.gutierrez@amd.com# Office of Strategy and Technology 2111308Santhony.gutierrez@amd.com# Hewlett-Packard Company 2211308Santhony.gutierrez@amd.com# 1501 Page Mill Road 2311308Santhony.gutierrez@amd.com# Palo Alto, California 94304 2411308Santhony.gutierrez@amd.com# 2511308Santhony.gutierrez@amd.com# Redistributions of source code must retain the above copyright notice, 2611308Santhony.gutierrez@amd.com# this list of conditions and the following disclaimer. Redistributions 2711308Santhony.gutierrez@amd.com# in binary form must reproduce the above copyright notice, this list of 2811308Santhony.gutierrez@amd.com# conditions and the following disclaimer in the documentation and/or 2911308Santhony.gutierrez@amd.com# other materials provided with the distribution. Neither the name of 3011308Santhony.gutierrez@amd.com# the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its 3111308Santhony.gutierrez@amd.com# contributors may be used to endorse or promote products derived from 3211308Santhony.gutierrez@amd.com# this software without specific prior written permission. No right of 3311308Santhony.gutierrez@amd.com# sublicense is granted herewith. Derivatives of the software and 3411308Santhony.gutierrez@amd.com# output created using the software may be prepared, but only for 3511308Santhony.gutierrez@amd.com# Non-Commercial Uses. Derivatives of the software may be shared with 3611308Santhony.gutierrez@amd.com# others provided: (i) the others agree to abide by the list of 3711308Santhony.gutierrez@amd.com# conditions herein which includes the Non-Commercial Use restrictions; 3811308Santhony.gutierrez@amd.com# and (ii) such Derivatives of the software include the above copyright 3911308Santhony.gutierrez@amd.com# notice to acknowledge the contribution from this software where 4011308Santhony.gutierrez@amd.com# applicable, this list of conditions and the disclaimer below. 4111308Santhony.gutierrez@amd.com# 4211670Sandreas.hansson@arm.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 4311308Santhony.gutierrez@amd.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 4411670Sandreas.hansson@arm.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 4511682Sandreas.hansson@arm.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 4611682Sandreas.hansson@arm.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 4711308Santhony.gutierrez@amd.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 4811308Santhony.gutierrez@amd.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 4911308Santhony.gutierrez@amd.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 5011308Santhony.gutierrez@amd.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 5111308Santhony.gutierrez@amd.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 5211308Santhony.gutierrez@amd.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 5311308Santhony.gutierrez@amd.com# 5411308Santhony.gutierrez@amd.com# Authors: Gabe Black 5511308Santhony.gutierrez@amd.com 5611308Santhony.gutierrez@amd.commicrocode = ''' 5711308Santhony.gutierrez@amd.comdef macroop ADD_R_R 5811308Santhony.gutierrez@amd.com{ 5911308Santhony.gutierrez@amd.com add reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 6011308Santhony.gutierrez@amd.com}; 6111308Santhony.gutierrez@amd.com 6211308Santhony.gutierrez@amd.comdef macroop ADD_R_I 6311308Santhony.gutierrez@amd.com{ 6411308Santhony.gutierrez@amd.com limm t1, imm 6511308Santhony.gutierrez@amd.com add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 6611308Santhony.gutierrez@amd.com}; 6711308Santhony.gutierrez@amd.com 6811308Santhony.gutierrez@amd.comdef macroop ADD_M_I 6911308Santhony.gutierrez@amd.com{ 7011308Santhony.gutierrez@amd.com limm t2, imm 7111308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 7211308Santhony.gutierrez@amd.com add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 7311308Santhony.gutierrez@amd.com st t1, seg, sib, disp 7411308Santhony.gutierrez@amd.com}; 7511308Santhony.gutierrez@amd.com 7611308Santhony.gutierrez@amd.comdef macroop ADD_P_I 7711308Santhony.gutierrez@amd.com{ 7811308Santhony.gutierrez@amd.com rdip t7 7911308Santhony.gutierrez@amd.com limm t2, imm 8011308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 8111308Santhony.gutierrez@amd.com add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 8211308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 8311308Santhony.gutierrez@amd.com}; 8411308Santhony.gutierrez@amd.com 8511308Santhony.gutierrez@amd.comdef macroop ADD_LOCKED_M_I 8611308Santhony.gutierrez@amd.com{ 8711308Santhony.gutierrez@amd.com limm t2, imm 8811308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 8911308Santhony.gutierrez@amd.com add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 9011310SBrad.Beckmann@amd.com stul t1, seg, sib, disp 9111308Santhony.gutierrez@amd.com}; 9211308Santhony.gutierrez@amd.com 9311308Santhony.gutierrez@amd.comdef macroop ADD_LOCKED_P_I 9411308Santhony.gutierrez@amd.com{ 9511308Santhony.gutierrez@amd.com rdip t7 9611308Santhony.gutierrez@amd.com limm t2, imm 9711308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 9811308Santhony.gutierrez@amd.com add t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 9911308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 10011308Santhony.gutierrez@amd.com}; 10111308Santhony.gutierrez@amd.com 10211308Santhony.gutierrez@amd.comdef macroop ADD_M_R 10311308Santhony.gutierrez@amd.com{ 10411308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 10511308Santhony.gutierrez@amd.com add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 10611308Santhony.gutierrez@amd.com st t1, seg, sib, disp 10711308Santhony.gutierrez@amd.com}; 10811308Santhony.gutierrez@amd.com 10911308Santhony.gutierrez@amd.comdef macroop ADD_P_R 11011308Santhony.gutierrez@amd.com{ 11111308Santhony.gutierrez@amd.com rdip t7 11211308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 11311308Santhony.gutierrez@amd.com add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 11411308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 11511308Santhony.gutierrez@amd.com}; 11611308Santhony.gutierrez@amd.com 11711308Santhony.gutierrez@amd.comdef macroop ADD_LOCKED_M_R 11811308Santhony.gutierrez@amd.com{ 11911308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 12011308Santhony.gutierrez@amd.com add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 12111308Santhony.gutierrez@amd.com stul t1, seg, sib, disp 12211308Santhony.gutierrez@amd.com}; 12311308Santhony.gutierrez@amd.com 12411308Santhony.gutierrez@amd.comdef macroop ADD_LOCKED_P_R 12511308Santhony.gutierrez@amd.com{ 12611308Santhony.gutierrez@amd.com rdip t7 12711308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 12811308Santhony.gutierrez@amd.com add t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 12911308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 13011308Santhony.gutierrez@amd.com}; 13111308Santhony.gutierrez@amd.com 13211308Santhony.gutierrez@amd.comdef macroop ADD_R_M 13311308Santhony.gutierrez@amd.com{ 13411308Santhony.gutierrez@amd.com ld t1, seg, sib, disp 13511308Santhony.gutierrez@amd.com add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 13611308Santhony.gutierrez@amd.com}; 13711308Santhony.gutierrez@amd.com 13811308Santhony.gutierrez@amd.comdef macroop ADD_R_P 13911308Santhony.gutierrez@amd.com{ 14011308Santhony.gutierrez@amd.com rdip t7 14111308Santhony.gutierrez@amd.com ld t1, seg, riprel, disp 14211308Santhony.gutierrez@amd.com add reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 14311308Santhony.gutierrez@amd.com}; 14411308Santhony.gutierrez@amd.com 14511308Santhony.gutierrez@amd.comdef macroop SUB_R_R 14611308Santhony.gutierrez@amd.com{ 14711308Santhony.gutierrez@amd.com sub reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 14811308Santhony.gutierrez@amd.com}; 14911308Santhony.gutierrez@amd.com 15011308Santhony.gutierrez@amd.comdef macroop SUB_R_I 15111308Santhony.gutierrez@amd.com{ 15211308Santhony.gutierrez@amd.com limm t1, imm 15311308Santhony.gutierrez@amd.com sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 15411308Santhony.gutierrez@amd.com}; 15511308Santhony.gutierrez@amd.com 15611308Santhony.gutierrez@amd.comdef macroop SUB_R_M 15711308Santhony.gutierrez@amd.com{ 15811308Santhony.gutierrez@amd.com ld t1, seg, sib, disp 15911308Santhony.gutierrez@amd.com sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 16011308Santhony.gutierrez@amd.com}; 16111308Santhony.gutierrez@amd.com 16211308Santhony.gutierrez@amd.comdef macroop SUB_R_P 16311308Santhony.gutierrez@amd.com{ 16411308Santhony.gutierrez@amd.com rdip t7 16511308Santhony.gutierrez@amd.com ld t1, seg, riprel, disp 16611308Santhony.gutierrez@amd.com sub reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 16711308Santhony.gutierrez@amd.com}; 16811308Santhony.gutierrez@amd.com 16911308Santhony.gutierrez@amd.comdef macroop SUB_M_I 17011308Santhony.gutierrez@amd.com{ 17111308Santhony.gutierrez@amd.com limm t2, imm 17211308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 17311308Santhony.gutierrez@amd.com sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 17411308Santhony.gutierrez@amd.com st t1, seg, sib, disp 17511308Santhony.gutierrez@amd.com}; 17611308Santhony.gutierrez@amd.com 17711308Santhony.gutierrez@amd.comdef macroop SUB_P_I 17811308Santhony.gutierrez@amd.com{ 17911308Santhony.gutierrez@amd.com rdip t7 18011308Santhony.gutierrez@amd.com limm t2, imm 18111308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 18211308Santhony.gutierrez@amd.com sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 18311308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 18411308Santhony.gutierrez@amd.com}; 18511308Santhony.gutierrez@amd.com 18611308Santhony.gutierrez@amd.comdef macroop SUB_LOCKED_M_I 18711308Santhony.gutierrez@amd.com{ 18811308Santhony.gutierrez@amd.com limm t2, imm 18911308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 19011308Santhony.gutierrez@amd.com sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 19111308Santhony.gutierrez@amd.com stul t1, seg, sib, disp 19211308Santhony.gutierrez@amd.com}; 19311308Santhony.gutierrez@amd.com 19411308Santhony.gutierrez@amd.comdef macroop SUB_LOCKED_P_I 19511308Santhony.gutierrez@amd.com{ 19611308Santhony.gutierrez@amd.com rdip t7 19711308Santhony.gutierrez@amd.com limm t2, imm 19811308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 19911308Santhony.gutierrez@amd.com sub t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 20011308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 20111308Santhony.gutierrez@amd.com}; 20211308Santhony.gutierrez@amd.com 20311308Santhony.gutierrez@amd.comdef macroop SUB_M_R 20411308Santhony.gutierrez@amd.com{ 20511308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 20611308Santhony.gutierrez@amd.com sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 20711308Santhony.gutierrez@amd.com st t1, seg, sib, disp 20811308Santhony.gutierrez@amd.com}; 20911308Santhony.gutierrez@amd.com 21011308Santhony.gutierrez@amd.comdef macroop SUB_P_R 21111308Santhony.gutierrez@amd.com{ 21211308Santhony.gutierrez@amd.com rdip t7 21311308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 21411308Santhony.gutierrez@amd.com sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 21511308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 21611308Santhony.gutierrez@amd.com}; 21711308Santhony.gutierrez@amd.com 21811308Santhony.gutierrez@amd.comdef macroop SUB_LOCKED_M_R 21911308Santhony.gutierrez@amd.com{ 22011308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 22111308Santhony.gutierrez@amd.com sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 22211308Santhony.gutierrez@amd.com stul t1, seg, sib, disp 22311308Santhony.gutierrez@amd.com}; 22411308Santhony.gutierrez@amd.com 22511308Santhony.gutierrez@amd.comdef macroop SUB_LOCKED_P_R 22611308Santhony.gutierrez@amd.com{ 22711308Santhony.gutierrez@amd.com rdip t7 22811308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 22911308Santhony.gutierrez@amd.com sub t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 23011308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 23111308Santhony.gutierrez@amd.com}; 23211308Santhony.gutierrez@amd.com 23311308Santhony.gutierrez@amd.comdef macroop ADC_R_R 23411308Santhony.gutierrez@amd.com{ 23511308Santhony.gutierrez@amd.com adc reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 23611308Santhony.gutierrez@amd.com}; 23711308Santhony.gutierrez@amd.com 23811308Santhony.gutierrez@amd.comdef macroop ADC_R_I 23911308Santhony.gutierrez@amd.com{ 24011308Santhony.gutierrez@amd.com limm t1, imm 24111308Santhony.gutierrez@amd.com adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 24211308Santhony.gutierrez@amd.com}; 24311308Santhony.gutierrez@amd.com 24411308Santhony.gutierrez@amd.comdef macroop ADC_M_I 24511308Santhony.gutierrez@amd.com{ 24611308Santhony.gutierrez@amd.com limm t2, imm 24711308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 24811308Santhony.gutierrez@amd.com adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 24911308Santhony.gutierrez@amd.com st t1, seg, sib, disp 25011308Santhony.gutierrez@amd.com}; 25111308Santhony.gutierrez@amd.com 25211308Santhony.gutierrez@amd.comdef macroop ADC_P_I 25311308Santhony.gutierrez@amd.com{ 25411308Santhony.gutierrez@amd.com rdip t7 25511308Santhony.gutierrez@amd.com limm t2, imm 25611308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 25711308Santhony.gutierrez@amd.com adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 25811308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 25911308Santhony.gutierrez@amd.com}; 26011308Santhony.gutierrez@amd.com 26111308Santhony.gutierrez@amd.comdef macroop ADC_LOCKED_M_I 26211308Santhony.gutierrez@amd.com{ 26311308Santhony.gutierrez@amd.com limm t2, imm 26411308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 26511308Santhony.gutierrez@amd.com adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 26611308Santhony.gutierrez@amd.com stul t1, seg, sib, disp 26711308Santhony.gutierrez@amd.com}; 26811308Santhony.gutierrez@amd.com 26911308Santhony.gutierrez@amd.comdef macroop ADC_LOCKED_P_I 27011308Santhony.gutierrez@amd.com{ 27111308Santhony.gutierrez@amd.com rdip t7 27211308Santhony.gutierrez@amd.com limm t2, imm 27311308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 27411308Santhony.gutierrez@amd.com adc t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 27511308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 27611308Santhony.gutierrez@amd.com}; 27711308Santhony.gutierrez@amd.com 27811308Santhony.gutierrez@amd.comdef macroop ADC_M_R 27911308Santhony.gutierrez@amd.com{ 28011308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 28111308Santhony.gutierrez@amd.com adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 28211308Santhony.gutierrez@amd.com st t1, seg, sib, disp 28311308Santhony.gutierrez@amd.com}; 28411308Santhony.gutierrez@amd.com 28511308Santhony.gutierrez@amd.comdef macroop ADC_P_R 28611308Santhony.gutierrez@amd.com{ 28711308Santhony.gutierrez@amd.com rdip t7 28811308Santhony.gutierrez@amd.com ldst t1, seg, riprel, disp 28911308Santhony.gutierrez@amd.com adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 29011308Santhony.gutierrez@amd.com st t1, seg, riprel, disp 29111308Santhony.gutierrez@amd.com}; 29211308Santhony.gutierrez@amd.com 29311308Santhony.gutierrez@amd.comdef macroop ADC_LOCKED_M_R 29411308Santhony.gutierrez@amd.com{ 29511308Santhony.gutierrez@amd.com ldstl t1, seg, sib, disp 29611308Santhony.gutierrez@amd.com adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 29711308Santhony.gutierrez@amd.com stul t1, seg, sib, disp 29811308Santhony.gutierrez@amd.com}; 29911308Santhony.gutierrez@amd.com 30011308Santhony.gutierrez@amd.comdef macroop ADC_LOCKED_P_R 30111308Santhony.gutierrez@amd.com{ 30211308Santhony.gutierrez@amd.com rdip t7 30311308Santhony.gutierrez@amd.com ldstl t1, seg, riprel, disp 30411308Santhony.gutierrez@amd.com adc t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 30511308Santhony.gutierrez@amd.com stul t1, seg, riprel, disp 30611310SBrad.Beckmann@amd.com}; 30711308Santhony.gutierrez@amd.com 30811308Santhony.gutierrez@amd.comdef macroop ADC_R_M 30911308Santhony.gutierrez@amd.com{ 31011308Santhony.gutierrez@amd.com ld t1, seg, sib, disp 31111308Santhony.gutierrez@amd.com adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 31211308Santhony.gutierrez@amd.com}; 31311308Santhony.gutierrez@amd.com 31411308Santhony.gutierrez@amd.comdef macroop ADC_R_P 31511308Santhony.gutierrez@amd.com{ 31611308Santhony.gutierrez@amd.com rdip t7 31711308Santhony.gutierrez@amd.com ld t1, seg, riprel, disp 31811308Santhony.gutierrez@amd.com adc reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 31911308Santhony.gutierrez@amd.com}; 32011308Santhony.gutierrez@amd.com 32111308Santhony.gutierrez@amd.comdef macroop SBB_R_R 32211308Santhony.gutierrez@amd.com{ 32311308Santhony.gutierrez@amd.com sbb reg, reg, regm, flags=(OF,SF,ZF,AF,PF,CF) 32411310SBrad.Beckmann@amd.com}; 32511310SBrad.Beckmann@amd.com 32611308Santhony.gutierrez@amd.comdef macroop SBB_R_I 32711308Santhony.gutierrez@amd.com{ 32811308Santhony.gutierrez@amd.com limm t1, imm 32911308Santhony.gutierrez@amd.com sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 33011308Santhony.gutierrez@amd.com}; 33111308Santhony.gutierrez@amd.com 33211308Santhony.gutierrez@amd.comdef macroop SBB_R_M 33311308Santhony.gutierrez@amd.com{ 33411308Santhony.gutierrez@amd.com ld t1, seg, sib, disp 33511308Santhony.gutierrez@amd.com sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 33611308Santhony.gutierrez@amd.com}; 33711308Santhony.gutierrez@amd.com 33811308Santhony.gutierrez@amd.comdef macroop SBB_R_P 33911308Santhony.gutierrez@amd.com{ 34011308Santhony.gutierrez@amd.com rdip t7 34111308Santhony.gutierrez@amd.com ld t1, seg, riprel, disp 34211308Santhony.gutierrez@amd.com sbb reg, reg, t1, flags=(OF,SF,ZF,AF,PF,CF) 34311308Santhony.gutierrez@amd.com}; 34411308Santhony.gutierrez@amd.com 34511308Santhony.gutierrez@amd.comdef macroop SBB_M_I 34611308Santhony.gutierrez@amd.com{ 34711308Santhony.gutierrez@amd.com limm t2, imm 34811308Santhony.gutierrez@amd.com ldst t1, seg, sib, disp 34911308Santhony.gutierrez@amd.com sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 350 st t1, seg, sib, disp 351}; 352 353def macroop SBB_P_I 354{ 355 rdip t7 356 limm t2, imm 357 ldst t1, seg, riprel, disp 358 sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 359 st t1, seg, riprel, disp 360}; 361 362def macroop SBB_LOCKED_M_I 363{ 364 limm t2, imm 365 ldstl t1, seg, sib, disp 366 sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 367 stul t1, seg, sib, disp 368}; 369 370def macroop SBB_LOCKED_P_I 371{ 372 rdip t7 373 limm t2, imm 374 ldstl t1, seg, riprel, disp 375 sbb t1, t1, t2, flags=(OF,SF,ZF,AF,PF,CF) 376 stul t1, seg, riprel, disp 377}; 378 379def macroop SBB_M_R 380{ 381 ldst t1, seg, sib, disp 382 sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 383 st t1, seg, sib, disp 384}; 385 386def macroop SBB_P_R 387{ 388 rdip t7 389 ldst t1, seg, riprel, disp 390 sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 391 st t1, seg, riprel, disp 392}; 393 394def macroop SBB_LOCKED_M_R 395{ 396 ldstl t1, seg, sib, disp 397 sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 398 stul t1, seg, sib, disp 399}; 400 401def macroop SBB_LOCKED_P_R 402{ 403 rdip t7 404 ldstl t1, seg, riprel, disp 405 sbb t1, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 406 stul t1, seg, riprel, disp 407}; 408 409def macroop NEG_R 410{ 411 sub reg, t0, reg, flags=(CF,OF,SF,ZF,AF,PF) 412}; 413 414def macroop NEG_M 415{ 416 ldst t1, seg, sib, disp 417 sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 418 st t1, seg, sib, disp 419}; 420 421def macroop NEG_P 422{ 423 rdip t7 424 ldst t1, seg, riprel, disp 425 sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF) 426 st t1, seg, riprel, disp 427}; 428''' 429