X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Finsts.lisp;h=fef01fe38390aa6bfa5b1e4873a8ea88838f6dad;hb=ca1c88c96f67da3dae46c5c92bc58c9f0784ccc7;hp=b141f8552eaef82242958978602c7b1ed493e599;hpb=11b5ac86a98f058fe0375b0a707c6ef9e24590c9;p=sbcl.git diff --git a/src/compiler/x86-64/insts.lisp b/src/compiler/x86-64/insts.lisp index b141f85..fef01fe 100644 --- a/src/compiler/x86-64/insts.lisp +++ b/src/compiler/x86-64/insts.lisp @@ -1124,7 +1124,8 @@ (sb!disassem:define-instruction-format (xmm-xmm/mem-imm 24 :default-printer - '(:name :tab reg ", " reg/mem " " imm)) + '(:name + :tab reg ", " reg/mem ", " imm)) (x0f :field (byte 8 0) :value #x0f) (op :field (byte 8 8)) (reg/mem :fields (list (byte 2 22) (byte 3 16)) @@ -1134,7 +1135,8 @@ (sb!disassem:define-instruction-format (rex-xmm-xmm/mem-imm 32 :default-printer - '(:name :tab reg ", " reg/mem " " imm)) + '(:name + :tab reg ", " reg/mem ", " imm)) (rex :field (byte 4 4) :value #b0100) (wrxb :field (byte 4 0) :type 'wrxb) (x0f :field (byte 8 8) :value #x0f) @@ -1146,7 +1148,8 @@ (sb!disassem:define-instruction-format (ext-xmm-xmm/mem-imm 32 :default-printer - '(:name :tab reg ", " reg/mem " " imm)) + '(:name + :tab reg ", " reg/mem ", " imm)) (prefix :field (byte 8 0)) (x0f :field (byte 8 8) :value #x0f) (op :field (byte 8 16)) @@ -1157,7 +1160,8 @@ (sb!disassem:define-instruction-format (ext-rex-xmm-xmm/mem-imm 40 :default-printer - '(:name :tab reg ", " reg/mem " " imm)) + '(:name + :tab reg ", " reg/mem ", " imm)) (prefix :field (byte 8 0)) (rex :field (byte 4 12) :value #b0100) (wrxb :field (byte 4 8) :type 'wrxb) @@ -1880,7 +1884,7 @@ (cond (ea-p (ea-base src)) ((tn-p src) src) (t nil))) - (emit-byte segment #x63) ;movsxd + (emit-byte segment (if signed-p #x63 #x8b)) ;movsxd or straight mov ;;(emit-byte segment opcode) (emit-ea segment src (reg-tn-encoding dst)))))))))