Changeset 16521


Ignore:
Timestamp:
Aug 31, 2015, 8:47:45 PM (4 years ago)
Author:
gb
Message:

Don't try to define CALLQ etc as instruction (broke X8632 build. Define lapmacros for them.

Location:
trunk/source/compiler/X86
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/x86-asm.lisp

    r16520 r16521  
    2424(defconstant +MAX-IMMEDIATE-OPERANDS+ 2) ; max immediates per insn (lcall  ljmp)
    2525(defconstant +MAX-MEMORY-OPERANDS+ 2) ; max memory refs per insn (string ops)
     26
    2627
    2728;;; Prefixes will be emitted in the order defined below.
     
    359360  rex-prefix             ; initial REX value
    360361  modrm-byte             ; initial modrm vale, may be nil if no modrm byte
    361   lap-options                           ; alist or plist
    362362  )
    363363
     
    913913     #xe8 nil nil)
    914914
    915    (def-x86-opcode (callq :cpu64) ((:label :insert-label))
    916      #xe8 nil nil)
    917    
    918915   (def-x86-opcode (call :cpu64) ((:reg64 :insert-modrm-rm))
    919      #xff #o320 #x0)
    920    (def-x86-opcode (callq :cpu64) ((:reg64 :insert-modrm-rm))
    921916     #xff #o320 #x0)
    922917   (def-x86-opcode (call :cpuno64) ((:reg32 :insert-modrm-rm))
     
    926921     #xff #o020 #x0)
    927922
    928    (def-x86-opcode (callq :cpu64) ((:anymem :insert-memory))
    929      #xff #o020 #x0)
    930923   ;; cbtw
    931924   (def-x86-opcode cbtw ()
     
    17391732   (def-x86-opcode leave ()
    17401733     #xc9 nil nil)
    1741    (def-x86-opcode (leaveq :cpu64) ()
    1742      #xc9 nil nil)
    1743    (def-x86-opcode (leavel :cpu32) ()
    1744      #xc9 nil nil)
     1734
    17451735   ;; lock
    17461736   (def-x86-opcode lock ()
     
    22262216
    22272217   (def-x86-opcode ret ((:imm16 :insert-imm16))
    2228      #xc2 nil nil)
    2229 
    2230    (def-x86-opcode (retq :cpu64) ()
    2231      #xc3 nil nil)
    2232 
    2233    (def-x86-opcode (retq :cpu64) ((:imm16 :insert-imm16))
    2234      #xc2 nil nil)
    2235 
    2236    (def-x86-opcode (retl :cpu32) ()
    2237      #xc3 nil nil)
    2238 
    2239    (def-x86-opcode (retl :cpu32) ((:imm16 :insert-imm16))
    22402218     #xc2 nil nil)
    22412219
  • trunk/source/compiler/X86/x86-lapmacros.lisp

    r16520 r16521  
    1919;;; Comparisons make more sense if arg order is "dest, src", instead
    2020;;; of the gas/ATT arg order.
     21(defx86lapmacro callq (addr)
     22  `(call ,addr))
     23
     24
     25(defx86lapmacro leaveq()
     26  `(leave))
     27
     28(defx86lapmacro leavel ()
     29  `(leavel))
     30
     31(defx86lapmacro retl (&rest rest)
     32  `(ret ,@rest))
     33
     34(defx86lapmacro retq (&rest rest)
     35  `(ret ,@rest))
    2136
    2237(defx86lapmacro rcmp (src dest)
Note: See TracChangeset for help on using the changeset viewer.