⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insts.lisp

📁 开源跨平台Lisp编译器
💻 LISP
📖 第 1 页 / 共 5 页
字号:
    (:printer x-19 ((op 31) (xo 4)))    (:attributes branch)    (:delay 0)    :pinned    (:emitter (emit-x-form-inst segment 31 (valid-tcond-encoding tcond) (reg-tn-encoding ra) (reg-tn-encoding rb) 4 0)))  (define-4-xo-instructions subfc 31 8 :always-writes-xer t)  (define-4-xo-instructions addc 31 10 :always-writes-xer t)  (define-2-xo-oe-instructions mulhwu 31 11 :cost 5)  (define-instruction mfcr (segment rd)    (:printer x-4 ((op 31) (xo 19)))    (:delay 1)    (:dependencies (reads :ccr) (writes rd))    (:emitter (emit-x-form-inst segment 31 (reg-tn-encoding rd) 0 0 19 0)))  (define-x-instruction lwarx 31 20)  (define-x-instruction lwzx 31 23)  (define-2-x-5-instructions slw 31 24)  (define-2-x-10-instructions cntlzw 31 26)  (define-2-x-5-instructions and 31 28)  (define-instruction cmplw (segment crf ra  &optional (rb nil rb-p))    (:printer x-14 ((op 31) (xo 32) (l 0)) '(:name :tab bf "," ra "," rb))    (:delay 1)    (:dependencies (reads ra) (if rb-p (reads rb) (reads crf)) (reads :xer) (writes :ccr))    (:emitter     (unless rb-p       (setq rb ra ra crf crf :cr0))     (emit-x-form-inst segment                       31                       (valid-cr-field-encoding crf)                       (reg-tn-encoding ra)                       (reg-tn-encoding rb)                       32                       0)))  (define-4-xo-instructions subf 31 40)                                        ; dcbst  (define-x-instruction lwzux 31 55 :other-dependencies ((writes rt)))  (define-2-x-5-instructions andc 31 60)  (define-2-xo-oe-instructions mulhw 31 75 :cost 5)  (define-x-instruction lbzx 31 87)  (define-4-xo-a-instructions neg 31 104)  (define-x-instruction lbzux 31 119 :other-dependencies ((writes rt)))  (define-2-x-5-instructions nor 31 124)  (define-4-xo-instructions subfe 31 136 :always-reads-xer t :always-writes-xer t)  (define-instruction-macro sube (rt ra rb)    `(inst subfe ,rt ,rb ,ra))  (define-instruction-macro sube. (rt ra rb)    `(inst subfe. ,rt ,rb ,ra))  (define-instruction-macro subeo (rt ra rb)    `(inst subfeo ,rt ,rb ,ra))  (define-instruction-macro subeo. (rt ra rb)    `(inst subfeo ,rt ,rb ,ra))  (define-4-xo-instructions adde 31 138 :always-reads-xer t :always-writes-xer t)  (define-instruction mtcrf (segment mask rt)    (:printer xfx-fxm ((op 31) (xo 144)))    (:delay 1)    (:dependencies (reads rt) (writes :ccr))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash mask 1) 144 0)))  (define-x-5-st-instruction stwcx. 31 150 t :other-dependencies ((writes :ccr)))  (define-x-5-st-instruction stwx 31 151 nil)  (define-x-5-st-instruction stwux 31 183 nil :other-dependencies ((writes ra)))  (define-4-xo-a-instructions subfze 31 200 :always-reads-xer t :always-writes-xer t)  (define-4-xo-a-instructions addze 31 202 :always-reads-xer t :always-writes-xer t)  (define-x-5-st-instruction stbx 31 215 nil)  (define-4-xo-a-instructions subfme 31 232 :always-reads-xer t :always-writes-xer t)  (define-4-xo-a-instructions addme 31 234 :always-reads-xer t :always-writes-xer t)  (define-4-xo-instructions mullw 31 235 :cost 5)  (define-x-5-st-instruction stbux 31 247 nil :other-dependencies ((writes ra)))  (define-4-xo-instructions add 31 266)  (define-x-instruction lhzx 31 279)  (define-2-x-5-instructions eqv 31 284)  (define-x-instruction lhzux 31 311 :other-dependencies ((writes ra)))  (define-2-x-5-instructions xor 31 316)  (define-instruction mfmq (segment rt)    (:printer xfx ((op 31) (xo 339) (spr 0)) '(:name :tab rt))    (:delay 1)    (:dependencies (reads :xer) (writes rt))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 0 5) 339 0)))  (define-instruction mfxer (segment rt)    (:printer xfx ((op 31) (xo 339) (spr 1)) '(:name :tab rt))    (:delay 1)    (:dependencies (reads :xer) (writes rt))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 1 5) 339 0)))  (define-instruction mflr (segment rt)    (:printer xfx ((op 31) (xo 339) (spr 8)) '(:name :tab rt))    (:delay 1)    (:dependencies (reads :lr) (writes rt))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 8 5) 339 0)))  (define-instruction mfctr (segment rt)    (:printer xfx ((op 31) (xo 339) (spr 9)) '(:name :tab rt))    (:delay 1)    (:dependencies (reads rt) (reads :ctr))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 9 5) 339 0)))  (define-x-instruction lhax 31 343)  (define-x-instruction lhaux 31 375 :other-dependencies ((writes ra)))  (define-x-5-st-instruction sthx 31 407 nil)  (define-2-x-5-instructions orc 31 412)  (define-x-5-st-instruction sthux 31 439 nil :other-dependencies ((writes ra)))  (define-instruction or (segment ra rs rb)    (:printer x-5 ((op 31) (xo 444) (rc 0)) '((:cond                                                ((rs :same-as rb) 'mr)                                                (t :name))                                              :tab                                              ra "," rs                                              (:unless (:same-as rs) "," rb)))    (:delay 1)    (:cost 1)    (:dependencies (reads rb) (reads rs) (writes ra))    (:emitter     (emit-x-form-inst segment                       31                       (reg-tn-encoding rs)                       (reg-tn-encoding ra)                       (reg-tn-encoding rb)                       444                       0)))  (define-instruction or. (segment ra rs rb)    (:printer x-5 ((op 31) (xo 444) (rc 1)) '((:cond                                                ((rs :same-as rb) 'mr.)                                                (t :name))                                              :tab                                              ra "," rs                                              (:unless (:same-as rs) "," rb)))    (:delay 1)    (:cost 1)    (:dependencies (reads rb) (reads rs) (writes ra) (writes :ccr))    (:emitter     (emit-x-form-inst segment                       31                       (reg-tn-encoding rs)                       (reg-tn-encoding ra)                       (reg-tn-encoding rb)                       444                       1)))  (define-instruction-macro mr (ra rs)    `(inst or ,ra ,rs ,rs))  (define-instruction-macro mr. (ra rs)    `(inst or. ,ra ,rs ,rs))  (define-4-xo-instructions divwu 31 459 :cost 36)                                        ; This is a 601-specific instruction class.  (define-4-xo-instructions div 31 331 :cost 36)                                        ; This is a 601-specific instruction.  (define-instruction mtmq (segment rt)    (:printer xfx ((op 31) (xo 467) (spr (ash 0 5))) '(:name :tab rt))    (:delay 1)    (:dependencies (reads rt) (writes :xer))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 0 5) 467 0)))  (define-instruction mtxer (segment rt)    (:printer xfx ((op 31) (xo 467) (spr (ash 1 5))) '(:name :tab rt))    (:delay 1)    (:dependencies (reads rt) (writes :xer))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 1 5) 467 0)))  (define-instruction mtlr (segment rt)    (:printer xfx ((op 31) (xo 467) (spr (ash 8 5))) '(:name :tab rt))    (:delay 1)    (:dependencies (reads rt) (writes :lr))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 8 5) 467 0)))  (define-instruction mtctr (segment rt)    (:printer xfx ((op 31) (xo 467) (spr (ash 9 5))) '(:name :tab rt))    (:delay 1)    (:dependencies (reads rt) (writes :ctr))    (:emitter (emit-xfx-form-inst segment 31 (reg-tn-encoding rt) (ash 9 5) 467 0)))  (define-2-x-5-instructions nand 31 476)  (define-4-xo-instructions divw 31 491 :cost 36)  (define-instruction mcrxr (segment crf)    (:printer x-18 ((op 31) (xo 512)))    (:delay 1)    (:dependencies (reads :xer) (writes :ccr) (writes :xer))    (:emitter (emit-x-form-inst segment 31 (valid-cr-field-encoding crf) 0 0 512 0)))  (define-instruction lswx (segment rs ra rb)    (:printer x ((op 31) (xo 533) (rc 0)))    (:delay 1)    :pinned    (:cost 8)    (:emitter (emit-x-form-inst sb!assem:segment 31 (reg-tn-encoding rs) (reg-tn-encoding ra) (reg-tn-encoding rb) 533 0)))  (define-x-instruction lwbrx 31 534)  (define-x-20-instruction lfsx 31 535)  (define-2-x-5-instructions srw 31 536)  (define-x-20-instruction lfsux 31 567 :other-dependencies ((writes ra)))  (define-instruction lswi (segment rt ra rb)    (:printer x-1 ((op 31) (xo 597) (rc 0)))    :pinned    (:delay 8)    (:cost 8)    (:emitter (emit-x-form-inst sb!assem:segment 31 (reg-tn-encoding rt) (reg-tn-encoding ra) rb 597 0)))  (define-instruction sync (segment)    (:printer x-27 ((op 31) (xo 598)))    (:delay 1)    :pinned    (:emitter (emit-x-form-inst segment 31 0 0 0 598 0)))  (define-x-20-instruction lfdx 31 599)  (define-x-20-instruction lfdux 31 631 :other-dependencies ((writes ra)))  (define-instruction stswx (segment rs ra rb)    (:printer x-5 ((op 31) (xo 661)))    :pinned    (:cost 8)    (:delay 1)    (:emitter (emit-x-form-inst sb!assem:segment 31                                (reg-tn-encoding rs)                                (reg-tn-encoding ra)                                (reg-tn-encoding rb)                                661                                0)))  (define-x-5-st-instruction stwbrx 31 662 nil)  (define-x-23-st-instruction stfsx 31 663)  (define-x-23-st-instruction stfsux 31 695 :other-dependencies ((writes ra)))  (define-instruction stswi (segment rs ra nb)    (:printer x-8 ((op 31) (xo 725)))    :pinned    (:delay 1)    (:emitter     (emit-x-form-inst segment 31                       (reg-tn-encoding rs)                       (reg-tn-encoding ra)                       nb                       725                       0)))  (define-x-23-st-instruction stfdx 31 727)  (define-x-23-st-instruction stfdux 31 759 :other-dependencies ((writes ra)))  (define-x-instruction lhbrx 31 790)  (define-2-x-5-instructions sraw 31 792)  (define-instruction srawi (segment ra rs rb)    (:printer x-9 ((op 31) (xo 824) (rc 0)))    (:cost 1)    (:delay 1)    (:dependencies (reads rs) (writes ra))    (:emitter     (emit-x-form-inst segment 31                       (reg-tn-encoding rs)                       (reg-tn-encoding ra)                       rb                       824                       0)))  (define-instruction srawi. (segment ra rs rb)    (:printer x-9 ((op 31) (xo 824) (rc 1)))    (:cost 1)    (:delay 1)    (:dependencies (reads rs) (writes ra) (writes :ccr))    (:emitter     (emit-x-form-inst segment 31                       (reg-tn-encoding rs)                       (reg-tn-encoding ra)                       rb                       824                        1)))  (define-instruction eieio (segment)    (:printer x-27 ((op 31) (xo 854)))    :pinned    (:delay 1)    (:emitter (emit-x-form-inst segment 31 0 0 0 854 0)))  (define-x-5-st-instruction sthbrx 31 918 nil)  (define-2-x-10-instructions extsb 31 954)  (define-2-x-10-instructions extsh 31 922)                                        ; Whew.  (define-instruction lwz (segment rt ra si)    (:declare (type (or fixup (signed-byte 16)) si))    (:printer d ((op 32)))    (:delay 2)    (:cost 2)    (:dependencies (reads ra) (writes rt) (reads :memory))    (:emitter     (when (typep si 'fixup)       (note-fixup segment :l si)       (setq si 0))     (emit-d-form-inst segment 32 (reg-tn-encoding rt) (reg-tn-encoding ra) si)))  (define-d-instruction lwzu 33 :other-dependencies ((writes ra)))  (define-d-instruction lbz 34)  (define-d-instruction lbzu 35 :other-dependencies ((writes ra)))  (define-d-rs-instruction stw 36)  (define-d-rs-instruction stwu 37 :other-dependencies ((writes ra)))  (define-d-rs-instruction stb 38)  (define-d-rs-instruction stbu 39 :other-dependencies ((writes ra)))  (define-d-instruction lhz 40)  (define-d-instruction lhzu 41 :other-dependencies ((writes ra)))  (define-d-instruction lha 42)  (define-d-instruction lhau 43 :other-dependencies ((writes ra)))  (define-d-rs-instruction sth 44)  (define-d-rs-instruction sthu 45 :other-dependencies ((writes ra)))  (define-d-instruction lmw 46 :pinned t)  (define-d-rs-instruction stmw 47 :pinned t)  (define-d-frt-instruction lfs 48)  (define-d-frt-instruction lfsu 49 :other-dependencies ((writes ra)))  (define-d-frt-instruction lfd 50)  (define-d-frt-instruction lfdu 51 :other-dependencies ((writes ra)))  (define-d-frs-instruction stfs 52)  (define-d-frs-instruction stfsu 53 :other-dependencies ((writes ra)))  (define-d-frs-instruction stfd 54)  (define-d-frs-instruction stfdu 55 :other-dependencies ((writes ra)))  (define-2-a-tab-instructions fdivs 59 18 :cost 17)  (define-2-a-tab-instructions fsubs 59 20)  (define-2-a-tab-instructions fadds 59 21)  (define-2-a-tac-instructions fmuls 59 25)  (define-2-a-instructions fmsubs 59 28 :cost 4)  (define-2-a-instructions fmadds

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -