mescc: Fix clobbering of struct by value assign.
[mes.git] / lib / x86-mes / x86.M1
index 6c5bdad0dee9351bf789cc0d7f1300048c47d37a..4e850b349b01761a53e9d409fdb1f94cd0c5a183 100644 (file)
@@ -17,7 +17,7 @@
 ### along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
 
 # reduced instruction set: eax, ebx (some ecx for shift, edx for mul, div)
-# 185 instructions
+# 191 instructions
 
 DEFINE add____$i32,%eax 05
 DEFINE add____$i32,%ebx 81c3
@@ -84,6 +84,9 @@ DEFINE mov____%al,(%ebx) 8803
 DEFINE mov____%al,0x8(%ebp) 8845
 DEFINE mov____%ax,(%ebx) 668903
 DEFINE mov____%ax,0x8(%ebp) 668945
+DEFINE mov____%bx,%bx 6689db
+DEFINE mov____%cl,(%ebx) 8a08
+DEFINE mov____%cx,(%ebx) 668b08
 DEFINE mov____%dl,(%eax) 8810
 DEFINE mov____%dl,0x8(%eax) 8850
 DEFINE mov____%eax,%ebx 89c3
@@ -103,6 +106,8 @@ DEFINE mov____%ecx,(%ebx) 890b
 DEFINE mov____%edx,%eax 89d0
 DEFINE mov____%edx,%ebx 89d3
 DEFINE mov____%esp,%ebp 89e5
+DEFINE mov____(%eax),%cl 8a08
+DEFINE mov____(%eax),%cx 668b08
 DEFINE mov____(%eax),%eax 8b00
 DEFINE mov____(%eax),%ecx 8b08
 DEFINE mov____(%ebx),%ebx 8b1b
@@ -138,6 +143,7 @@ DEFINE movzbl_0x8(%eax),%eax 0fb640
 DEFINE movzbl_0x8(%ebp),%eax 0fb645
 DEFINE movzwl_%ax,%eax 0fb7c0
 DEFINE movzwl_%bx,%ebx 0fb7db
+DEFINE movzwl_%bx,%ebx 6689db
 DEFINE movzwl_(%eax),%eax 0fb700
 DEFINE movzwl_(%ebx),%ebx 0fb71b
 DEFINE movzwl_0x32(%eax),%eax 0fb780