move.py revision 6518:1ad4a7774b3c
17202Sgblack@eecs.umich.edu# Copyright (c) 2007 The Hewlett-Packard Development Company 27202Sgblack@eecs.umich.edu# All rights reserved. 37202Sgblack@eecs.umich.edu# 47202Sgblack@eecs.umich.edu# Redistribution and use of this software in source and binary forms, 57202Sgblack@eecs.umich.edu# with or without modification, are permitted provided that the 67202Sgblack@eecs.umich.edu# following conditions are met: 77202Sgblack@eecs.umich.edu# 87202Sgblack@eecs.umich.edu# The software must be used only for Non-Commercial Use which means any 97202Sgblack@eecs.umich.edu# use which is NOT directed to receiving any direct monetary 107202Sgblack@eecs.umich.edu# compensation for, or commercial advantage from such use. Illustrative 117202Sgblack@eecs.umich.edu# examples of non-commercial use are academic research, personal study, 127202Sgblack@eecs.umich.edu# teaching, education and corporate research & development. 137202Sgblack@eecs.umich.edu# Illustrative examples of commercial use are distributing products for 147202Sgblack@eecs.umich.edu# commercial advantage and providing services using the software for 157202Sgblack@eecs.umich.edu# commercial advantage. 167202Sgblack@eecs.umich.edu# 177202Sgblack@eecs.umich.edu# If you wish to use this software or functionality therein that may be 187202Sgblack@eecs.umich.edu# covered by patents for commercial use, please contact: 197202Sgblack@eecs.umich.edu# Director of Intellectual Property Licensing 207202Sgblack@eecs.umich.edu# Office of Strategy and Technology 217202Sgblack@eecs.umich.edu# Hewlett-Packard Company 227202Sgblack@eecs.umich.edu# 1501 Page Mill Road 237202Sgblack@eecs.umich.edu# Palo Alto, California 94304 247202Sgblack@eecs.umich.edu# 257202Sgblack@eecs.umich.edu# Redistributions of source code must retain the above copyright notice, 267202Sgblack@eecs.umich.edu# this list of conditions and the following disclaimer. Redistributions 277202Sgblack@eecs.umich.edu# in binary form must reproduce the above copyright notice, this list of 287202Sgblack@eecs.umich.edu# conditions and the following disclaimer in the documentation and/or 297202Sgblack@eecs.umich.edu# other materials provided with the distribution. Neither the name of 307202Sgblack@eecs.umich.edu# the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its 317202Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from 327202Sgblack@eecs.umich.edu# this software without specific prior written permission. No right of 337202Sgblack@eecs.umich.edu# sublicense is granted herewith. Derivatives of the software and 347202Sgblack@eecs.umich.edu# output created using the software may be prepared, but only for 357202Sgblack@eecs.umich.edu# Non-Commercial Uses. Derivatives of the software may be shared with 367202Sgblack@eecs.umich.edu# others provided: (i) the others agree to abide by the list of 377202Sgblack@eecs.umich.edu# conditions herein which includes the Non-Commercial Use restrictions; 387202Sgblack@eecs.umich.edu# and (ii) such Derivatives of the software include the above copyright 397202Sgblack@eecs.umich.edu# notice to acknowledge the contribution from this software where 407202Sgblack@eecs.umich.edu# applicable, this list of conditions and the disclaimer below. 417202Sgblack@eecs.umich.edu# 427202Sgblack@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 437202Sgblack@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 447202Sgblack@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 457202Sgblack@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 467202Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 477202Sgblack@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 487202Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 497202Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 507202Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 517202Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 527202Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 537202Sgblack@eecs.umich.edu# 547202Sgblack@eecs.umich.edu# Authors: Gabe Black 557202Sgblack@eecs.umich.edu 567202Sgblack@eecs.umich.edumicrocode = ''' 577202Sgblack@eecs.umich.edudef macroop MOVAPS_XMM_M { 587202Sgblack@eecs.umich.edu # Check low address. 597202Sgblack@eecs.umich.edu ldfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8 607202Sgblack@eecs.umich.edu ldfp xmml, seg, sib, disp, dataSize=8 617202Sgblack@eecs.umich.edu}; 627202Sgblack@eecs.umich.edu 637202Sgblack@eecs.umich.edudef macroop MOVAPS_XMM_P { 647202Sgblack@eecs.umich.edu rdip t7 657202Sgblack@eecs.umich.edu # Check low address. 667202Sgblack@eecs.umich.edu ldfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8 677202Sgblack@eecs.umich.edu ldfp xmml, seg, riprel, disp, dataSize=8 687202Sgblack@eecs.umich.edu}; 697202Sgblack@eecs.umich.edu 707202Sgblack@eecs.umich.edudef macroop MOVAPS_M_XMM { 717202Sgblack@eecs.umich.edu # Check low address. 727202Sgblack@eecs.umich.edu stfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8 737202Sgblack@eecs.umich.edu stfp xmml, seg, sib, disp, dataSize=8 747202Sgblack@eecs.umich.edu}; 757202Sgblack@eecs.umich.edu 767202Sgblack@eecs.umich.edudef macroop MOVAPS_P_XMM { 777202Sgblack@eecs.umich.edu rdip t7 787202Sgblack@eecs.umich.edu # Check low address. 797202Sgblack@eecs.umich.edu stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8 807202Sgblack@eecs.umich.edu stfp xmml, seg, riprel, disp, dataSize=8 817202Sgblack@eecs.umich.edu}; 827202Sgblack@eecs.umich.edu 837202Sgblack@eecs.umich.edudef macroop MOVAPS_XMM_XMM { 847202Sgblack@eecs.umich.edu # Check low address. 857202Sgblack@eecs.umich.edu movfp xmml, xmmlm, dataSize=8 867202Sgblack@eecs.umich.edu movfp xmmh, xmmhm, dataSize=8 877202Sgblack@eecs.umich.edu}; 887202Sgblack@eecs.umich.edu 897202Sgblack@eecs.umich.edu# MOVAPD 907202Sgblack@eecs.umich.edu# MOVUPS 917202Sgblack@eecs.umich.edu# MOVUPD 927202Sgblack@eecs.umich.edu# MOVHPS 937202Sgblack@eecs.umich.edu# MOVHPD 947202Sgblack@eecs.umich.edu# MOVLPS 957202Sgblack@eecs.umich.edu 967202Sgblack@eecs.umich.edudef macroop MOVLPD_XMM_M { 977202Sgblack@eecs.umich.edu ldfp xmml, seg, sib, disp, dataSize=8 987202Sgblack@eecs.umich.edu}; 997202Sgblack@eecs.umich.edu 1007202Sgblack@eecs.umich.edudef macroop MOVLPD_XMM_P { 1017208Sgblack@eecs.umich.edu rdip t7 1027208Sgblack@eecs.umich.edu ldfp xmml, seg, riprel, disp, dataSize=8 1037208Sgblack@eecs.umich.edu}; 1047208Sgblack@eecs.umich.edu 1057208Sgblack@eecs.umich.edudef macroop MOVLPD_M_XMM { 1067208Sgblack@eecs.umich.edu stfp xmml, seg, sib, disp, dataSize=8 1077208Sgblack@eecs.umich.edu}; 1087208Sgblack@eecs.umich.edu 1097208Sgblack@eecs.umich.edudef macroop MOVLPD_P_XMM { 1107208Sgblack@eecs.umich.edu rdip t7 1117208Sgblack@eecs.umich.edu stfp xmml, seg, riprel, disp, dataSize=8 1127208Sgblack@eecs.umich.edu}; 1137208Sgblack@eecs.umich.edu 1147208Sgblack@eecs.umich.edudef macroop MOVLPD_XMM_XMM { 1157208Sgblack@eecs.umich.edu movfp xmml, xmmlm, dataSize=8 1167208Sgblack@eecs.umich.edu}; 1177208Sgblack@eecs.umich.edu 1187208Sgblack@eecs.umich.edu# MOVHLPS 1197208Sgblack@eecs.umich.edu# MOVLHPS 1207208Sgblack@eecs.umich.edu# MOVSS 1217208Sgblack@eecs.umich.edu 1227225Sgblack@eecs.umich.edudef macroop MOVSD_XMM_M { 1237233Sgblack@eecs.umich.edu # Zero xmmh 1247233Sgblack@eecs.umich.edu ldfp xmml, seg, sib, disp, dataSize=8 1257233Sgblack@eecs.umich.edu}; 1267233Sgblack@eecs.umich.edu 1277233Sgblack@eecs.umich.edudef macroop MOVSD_XMM_P { 1287233Sgblack@eecs.umich.edu rdip t7 1297233Sgblack@eecs.umich.edu # Zero xmmh 1307233Sgblack@eecs.umich.edu ldfp xmml, seg, riprel, disp, dataSize=8 1317233Sgblack@eecs.umich.edu}; 1327233Sgblack@eecs.umich.edu 1337233Sgblack@eecs.umich.edudef macroop MOVSD_M_XMM { 1347233Sgblack@eecs.umich.edu stfp xmml, seg, sib, disp, dataSize=8 1357233Sgblack@eecs.umich.edu}; 1367233Sgblack@eecs.umich.edu 1377233Sgblack@eecs.umich.edudef macroop MOVSD_P_XMM { 1387233Sgblack@eecs.umich.edu rdip t7 1397233Sgblack@eecs.umich.edu stfp xmml, seg, riprel, disp, dataSize=8 1407233Sgblack@eecs.umich.edu}; 1417233Sgblack@eecs.umich.edu 1427233Sgblack@eecs.umich.edudef macroop MOVSD_XMM_XMM { 1437233Sgblack@eecs.umich.edu movfp xmml, xmmlm, dataSize=8 1447233Sgblack@eecs.umich.edu}; 1457233Sgblack@eecs.umich.edu''' 1467233Sgblack@eecs.umich.edu