Changeset 6476


Ignore:
Timestamp:
May 9, 2007, 7:41:05 AM (15 years ago)
Author:
gb
Message:

New calling sequence. %rcx is %imm2 now, not %temp2, and no need
to be so careful with it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/X86/x86-array.lisp

    r5514 r6476  
    5656(defx86lapfunction %array-header-data-and-offset ((a arg_z))
    5757  (let ((offset arg_y)
    58         (temp temp0))
     58        (temp temp1))
     59    (movq (% rsp) (% temp0))
    5960    (movl ($ '0) (%l offset))
    6061    (movq (% a) (% temp))
     
    6970    (push (% offset))
    7071    (set-nargs 2)
    71     (lea (@ '2 (% rsp)) (% temp0))
    7272    (jmp-subprim  .SPvalues)))
    7373
    7474
    7575
    76 (defx86lapfunction %boole-clr ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    77   (pop (% temp0))
    78   (discard-reserved-frame)
     76(defx86lapfunction %boole-clr ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     77  (movq (@ idx (% rsp)) (% temp0))
    7978  (movq ($ 0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    80   (single-value-return))
    81 
    82 (defx86lapfunction %boole-set ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    83   (pop (% temp0))
    84   (discard-reserved-frame)
     79  (single-value-return 3))
     80
     81(defx86lapfunction %boole-set ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     82  (movq (@ idx (% rsp)) (% temp0))
    8583  (movq ($ -1) (@ x8664::misc-data-offset (% dest) (% temp0)))
    86   (single-value-return))
    87 
    88 (defx86lapfunction %boole-1 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    89   (pop (% temp0))
    90   (discard-reserved-frame)
    91   (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    92   (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    93   (single-value-return))
    94 
    95 (defx86lapfunction %boole-2 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    96   (pop (% temp0))
    97   (discard-reserved-frame)
    98   (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    99   (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    100   (single-value-return))
    101 
    102 (defx86lapfunction %boole-c1 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    103   (pop (% temp0))
    104   (discard-reserved-frame)
    105   (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    106   (notq (% imm0))
    107   (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    108   (single-value-return))
    109 
    110 (defx86lapfunction %boole-c2 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    111   (pop (% temp0))
    112   (discard-reserved-frame)
    113   (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    114   (notq (% imm0))
    115   (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    116   (single-value-return))
    117 
    118 (defx86lapfunction %boole-and ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    119   (pop (% temp0))
    120   (discard-reserved-frame)
     84  (single-value-return 3))
     85
     86(defx86lapfunction %boole-1 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     87  (movq (@ idx (% rsp)) (% temp0))
     88  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
     89  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
     90  (single-value-return 3))
     91
     92(defx86lapfunction %boole-2 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     93  (movq (@ idx (% rsp)) (% temp0))
     94  (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
     95  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
     96  (single-value-return 3))
     97
     98(defx86lapfunction %boole-c1 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     99  (movq (@ idx (% rsp)) (% temp0))
     100  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
     101  (notq (% imm0))
     102  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
     103  (single-value-return 3))
     104
     105(defx86lapfunction %boole-c2 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     106  (movq (@ idx (% rsp)) (% temp0))
     107  (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
     108  (notq (% imm0))
     109  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
     110  (single-value-return 3))
     111
     112(defx86lapfunction %boole-and ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     113  (movq (@ idx (% rsp)) (% temp0))
    121114  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    122115  (andq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    123116  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    124   (single-value-return))
    125 
    126 (defx86lapfunction %boole-ior ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    127   (pop (% temp0))
    128   (discard-reserved-frame)
     117  (single-value-return 3))
     118
     119(defx86lapfunction %boole-ior ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     120  (movq (@ idx (% rsp)) (% temp0))
    129121  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    130122  (orq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    131123  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    132   (single-value-return))
    133 
    134 (defx86lapfunction %boole-xor ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    135   (pop (% temp0))
    136   (discard-reserved-frame)
    137   (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
     124  (single-value-return 3))
     125
     126(defx86lapfunction %boole-xor ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     127  (movq (@ idx (% rsp)) (% temp0))
     128n  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    138129  (xorq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    139130  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    140   (single-value-return))
    141 
    142 (defx86lapfunction %boole-eqv ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    143   (pop (% temp0))
    144   (discard-reserved-frame)
     131  (single-value-return 3))
     132
     133(defx86lapfunction %boole-eqv ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     134  (movq (@ idx (% rsp)) (% temp0))
    145135  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    146136  (xorq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    147137  (notq (% imm0))
    148138  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    149   (single-value-return))
    150 
    151 (defx86lapfunction %boole-nand ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    152   (pop (% temp0))
    153   (discard-reserved-frame)
     139  (single-value-return 3))
     140
     141(defx86lapfunction %boole-nand ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     142  (movq (@ idx (% rsp)) (% temp0))
    154143  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    155144  (andq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    156145  (notq (% imm0))
    157146  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    158   (single-value-return))
    159 
    160 (defx86lapfunction %boole-nor ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    161   (pop (% temp0))
    162   (discard-reserved-frame)
     147  (single-value-return 3))
     148
     149(defx86lapfunction %boole-nor ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     150  (movq (@ idx (% rsp)) (% temp0))
    163151  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    164152  (orq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    165153  (notq (% imm0))
    166154  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    167   (single-value-return))
    168 
    169 (defx86lapfunction %boole-andc1 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    170   (pop (% temp0))
    171   (discard-reserved-frame)
     155  (single-value-return 3))
     156
     157(defx86lapfunction %boole-andc1 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     158  (movq (@ idx (% rsp)) (% temp0))
    172159  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    173160  (notq (% imm0))
    174161  (andq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    175162  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    176   (single-value-return))
    177 
    178 (defx86lapfunction %boole-andc2 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    179   (pop (% temp0))
    180   (discard-reserved-frame)
     163  (single-value-return 3))
     164
     165(defx86lapfunction %boole-andc2 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     166  (movq (@ idx (% rsp)) (% temp0))
    181167  (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    182168  (notq (% imm0))
    183169  (andq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    184170  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    185   (single-value-return))
    186 
    187 (defx86lapfunction %boole-orc1 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    188   (pop (% temp0))
    189   (discard-reserved-frame)
     171  (single-value-return 3))
     172
     173(defx86lapfunction %boole-orc1 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     174  (movq (@ idx (% rsp)) (% temp0))
    190175  (movq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    191176  (notq (% imm0))
    192177  (orq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    193178  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    194   (single-value-return))
    195 
    196 (defx86lapfunction %boole-orc2 ((idx 0) (b0 arg_x) (b1 arg_y) (dest arg_z))
    197   (pop (% temp0))
    198   (discard-reserved-frame)
     179  (single-value-return 3))
     180
     181(defx86lapfunction %boole-orc2 ((idx 8) #|(ra 0)|# (b0 arg_x) (b1 arg_y) (dest arg_z))
     182  (movq (@ idx (% rsp)) (% temp0))
    199183  (movq (@ x8664::misc-data-offset (% b1) (% temp0)) (% imm0))
    200184  (notq (% imm0))
    201185  (orq (@ x8664::misc-data-offset (% b0) (% temp0)) (% imm0))
    202186  (movq (% imm0) (@ x8664::misc-data-offset (% dest) (% temp0)))
    203   (single-value-return))
     187  (single-value-return 3))
    204188
    205189(defparameter *simple-bit-boole-functions* ())
Note: See TracChangeset for help on using the changeset viewer.