Changeset 7906


Ignore:
Timestamp:
Dec 13, 2007, 7:59:13 PM (13 years ago)
Author:
rme
Message:

Add cmovc/cmovnc/cmovz/cmovnz/jc/jnc opcodes (which are the same thing
as cmovb/cmovae/cmove/cmovne/jb/jnb, but more perspicuous in some
circumstances).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/x86-asm.lisp

    r7245 r7906  
    998998     #x0f42 #o000 #x00 #x66)
    999999
     1000   (def-x86-opcode (cmovcq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
     1001     #x0f42 #o300 #x48)
     1002   (def-x86-opcode (cmovcq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
     1003     #x0f42 #o000 #x48)
     1004   (def-x86-opcode cmovcl ((:reg32 :insert-modrm-rm) (:reg32 :insert-modrm-reg))
     1005     #x0f42 #o300 #x00)
     1006   (def-x86-opcode cmovcl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
     1007     #x0f42 #o000 #x00)
     1008   (def-x86-opcode cmovcw ((:reg16 :insert-modrm-rm) (:reg16 :insert-modrm-reg))
     1009     #x0f42 #o300 #x00 #x66)
     1010   (def-x86-opcode cmovcw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
     1011     #x0f42 #o000 #x00 #x66)
     1012
    10001013   (def-x86-opcode (cmovaeq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
    10011014     #x0f43 #o300 #x48)
     
    10111024     #x0f43 #o000 #x00 #x66)
    10121025
     1026   (def-x86-opcode (cmovncq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
     1027     #x0f43 #o300 #x48)
     1028   (def-x86-opcode (cmovncq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
     1029     #x0f43 #o000 #x48)
     1030   (def-x86-opcode cmovncl ((:reg32 :insert-modrm-rm) (:reg32 :insert-modrm-reg))
     1031     #x0f43 #o300 #x00)
     1032   (def-x86-opcode cmovncl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
     1033     #x0f43 #o000 #x00)
     1034   (def-x86-opcode cmovncw ((:reg16 :insert-modrm-rm) (:reg16 :insert-modrm-reg))
     1035     #x0f43 #o300 #x00 #x66)
     1036   (def-x86-opcode cmovncw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
     1037     #x0f43 #o000 #x00 #x66)
     1038
    10131039   (def-x86-opcode (cmoveq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
    10141040     #x0f44 #o300 #x48)
     
    10241050     #x0f44 #o000 #x00 #x66)
    10251051
     1052   (def-x86-opcode (cmovzq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
     1053     #x0f44 #o300 #x48)
     1054   (def-x86-opcode (cmovzq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
     1055     #x0f44 #o000 #x48)
     1056   (def-x86-opcode cmovzl ((:reg32 :insert-modrm-rm) (:reg32 :insert-modrm-reg))
     1057     #x0f44 #o300 #x00)
     1058   (def-x86-opcode cmovzl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
     1059     #x0f44 #o000 #x00)
     1060   (def-x86-opcode cmovzw ((:reg16 :insert-modrm-rm) (:reg16 :insert-modrm-reg))
     1061     #x0f44 #o300 #x00 #x66)
     1062   (def-x86-opcode cmovzw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
     1063     #x0f44 #o000 #x00 #x66)
     1064
    10261065   (def-x86-opcode (cmovneq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
    10271066     #x0f45 #o300 #x48)
     
    10351074     #x0f45 #o300 #x00 #x66)
    10361075   (def-x86-opcode cmovnew ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
     1076     #x0f45 #o000 #x00 #x66)
     1077
     1078   (def-x86-opcode (cmovnzq :cpu64) ((:reg64 :insert-modrm-rm) (:reg64 :insert-modrm-reg))
     1079     #x0f45 #o300 #x48)
     1080   (def-x86-opcode (cmovnzq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
     1081     #x0f45 #o000 #x48)
     1082   (def-x86-opcode cmovnzl ((:reg32 :insert-modrm-rm) (:reg32 :insert-modrm-reg))
     1083     #x0f45 #o300 #x00)
     1084   (def-x86-opcode cmovnzl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
     1085     #x0f45 #o000 #x00)
     1086   (def-x86-opcode cmovnzw ((:reg16 :insert-modrm-rm) (:reg16 :insert-modrm-reg))
     1087     #x0f45 #o300 #x00 #x66)
     1088   (def-x86-opcode cmovnzw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
    10371089     #x0f45 #o000 #x00 #x66)
    10381090
     
    15411593   (def-x86-opcode (jb.pn :jump) ((:label :insert-label))
    15421594     #x72 nil nil #x2e)
     1595   (def-x86-opcode (jc :jump) ((:label :insert-label))
     1596     #x72 nil nil)
     1597   (def-x86-opcode (jc.pt :jump) ((:label :insert-label))
     1598     #x72 nil nil #x3e)
     1599   (def-x86-opcode (jc.pn :jump) ((:label :insert-label))
     1600     #x72 nil nil #x2e)
    15431601   (def-x86-opcode (jae :jump) ((:label :insert-label))
    15441602     #x73 nil nil)
     
    15461604     #x73 nil nil #x3e)
    15471605   (def-x86-opcode (jae.pn :jump) ((:label :insert-label))
     1606     #x73 nil nil #x2e)
     1607   (def-x86-opcode (jnc :jump) ((:label :insert-label))
     1608     #x73 nil nil)
     1609   (def-x86-opcode (jnc.pt :jump) ((:label :insert-label))
     1610     #x73 nil nil #x3e)
     1611   (def-x86-opcode (jnc.pn :jump) ((:label :insert-label))
    15481612     #x73 nil nil #x2e)
    15491613   (def-x86-opcode (je :jump) ((:label :insert-label))
Note: See TracChangeset for help on using the changeset viewer.