convert_floating_point_to_gpr_integer.py (6606:03fd282998d0) | convert_floating_point_to_gpr_integer.py (6799:36131e4dfb6e) |
---|---|
1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 41 unchanged lines hidden (view full) --- 50# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 51# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 52# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53# 54# Authors: Gabe Black 55 56microcode = ''' 57def macroop CVTSS2SI_R_XMM { | 1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 41 unchanged lines hidden (view full) --- 50# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 51# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 52# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53# 54# Authors: Gabe Black 55 56microcode = ''' 57def macroop CVTSS2SI_R_XMM { |
58 cvtf2i ufp1, xmmlm, srcSize=4, destSize=dsz, ext=(1 | 4) | 58 cvtf2i ufp1, xmmlm, srcSize=4, destSize=dsz, ext = Scalar + "| 4" |
59 mov2int reg, ufp1, size=dsz 60}; 61 62def macroop CVTSS2SI_R_M { 63 ldfp ufp1, seg, sib, disp, dataSize=8 | 59 mov2int reg, ufp1, size=dsz 60}; 61 62def macroop CVTSS2SI_R_M { 63 ldfp ufp1, seg, sib, disp, dataSize=8 |
64 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=(1 | 4) | 64 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext = Scalar + "| 4" |
65 mov2int reg, ufp1, size=dsz 66}; 67 68def macroop CVTSS2SI_R_P { 69 rdip t7 70 ldfp ufp1, seg, riprel, disp, dataSize=8 | 65 mov2int reg, ufp1, size=dsz 66}; 67 68def macroop CVTSS2SI_R_P { 69 rdip t7 70 ldfp ufp1, seg, riprel, disp, dataSize=8 |
71 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=(1 | 4) | 71 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext = Scalar + "| 4" |
72 mov2int reg, ufp1, size=dsz 73}; 74 75def macroop CVTSD2SI_R_XMM { | 72 mov2int reg, ufp1, size=dsz 73}; 74 75def macroop CVTSD2SI_R_XMM { |
76 cvtf2i ufp1, xmmlm, srcSize=8, destSize=dsz, ext=(1 | 4) | 76 cvtf2i ufp1, xmmlm, srcSize=8, destSize=dsz, ext = Scalar + "| 4" |
77 mov2int reg, ufp1, size=dsz 78}; 79 80def macroop CVTSD2SI_R_M { 81 ldfp ufp1, seg, sib, disp, dataSize=8 | 77 mov2int reg, ufp1, size=dsz 78}; 79 80def macroop CVTSD2SI_R_M { 81 ldfp ufp1, seg, sib, disp, dataSize=8 |
82 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=(1 | 4) | 82 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext = Scalar + "| 4" |
83 mov2int reg, ufp1, size=dsz 84}; 85 86def macroop CVTSD2SI_R_P { 87 rdip t7 88 ldfp ufp1, seg, riprel, disp, dataSize=8 | 83 mov2int reg, ufp1, size=dsz 84}; 85 86def macroop CVTSD2SI_R_P { 87 rdip t7 88 ldfp ufp1, seg, riprel, disp, dataSize=8 |
89 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=(1 | 4) | 89 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext = Scalar + "| 4" |
90 mov2int reg, ufp1, size=dsz 91}; 92 93def macroop CVTTSS2SI_R_XMM { | 90 mov2int reg, ufp1, size=dsz 91}; 92 93def macroop CVTTSS2SI_R_XMM { |
94 cvtf2i ufp1, xmmlm, srcSize=4, destSize=dsz, ext=1 | 94 cvtf2i ufp1, xmmlm, srcSize=4, destSize=dsz, ext=Scalar |
95 mov2int reg, ufp1, size=dsz 96}; 97 98def macroop CVTTSS2SI_R_M { 99 ldfp ufp1, seg, sib, disp, dataSize=8 | 95 mov2int reg, ufp1, size=dsz 96}; 97 98def macroop CVTTSS2SI_R_M { 99 ldfp ufp1, seg, sib, disp, dataSize=8 |
100 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=1 | 100 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=Scalar |
101 mov2int reg, ufp1, size=dsz 102}; 103 104def macroop CVTTSS2SI_R_P { 105 rdip t7 106 ldfp ufp1, seg, riprel, disp, dataSize=8 | 101 mov2int reg, ufp1, size=dsz 102}; 103 104def macroop CVTTSS2SI_R_P { 105 rdip t7 106 ldfp ufp1, seg, riprel, disp, dataSize=8 |
107 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=1 | 107 cvtf2i ufp1, ufp1, srcSize=4, destSize=dsz, ext=Scalar |
108 mov2int reg, ufp1, size=dsz 109}; 110 111def macroop CVTTSD2SI_R_XMM { | 108 mov2int reg, ufp1, size=dsz 109}; 110 111def macroop CVTTSD2SI_R_XMM { |
112 cvtf2i ufp1, xmmlm, srcSize=8, destSize=dsz, ext=1 | 112 cvtf2i ufp1, xmmlm, srcSize=8, destSize=dsz, ext=Scalar |
113 mov2int reg, ufp1, size=dsz 114}; 115 116def macroop CVTTSD2SI_R_M { 117 ldfp ufp1, seg, sib, disp, dataSize=8 | 113 mov2int reg, ufp1, size=dsz 114}; 115 116def macroop CVTTSD2SI_R_M { 117 ldfp ufp1, seg, sib, disp, dataSize=8 |
118 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=1 | 118 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=Scalar |
119 mov2int reg, ufp1, size=dsz 120}; 121 122def macroop CVTTSD2SI_R_P { 123 rdip t7 124 ldfp ufp1, seg, riprel, disp, dataSize=8 | 119 mov2int reg, ufp1, size=dsz 120}; 121 122def macroop CVTTSD2SI_R_P { 123 rdip t7 124 ldfp ufp1, seg, riprel, disp, dataSize=8 |
125 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=1 | 125 cvtf2i ufp1, ufp1, srcSize=8, destSize=dsz, ext=Scalar |
126 mov2int reg, ufp1, size=dsz 127}; 128''' | 126 mov2int reg, ufp1, size=dsz 127}; 128''' |