Changeset 6324


Ignore:
Timestamp:
Apr 22, 2007, 10:41:11 AM (15 years ago)
Author:
gb
Message:

Can use :talign, call instructions in some cases.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/compiler/X86/X8664/x8664-vinsns.lisp

    r6300 r6324  
    281281  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    282282  (movq (:@ x8664::symbol.fcell (:% x8664::fname)) (:%q x8664::fn))
     283  (:talign 4)
    283284  (jmp (:%q x8664::fn))
    284   (:align 3)
    285   (:long (:^ :back))
    286285  :back
    287286  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    995994                                           ((entry (:label 1))))
    996995  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     996  (:talign 4)
    997997  (jmp (:@ spno))
    998   (:align 3)
    999   (:long (:^ :back))
    1000998  :back
    1001999  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    11481146                (:apply %hard-regspec-value val)))
    11491147   (movq (:%q val) (:%q x8664::arg_z)))
    1150   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    1151   (jmp (:@ .SPfix-overflow))
    1152   (:align 3)
    1153   (:long (:^ :back))
    1154   :back
     1148  (:talign 4)
     1149  (call (:@ .SPnfix-overflow))
    11551150  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn))
    11561151  ((:not (:pred = x8664::arg_z
     
    11701165                (:apply %hard-regspec-value val)))
    11711166   (movq (:%q val) (:%q x8664::arg_z)))
    1172   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    1173   (jmp (:@ .SPfix-overflow))
    1174   (:align 3)
    1175   (:long (:^ :back))
    1176   :back
     1167  (:talign 4)
     1168  (call (:@ .SPnfix-overflow))
    11771169  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn))
    11781170  ((:not (:pred = x8664::arg_z
     
    15941586  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    15951587  (movq (:%q x8664::temp0) (:%q x8664::fn))
     1588  (:talign 4)
    15961589  (jmp (:%q x8664::fn))
    1597   (:align 3)
    1598   (:long (:^ :back))
    15991590  :back
    16001591  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    16101601                                  ((entry (:label 1))))
    16111602  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     1603  (:talign 4)
    16121604  (jmp (:@ .SPconslist))
    1613   (:align 3)
    1614   (:long (:^ :back))
    16151605  :back
    16161606  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    16881678  `(define-x8664-vinsn (,name :call :subprim-call ,@other-attrs) (() () ((entry (:label 1))))
    16891679    (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     1680    (:talign 4)
    16901681    (jmp (:@ ,spno))
    1691     (:align 3)
    1692     (:long (:^ :back))
    16931682    :back
    16941683    (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn))))
     
    17791768  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    17801769  (leaq (:@ (:^ lab)  (:%q x8664::fn)) (:%q x8664::xfn))
     1770  (:talign 4)
    17811771  (jmp (:@ .SPmkcatchmv))
    1782   (:align 3)
    1783   (:long (:^ :back))
    17841772  :back
    17851773  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    17901778  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    17911779  (leaq (:@ (:^ lab)  (:%q x8664::fn)) (:%q x8664::xfn))
     1780  (:talign 4)
    17921781  (jmp (:@ .SPmkcatch1v))
    1793   (:align 3)
    1794   (:long (:^ :back))
    17951782  :back
    17961783  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    18221809  (cmoveq (:@ x8664::symbol.fcell (:%q x8664::fname)) (:%q x8664::fn))
    18231810  (jmp (:%q x8664::fn))
     1811  (:talign 4)
    18241812  :bad
    18251813  (uuo-error-not-callable)
    1826   (:align 3)
    1827   (:long (:^ :back))
    18281814  :back
    18291815  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    18641850     ((sym (:lisp (:ne val))))
    18651851     ((entry (:label 1))))
    1866   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    1867   (jmp (:@ .SPspecrefcheck))
    1868   (:align 3)
    1869   (:long (:^ :back)) 
    1870   :back
     1852  (:talign 4)
     1853  (call (:@ .SPnspecrefcheck))
    18711854  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)) )
    18721855
     
    18961879     ((entry (:label 1))))
    18971880  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     1881  (:talign 4)
    18981882  (jmp (:@ .SPspecref))
    1899   (:align 3)
    1900   (:long (:^ :back))
    19011883  :back
    19021884  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    19231905  (movq (:@ x8664::INTERRUPT-LEVEL-BINDING-INDEX (:%q temp)) (:%q dest)))
    19241906
    1925 (define-x8664-vinsn save-cleanup-context (()
    1926                                           ((lab :label)))
    1927   (leaq (:@ (:apply - (:^ lab)) (:%q x8664::xfn)) (:%q x8664::fn))
    1928   )
    19291907
    19301908
     
    29752953                                                          ((entry (:label 1))))
    29762954  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     2955  (:talign 4)
    29772956  (jmp (:@ spno))
    2978   (:align 3)
    2979   (:long (:^ :back))
    29802957  :back
    29812958  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    31973174      (val :lisp))
    31983175     ((entry (:label 1))))
    3199   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    3200   (jmp (:@ .SPspecset))
    3201   (:align 3)
    3202   (:long (:^ :back))
    3203   :back
     3176  (:talign 4)
     3177  (call (:@ .SPnspecset))
    32043178  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
    32053179
     
    32793253                                                          ((entry (:label 1))))
    32803254  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     3255  (:talign 4)
    32813256  (jmp (:@ spno))
    3282   (:align 3)
    3283   (:long (:^ :back))
    32843257  :back
     3258  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     3259
     3260(define-x8664-vinsn (xcall-subprim-2 :call :subprim-call) (((dest t))
     3261                                                          ((spno :s32const)
     3262                                                           (y t)
     3263                                                           (z t))
     3264                                                          ((entry (:label 1))))
     3265  (:talign 4)
     3266  (call (:@ spno))
    32853267  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
    32863268
     
    33473329                                                 ((entry (:label 1))))
    33483330  (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
     3331  (:talign 4)
    33493332  (jmp (:@ .SPthrow))
    3350   (:align 3)
    3351   (:long (:^ :back))
    33523333  :back
    33533334  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
     
    35683549   ((:pred > n 1)
    35693550    (movl (:$l n) (:%l temp))
     3551    (:talign 4)
    35703552    (jmp (:@ .SPunbind-n)))
    35713553   ((:pred = n 1)
     3554    (:talign 4)
    35723555    (jmp (:@ .SPunbind)))
    3573    (:align 3)
    3574    (:long (:^ :back))   
    35753556   :back
    35763557   (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))) 
Note: See TracChangeset for help on using the changeset viewer.