unpack_and_interleave.py (6533:2977e2e2dc27) | unpack_and_interleave.py (6545:9c68aea7b1e6) |
---|---|
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 PUNPCKLBW_XMM_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 PUNPCKLBW_XMM_XMM { |
58 unpack xmmh, xmml, xmmlm, sel=1, size=1 59 unpack xmml, xmml, xmmlm, sel=0, size=1 | 58 unpack xmmh, xmml, xmmlm, ext=1, size=1 59 unpack xmml, xmml, xmmlm, ext=0, size=1 |
60}; 61 62def macroop PUNPCKLBW_XMM_M { 63 ldfp ufp1, seg, sib, disp, dataSize=8 | 60}; 61 62def macroop PUNPCKLBW_XMM_M { 63 ldfp ufp1, seg, sib, disp, dataSize=8 |
64 unpack xmmh, xmml, ufp1, sel=1, size=1 65 unpack xmml, xmml, ufp1, sel=0, size=1 | 64 unpack xmmh, xmml, ufp1, ext=1, size=1 65 unpack xmml, xmml, ufp1, ext=0, size=1 |
66}; 67 68def macroop PUNPCKLBW_XMM_P { 69 rdip t7 70 ldfp ufp1, seg, riprel, disp, dataSize=8 | 66}; 67 68def macroop PUNPCKLBW_XMM_P { 69 rdip t7 70 ldfp ufp1, seg, riprel, disp, dataSize=8 |
71 unpack xmmh, xmml, ufp1, sel=1, size=1 72 unpack xmml, xmml, ufp1, sel=0, size=1 | 71 unpack xmmh, xmml, ufp1, ext=1, size=1 72 unpack xmml, xmml, ufp1, ext=0, size=1 |
73}; 74 75def macroop PUNPCKLWD_XMM_XMM { | 73}; 74 75def macroop PUNPCKLWD_XMM_XMM { |
76 unpack xmmh, xmml, xmmlm, sel=1, size=2 77 unpack xmml, xmml, xmmlm, sel=0, size=2 | 76 unpack xmmh, xmml, xmmlm, ext=1, size=2 77 unpack xmml, xmml, xmmlm, ext=0, size=2 |
78}; 79 80def macroop PUNPCKLWD_XMM_M { 81 ldfp ufp1, seg, sib, disp, dataSize=8 | 78}; 79 80def macroop PUNPCKLWD_XMM_M { 81 ldfp ufp1, seg, sib, disp, dataSize=8 |
82 unpack xmmh, xmml, ufp1, sel=1, size=2 83 unpack xmml, xmml, ufp1, sel=0, size=2 | 82 unpack xmmh, xmml, ufp1, ext=1, size=2 83 unpack xmml, xmml, ufp1, ext=0, size=2 |
84}; 85 86def macroop PUNPCKLWD_XMM_P { 87 rdip t7 88 ldfp ufp1, seg, riprel, disp, dataSize=8 | 84}; 85 86def macroop PUNPCKLWD_XMM_P { 87 rdip t7 88 ldfp ufp1, seg, riprel, disp, dataSize=8 |
89 unpack xmmh, xmml, ufp1, sel=1, size=2 90 unpack xmml, xmml, ufp1, sel=0, size=2 | 89 unpack xmmh, xmml, ufp1, ext=1, size=2 90 unpack xmml, xmml, ufp1, ext=0, size=2 |
91}; 92 93def macroop PUNPCKLDQ_XMM_XMM { | 91}; 92 93def macroop PUNPCKLDQ_XMM_XMM { |
94 unpack xmmh, xmml, xmmlm, sel=1, size=4 95 unpack xmml, xmml, xmmlm, sel=0, size=4 | 94 unpack xmmh, xmml, xmmlm, ext=1, size=4 95 unpack xmml, xmml, xmmlm, ext=0, size=4 |
96}; 97 98def macroop PUNPCKLDQ_XMM_M { 99 ldfp ufp1, seg, sib, disp, dataSize=8 | 96}; 97 98def macroop PUNPCKLDQ_XMM_M { 99 ldfp ufp1, seg, sib, disp, dataSize=8 |
100 unpack xmmh, xmml, ufp1, sel=1, size=4 101 unpack xmml, xmml, ufp1, sel=0, size=4 | 100 unpack xmmh, xmml, ufp1, ext=1, size=4 101 unpack xmml, xmml, ufp1, ext=0, size=4 |
102}; 103 104def macroop PUNPCKLDQ_XMM_P { 105 rdip t7 106 ldfp ufp1, seg, riprel, disp, dataSize=8 | 102}; 103 104def macroop PUNPCKLDQ_XMM_P { 105 rdip t7 106 ldfp ufp1, seg, riprel, disp, dataSize=8 |
107 unpack xmmh, xmml, ufp1, sel=1, size=4 108 unpack xmml, xmml, ufp1, sel=0, size=4 | 107 unpack xmmh, xmml, ufp1, ext=1, size=4 108 unpack xmml, xmml, ufp1, ext=0, size=4 |
109}; 110 111def macroop PUNPCKHBW_XMM_XMM { | 109}; 110 111def macroop PUNPCKHBW_XMM_XMM { |
112 unpack xmml, xmmh, xmmhm, sel=0, size=1 113 unpack xmmh, xmmh, xmmhm, sel=1, size=1 | 112 unpack xmml, xmmh, xmmhm, ext=0, size=1 113 unpack xmmh, xmmh, xmmhm, ext=1, size=1 |
114}; 115 116def macroop PUNPCKHBW_XMM_M { 117 lea t1, seg, sib, disp, dataSize=asz 118 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 114}; 115 116def macroop PUNPCKHBW_XMM_M { 117 lea t1, seg, sib, disp, dataSize=asz 118 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
119 unpack xmml, xmmh, ufp1, sel=0, size=1 120 unpack xmmh, xmmh, ufp1, sel=1, size=1 | 119 unpack xmml, xmmh, ufp1, ext=0, size=1 120 unpack xmmh, xmmh, ufp1, ext=1, size=1 |
121}; 122 123def macroop PUNPCKHBW_XMM_P { 124 rdip t7 125 lea t1, seg, riprel, disp, dataSize=asz 126 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 121}; 122 123def macroop PUNPCKHBW_XMM_P { 124 rdip t7 125 lea t1, seg, riprel, disp, dataSize=asz 126 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
127 unpack xmml, xmmh, ufp1, sel=0, size=1 128 unpack xmmh, xmmh, ufp1, sel=1, size=1 | 127 unpack xmml, xmmh, ufp1, ext=0, size=1 128 unpack xmmh, xmmh, ufp1, ext=1, size=1 |
129}; 130 131def macroop PUNPCKHWD_XMM_XMM { | 129}; 130 131def macroop PUNPCKHWD_XMM_XMM { |
132 unpack xmml, xmmh, xmmhm, sel=0, size=2 133 unpack xmmh, xmmh, xmmhm, sel=1, size=2 | 132 unpack xmml, xmmh, xmmhm, ext=0, size=2 133 unpack xmmh, xmmh, xmmhm, ext=1, size=2 |
134}; 135 136def macroop PUNPCKHWD_XMM_M { 137 lea t1, seg, sib, disp, dataSize=asz 138 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 134}; 135 136def macroop PUNPCKHWD_XMM_M { 137 lea t1, seg, sib, disp, dataSize=asz 138 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
139 unpack xmml, xmmh, ufp1, sel=0, size=2 140 unpack xmmh, xmmh, ufp1, sel=1, size=2 | 139 unpack xmml, xmmh, ufp1, ext=0, size=2 140 unpack xmmh, xmmh, ufp1, ext=1, size=2 |
141}; 142 143def macroop PUNPCKHWD_XMM_P { 144 rdip t7 145 lea t1, seg, riprel, disp, dataSize=asz 146 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 141}; 142 143def macroop PUNPCKHWD_XMM_P { 144 rdip t7 145 lea t1, seg, riprel, disp, dataSize=asz 146 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
147 unpack xmml, xmmh, ufp1, sel=0, size=2 148 unpack xmmh, xmmh, ufp1, sel=1, size=2 | 147 unpack xmml, xmmh, ufp1, ext=0, size=2 148 unpack xmmh, xmmh, ufp1, ext=1, size=2 |
149}; 150 151def macroop PUNPCKHDQ_XMM_XMM { | 149}; 150 151def macroop PUNPCKHDQ_XMM_XMM { |
152 unpack xmml, xmmh, xmmhm, sel=0, size=4 153 unpack xmmh, xmmh, xmmhm, sel=1, size=4 | 152 unpack xmml, xmmh, xmmhm, ext=0, size=4 153 unpack xmmh, xmmh, xmmhm, ext=1, size=4 |
154}; 155 156def macroop PUNPCKHDQ_XMM_M { 157 lea t1, seg, sib, disp, dataSize=asz 158 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 154}; 155 156def macroop PUNPCKHDQ_XMM_M { 157 lea t1, seg, sib, disp, dataSize=asz 158 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
159 unpack xmml, xmmh, ufp1, sel=0, size=4 160 unpack xmmh, xmmh, ufp1, sel=1, size=4 | 159 unpack xmml, xmmh, ufp1, ext=0, size=4 160 unpack xmmh, xmmh, ufp1, ext=1, size=4 |
161}; 162 163def macroop PUNPCKHDQ_XMM_P { 164 rdip t7 165 lea t1, seg, riprel, disp, dataSize=asz 166 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 | 161}; 162 163def macroop PUNPCKHDQ_XMM_P { 164 rdip t7 165 lea t1, seg, riprel, disp, dataSize=asz 166 ldfp ufp1, seg, [1, t0, t1], 8, dataSize=8 |
167 unpack xmml, xmmh, ufp1, sel=0, size=4 168 unpack xmmh, xmmh, ufp1, sel=1, size=4 | 167 unpack xmml, xmmh, ufp1, ext=0, size=4 168 unpack xmmh, xmmh, ufp1, ext=1, size=4 |
169}; 170 171def macroop PUNPCKHQDQ_XMM_XMM { 172 movfp xmml, xmmh 173 movfp xmmh, xmmhm 174}; 175 176def macroop PUNPCKHQDQ_XMM_M { --- 27 unchanged lines hidden --- | 169}; 170 171def macroop PUNPCKHQDQ_XMM_XMM { 172 movfp xmml, xmmh 173 movfp xmmh, xmmhm 174}; 175 176def macroop PUNPCKHQDQ_XMM_M { --- 27 unchanged lines hidden --- |