123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718 |
- /* $Id$ */
- loc adi w loc sbi w : loc $1-$3 adi w
- inc dec:
- inc loc adi w : loc $2+1 adi w
- inc loc sbi w : loc $2-1 sbi w
- dec loc adi w : loc $2-1 adi w
- dec loc sbi w : loc $2+1 sbi w
- ldc adi w2 ldc sbi w2 : ldc $1-$3 adi w2
- loc adi w loc adi w : loc $1+$3 adi w
- ldc adi w2 ldc adi w2 : ldc $1+$3 adi w2
- loc adi w loc mli w : loc $3 mli w loc $1*$3 adi w
- loc adi w loc 1 sli w : loc $3 sli w loc 2*$1 adi w
- adp 0 :
- adp adp : adp $1+$2
- adp lof : lof $1+$2
- adp ldf : ldf $1+$2
- adp !=0 loi w : lof $1
- adp !=0 loi w2 : ldf $1
- adp stf : stf $1+$2
- adp sdf : sdf $1+$2
- adp !=0 sti w : stf $1
- adp !=0 sti w2 : sdf $1
- asp 0 :
- asp asp : asp $1+$2
- blm 0 : asp 2*p
- cmi w zeq : beq $2
- cmi w zge : bge $2
- cmi w zgt : bgt $2
- cmi w zle : ble $2
- cmi w zlt : blt $2
- cmi w zne : bne $2
- cmu w zeq : beq $2
- cmu w zne : bne $2
- dvi ngi $1 : ngi $1 dvi $1
- lae adp : lae $1+$2
- lae blm w : loi w ste $1
- lae blm w2 : loi w2 sde $1
- lae ldf : lde $1+$2
- lae lof : loe $1+$2
- lae loi w : loe $1
- lae loi w2 : lde $1
- #ifdef INT
- lae loi loe $1-w ? $2%w==0: lae $3 loi $2+w
- lae loi lde $1-w2 ? $2%w==0: lae $3 loi $2+w2
- lae $3+$4 loi lae loi ? $2%w==0 && $4%w==0: lae $3 loi $2+$4
- lae sti ste $1+$2 : lae $1 sti $2+w
- lae sti sde $1+$2 : lae $1 sti $2+w2
- lae sti loc ste $1-w : loc $3 lae $4 sti $2+w
- lae sti lol ste $1-w : lol $3 lae $4 sti $2+w
- #endif
- lae lae blm loe $1+$3 ste $2+$3 : lae $1 lae $2 blm $3+w
- lae lae blm lde $1+$3 sde $2+$3 : lae $1 lae $2 blm $3+w2
- lae lae blm lae $1+$3 lae $2+$3 blm : lae $1 lae $2 blm $3+$6
- lae lal blm lae $1+$3 lal $2+$3 blm ? samesign($2,$5):
- lae $1 lal $2 blm $3+$6
- lal lae blm lal $1+$3 lae $2+$3 blm ? samesign($1,$4):
- lal $1 lae $2 blm $3+$6
- lal lal blm lal $1+$3 lal $2+$3 blm ? samesign($1,$4) && samesign($2,$5):
- lal $1 lal $2 blm $3+$6
- lal lal sbs w ? samesign($1,$2): loc $1-$2
- lae sdf : sde $1+$2
- lae stf : ste $1+$2
- lae sti w : ste $1
- lae sti w2 : sde $1
- lal adp ? samesign($1,$1+$2): lal $1+$2
- lal blm w : loi w stl $1
- lal blm w2 : loi w2 sdl $1
- #ifdef INT
- /*lal sti loc stl $1-w ? notreg($4) && samesign($1,$4): */
- /* loc $3 lal $4 sti $2+w */
- /*lal sti loe stl $1-w ? notreg($4) && samesign($1,$4): */
- /* loe $3 lal $4 sti $2+w */
- #endif
- lal ldf ? samesign($1,$1+$2): ldl $1+$2
- lal lof ? samesign($1,$1+$2): lol $1+$2
- lal loi w : lol $1
- lal loi w2 : ldl $1
- #ifdef INT
- /*lal loi lol $1-w ? notreg($3) && samesign($1,$3) && $2%w==0: */
- /* lal $3 loi $2+w */
- /*lal loi ldl $1-w2 ? notreg($3) && samesign($1,$3) && $2%w==0: */
- /* lal $3 loi $2+w2 */
- lal loi lal loi $1-$3 ? samesign($1,$3) && $2%w==0 && $4%w==0:
- lal $3 loi $2+$4
- /*lal sti stl $1+$2 ? notreg($3) && samesign($1,$3): lal $1 sti $2+w */
- /*lal sti sdl $1+$2 ? notreg($3) && samesign($1,$3): lal $1 sti $2+w2*/
- #endif
- lal sdf ? samesign($1,$1+$2): sdl $1+$2
- lal stf ? samesign($1,$1+$2): stl $1+$2
- lal sti w : stl $1
- lal sti w2 : sdl $1
- #ifdef INT
- lde lde $1-w2 : lae $2 loi 4*w
- lde loe $1-w : lae $2 loi 3*w
- #endif
- lde sde $1 :
- lde sde lde $1+w2 sde $2+w2 : lae $1 lae $2 blm 4*w
- #ifdef INT
- /*ldl ldl $1-w2 ? notreg($1) && notreg($2) && samesign($1,$2):*/
- /* lal $2 loi 4*w */
- /*ldl lol $1-w ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* lal $2 loi 3*w */
- #endif
- ldl sdl $1:
- lxa loi lxa $1 sti $2 :
- lxa lof lxa $1 stf $2 :
- lxa ldf lxa $1 sdf $2 :
- lxa >1 stf lxa $1 lof $2 : dup w lxa $1 stf $2
- lxa >1 sdf lxa $1 ldf $2 : dup w2 lxa $1 sdf $2
- lxl lof lxl $1 stf $2 :
- lxl ldf lxl $1 sdf $2 :
- lxl >1 stf lxl $1 lof $2 : dup w lxl $1 stf $2
- lxl >1 sdf lxl $1 ldf $2 : dup w2 lxl $1 sdf $2
- lxa >1 sti lxa $1 loi $2 ? $2%w==0: dup $2 lxa $1 sti $2
- loc -1 adi w : dec
- loc dec ? sfit($1-1,8*w) : loc $1-1
- loc -1 bgt : zge $2
- loc -1 ble : zlt $2
- loc -1 dvi w : ngi w
- ldc -1 dvi w2 : ngi w2
- loc -1 loe adi w : loe $2 dec
- loc -1 lol adi w : lol $2 dec
- loc -1 mli w : ngi w
- ldc -1 mli w2 : ngi w2
- loc -1 sbi w : inc
- loc inc ? sfit($1+1,8*w) : loc $1+1
- loc 0 adi w :
- ldc 0 adi w2 :
- loc 0 ads w :
- ldc 0 ads w2 :
- zer adi $1 :
- loc 0 beq : zeq $2
- loc 0 bge : zge $2
- loc 0 bgt : zgt $2
- loc 0 ble : zle $2
- loc 0 blt : zlt $2
- loc 0 bne : zne $2
- loc 0 cmi w teq : teq
- loc 0 cmi w tge : tge
- loc 0 cmi w tgt : tgt
- loc 0 cmi w tle : tle
- loc 0 cmi w tlt : tlt
- loc 0 cmi w tne : tne
- loc 0 cmu w teq : teq
- loc 0 cmu w tne : tne
- loc 0 cmu w zeq : zeq $3
- loc 0 cmu w zne : zne $3
- loc 0 ior w :
- ldc 0 ior w2 :
- zer ior $1 :
- loc 0 ste : zre $2
- loc 0 stl : zrl $2
- loc 0 sbi w :
- ldc 0 sbi w2 :
- zer sbi $1 :
- loc 0 xor w :
- ldc 0 xor w2 :
- zer xor $1 :
- loc 1 adi w : inc
- loc 1 bge : zgt $2
- loc 1 blt : zle $2
- loc 1 dvi w :
- ldc 1 dvi w2 :
- loc 1 dvu w :
- loc 1 dvu w2 :
- loc 1 loe adi w : loe $2 inc
- loc 1 lol adi w : lol $2 inc
- loc 0 mli w : asp w loc 0
- ldc 0 mli w2 : asp w2 ldc 0
- loc 0 mlu w : asp w loc 0
- ldc 0 mlu w2 : asp w2 ldc 0
- loc 1 mli w :
- ldc 1 mli w2 :
- loc 1 mlu w :
- ldc 1 mlu w2 :
- loc 1 sbi w : dec
- loc loe mli w : loe $2 loc $1 mli w
- loc loe mlu w : loe $2 loc $1 mlu w
- loc loe adi w loc : loe $2 loc $1 adi w loc $4
- loc loe adi w inc : loe $2 loc $1 adi w inc
- loc loe adi w dec : loe $2 loc $1 adi w dec
- loc lol mli w : lol $2 loc $1 mli w
- loc lol mlu w : lol $2 loc $1 mlu w
- loc lol adi w loc : lol $2 loc $1 adi w loc $4
- loc lol adi w inc : lol $2 loc $1 adi w dec
- loc lol adi w dec : lol $2 loc $1 adi w dec
- ldc lde mli w2 : lde $2 ldc $1 mli w2
- ldc lde mlu w2 : lde $2 ldc $1 mlu w2
- ldc lde adi w2 : lde $2 ldc $1 adi w2
- ldc ldl mli w2 : ldl $2 ldc $1 mli w2
- ldc ldl mlu w2 : ldl $2 ldc $1 mlu w2
- ldc ldl adi w2 : ldl $2 ldc $1 adi w2
- loc 2 mli w : loc 1 sli w
- loc 4 mli w : loc 2 sli w
- loc 8 mli w : loc 3 sli w
- loc 16 mli w : loc 4 sli w
- loc 32 mli w : loc 5 sli w
- loc 64 mli w : loc 6 sli w
- loc 128 mli w : loc 7 sli w
- loc 256 mli w : loc 8 sli w
- loc 2 mlu w : loc 1 slu w
- loc 4 mlu w : loc 2 slu w
- loc 8 mlu w : loc 3 slu w
- loc 16 mlu w : loc 4 slu w
- loc 32 mlu w : loc 5 slu w
- loc 64 mlu w : loc 6 slu w
- loc 128 mlu w : loc 7 slu w
- loc 256 mlu w : loc 8 slu w
- loc 2 dvu w : loc 1 sru w
- loc 4 dvu w : loc 2 sru w
- loc 8 dvu w : loc 3 sru w
- loc 16 dvu w : loc 4 sru w
- loc 32 dvu w : loc 5 sru w
- loc 64 dvu w : loc 6 sru w
- loc 128 dvu w : loc 7 sru w
- loc 256 dvu w : loc 8 sru w
- loc adi undefined : adi $1
- loc sbi undefined : sbi $1
- loc mli undefined : mli $1
- loc dvi undefined : dvi $1
- loc rmi undefined : rmi $1
- loc ngi undefined : ngi $1
- loc sli undefined : sli $1
- loc sri undefined : sri $1
- loc adu undefined : adu $1
- loc sbu undefined : sbu $1
- loc mlu undefined : mlu $1
- loc dvu undefined : dvu $1
- loc rmu undefined : rmu $1
- loc slu undefined : slu $1
- loc sru undefined : sru $1
- loc adf undefined : adf $1
- loc sbf undefined : sbf $1
- loc mlf undefined : mlf $1
- loc dvf undefined : dvf $1
- loc ngf undefined : ngf $1
- loc fif undefined : fif $1
- loc fef undefined : fef $1
- loc zer undefined : zer $1
- loc zrf undefined : zrf $1
- loc los w : loi $1
- loc sts w : sti $1
- loc ads w : adp $1
- ldc ads w2 ? sfit($1,8*w): adp $1
- loc ass w : asp $1
- loc bls w : blm $1
- loc dus w : dup $1
- loc loc $1 cii :
- loc loc $1 cuu :
- loc loc $1 cff :
- loc and undefined : and $1
- loc ior undefined : ior $1
- loc xor undefined : xor $1
- loc com undefined : com $1
- loc rol undefined : rol $1
- loc 0 rol :
- loc ror undefined : ror $1
- loc 0 ror :
- loc inn undefined : inn $1
- loc set undefined : set $1
- loc cmi undefined : cmi $1
- loc cmu undefined : cmu $1
- loc cmf undefined : cmf $1
- loe dec ste $1: dee $1
- loe inc ste $1: ine $1
- loe loc 0 mli w : loc 0
- #ifdef INT
- loe loe $1-w : lde $2
- loe loe $1+w beq : lde $1 beq $3
- loe loe $1+w bge : lde $1 ble $3
- loe loe $1+w bgt : lde $1 blt $3
- loe loe $1+w ble : lde $1 bge $3
- loe loe $1+w blt : lde $1 bgt $3
- loe loe $1+w bne : lde $1 bne $3
- loe loe $1+w cmi w : lde $1 cmi w ngi w
- #endif
- ngi w teq : teq
- ngi w tge : tle
- ngi w tgt : tlt
- ngi w tle : tge
- ngi w tlt : tgt
- ngi w tne : tne
- #ifdef INT
- loe loe $1+w mli w : lde $1 mli w
- loe loe $1+w adi w : lde $1 adi w
- loe loe $1 : loe $1 dup w
- #endif
- loe ste $1 :
- lol blm w ? p==w : loi w sil $1
- ldl blm w ? p==w2 : loi w sil $1
- lol dec stl $1 : del $1
- lol inc stl $1 : inl $1
- lol loc 0 mli w : loc 0
- lol loi w ? w==p : lil $1
- ldl loi w ? p==w2 : lil $1
- #ifdef INT
- /*lol lol $1-w ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $2 */
- /*lol lol $1+w beq ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 beq $3 */
- /*lol lol $1+w bge ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 ble $3 */
- /*lol lol $1+w bgt ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 blt $3 */
- /*lol lol $1+w ble ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 bge $3 */
- /*lol lol $1+w blt ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 bgt $3 */
- /*lol lol $1+w bne ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 bne $3 */
- /*lol lol $1+w cmi w ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 cmi w ngi w */
- /*lol lol $1+w mli w ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 mli w */
- /*lol lol $1+w adi w ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* ldl $1 adi w */
- lol lol $1 : lol $1 dup w
- #endif
- lol stl $1:
- lol sti w ? p==w : sil $1
- ldl sti w ? p==w2 : sil $1
- mli ngi $1: ngi $1 mli $1
- ngi adi $1: sbi $1
- ngf adf $1: sbf $1
- ngi sbi $1: adi $1
- ngf sbf $1: adf $1
- ngi ngi $1:
- ngf ngf $1:
- #ifdef INT
- sde sde $1+w2 : lae $1 sti 4*w
- sde ste $1+w2 : lae $1 sti 3*w
- sde loc ste $1-w : loc $2 lae $3 sti 3*w
- sde lol ste $1-w : lol $2 lae $3 sti 3*w
- sde lde $1 : dup w2 sde $1
- #endif
- sdf 0 : sti w2
- #ifdef INT
- /*sdl sdl $1+w2 ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* lal $1 sti 4*w */
- /*sdl stl $1+w2 ? notreg($1) && notreg($2) && samesign($1,$2): */
- /* lal $1 sti 3*w */
- /*sdl loc stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
- /* loc $2 lal $3 sti 3*w */
- /*sdl loe stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
- /* loe $2 lal $3 sti 3*w */
- sdl ldl $1 : dup w2 sdl $1
- ste loe $1 : dup w ste $1
- ste ste $1-w : sde $2
- ste loc ste $1-w : loc $2 sde $3
- ste lol ste $1-w : lol $2 sde $3
- stl lol $1 : dup w stl $1
- #endif
- stf 0 : sti w
- sdl ldl $1 ret w2 : ret w2
- #ifdef INT
- /*stl stl $1+w ? notreg($1) && notreg($2) && samesign($1,$2): sdl $1 */
- /*stl loc stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
- /* loc $2 sdl $3 */
- /*stl loe stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
- /* loe $2 sdl $3 */
- #endif
- stl lol $1 ret w : ret w
- lal sti lal $1 loi $2 ret $2 : ret $2
- loc sbi w loc sbi w : loc $1+$3 sbi w
- ldc sbi w2 ldc sbi w2 : ldc $1+$3 sbi w2
- loc sbi w loc adi w : loc $1-$3 sbi w
- ldc sbi w2 ldc adi w2 : ldc $1-$3 sbi w2
- loc sbi w loc mli w : loc $3 mli w loc $1*$3 sbi w
- loc sbi w loc 1 sli w : loc $3 sli w loc 2*$1 sbi w
- teq teq : tne
- teq tne : teq
- teq zne : zeq $2
- teq zeq : zne $2
- tge teq : tlt
- tge tne : tge
- tge zeq : zlt $2
- tge zne : zge $2
- tgt teq : tle
- tgt tne : tgt
- tgt zeq : zle $2
- tgt zne : zgt $2
- tle teq : tgt
- tle tne : tle
- tle zeq : zgt $2
- tle zne : zle $2
- tlt teq : tge
- tlt tne : tlt
- tlt zeq : zge $2
- tlt zne : zlt $2
- tne teq : teq
- tne tne : tne
- tne zeq : zeq $2
- tne zne : zne $2
- #ifdef INT
- loc 0 loc 0 loc 0 : zer 3*w
- zer defined loc 0 : zer $1+w
- #endif
- loi 1 loc and w ? ($2&255)==255: loi 1
- loi <w loc w loc cii : loi $1 loc $2 loc $3 cui
- loi 1 loc 1 loc w cii loc 255 and w : loi 1
- loi 1 loc 1 loc w cii loc cmi w zeq ? $5>=0&&$5<128 : loi 1 loc $5 cmi w zeq $7
- loi 1 loc 1 loc w cii loc cmi w zne ? $5>=0&&$5<128 : loi 1 loc $5 cmi w zne $7
- loi 1 loc 1 loc w cii loc w loc w ciu loc 255 and w: loi 1
- cmp teq : cms p teq
- cmp tne : cms p tne
- cmp zeq : cms p zeq $2
- cmp zne : cms p zne $2
- cmu defined teq : cms $1 teq
- cmu defined tne : cms $1 tne
- cms w zeq : beq $2
- cms w zne : bne $2
- lol lae aar w adp : adp $4 lol $1 lae $2 aar w
- loe lae aar w adp : adp $4 loe $1 lae $2 aar w
- cmi defined zeq : cms $1 zeq $2
- cmi defined zne : cms $1 zne $2
- #ifdef INT
- loe $4 inc dup w ste : ine $1 loe $1
- loe $4 dec dup w ste : dee $1 loe $1
- lol $4 inc dup w stl : inl $1 lol $1
- lol $4 dec dup w stl : del $1 lol $1
- adp dup p ste adp -$1 ? p==w : dup p adp $1 ste $3
- adp dup p sde adp -$1 ? p==w2 : dup p adp $1 sde $3
- adp dup p stl adp -$1 ? p==w : dup p adp $1 stl $3
- adp dup p sdl adp -$1 ? p==w2 : dup p adp $1 sdl $3
- inc dup w ste dec : dup w inc ste $3
- inc dup w stl dec : dup w inc stl $3
- #endif
- bra lab $1 : lab $2
- zeq bra lab $1 : zne $2 lab $1
- zge bra lab $1: zlt $2 lab $1
- zgt bra lab $1 : zle $2 lab $1
- zlt bra lab $1 : zge $2 lab $1
- zle bra lab $1 : zgt $2 lab $1
- zne bra lab $1 : zeq $2 lab $1
- beq bra lab $1 : bne $2 lab $1
- bge bra lab $1 : blt $2 lab $1
- bgt bra lab $1 : ble $2 lab $1
- blt bra lab $1 : bge $2 lab $1
- ble bra lab $1 : bgt $2 lab $1
- bne bra lab $1 : beq $2 lab $1
- lin lin : lin $2
- lin lab lin : lab $2 lin $3
- lin ret : ret $2
- lin bra : bra $2
- #ifdef INT
- dup p stl loi w ? p==w : stl $2 lil $2
- dup p sdl loi w ? p==w2 : sdl $2 lil $2
- dup p stl sti w ? p==w : stl $2 sil $2
- dup p sdl sti w ? p==w2 : sdl $2 sil $2
- #endif
- loc 0 cms w : tne
- zer w : loc 0
- loc loc adi w ? sfit($1+$2,8*w) : loc $1+$2
- loc loc sbi w ? sfit($1-$2,8*w) : loc $1-$2
- loc loc mli w ? sfit($1*$2,8*w) : loc $1*$2
- loc loc !=0 dvi w : loc $1/$2
- loc loc and w : loc $1&$2
- loc loc ior w : loc $1|$2
- loc 0 loc 0 ior w2 :
- loc loc xor w : loc $1^$2
- loc 0 loc 0 xor w2 :
- loc loc rol w : loc rotate($1,$2)
- loc loc ror w : loc rotate($1,8*w-$2)
- loc ngi w ? sfit(-$1,8*w) : loc -$1
- loc com w : loc ~$1
- ldc ngi w2 : ldc -$1
- /*loc lae aar w ? $1>=rom(2,0) && $1 <= rom(2,0)+rom(2,1) : */
- /* adp ($1-rom(2,0))*rom(2,2) */
- /*loc lae lar w ? $1>=rom(2,0) && $1 <= rom(2,0)+rom(2,1) : */
- /* adp ($1-rom(2,0))*rom(2,2) loi rom(2,2) */
- /*loc lae sar w ? $1>=rom(2,0) && $1 <= rom(2,0)+rom(2,1) : */
- /* adp ($1-rom(2,0))*rom(2,2) sti rom(2,2) */
- loc teq : loc $1==0
- loc tne : loc $1!=0
- loc tge : loc $1>=0
- loc tle : loc $1<=0
- loc tgt : loc $1>0
- loc tlt : loc $1<0
- loc 0 zeq : bra $2
- loc zeq :
- loc !=0 zne : bra $2
- loc zne :
- loc >=0 zge : bra $2
- loc zge :
- loc <=0 zle : bra $2
- loc zle :
- loc >0 zgt : bra $2
- loc zgt :
- loc <0 zlt : bra $2
- loc zlt :
- loc loc $1 beq : bra $3
- loc loc beq :
- loc loc !=$1 bne : bra $3
- loc loc bne :
- loc loc bge ? $1>=$2 : bra $3
- loc loc bge :
- loc loc ble ? $1<=$2 : bra $3
- loc loc ble :
- loc loc bgt ? $1>$2 : bra $3
- loc loc bgt :
- loc loc blt ? $1<$2 : bra $3
- loc loc blt :
- lae loi >4*w lal sti $2 : lae $1 lal $3 blm $2
- lal loi >4*w lae sti $2 : lal $1 lae $3 blm $2
- lal loi >4*w lal sti $2 ? ( $3<=$1-$2 || $3>=$1+$2 ) :
- lal $1 lal $3 blm $2
- lae loi >4*w lae sti $2 ? ($3<=$1-$2 || $3>=$1+$2) :
- lae $1 lae $3 blm $2
- loc 0 loc w loc cif : zrf $3
- loc >=0 loc w loc w2 ciu : ldc $1
- loc loc w loc w2 cii : ldc $1
- loi loc >=0 inn $1 ? $2<$1*8 :
- lof ($2/(8*w))*w loc $2&(8*w-1) inn w
- ldl loc >=0 inn w2 ? $2<16*w :
- lol $1+($2/(8*w))*w loc $2&(8*w-1) inn w
- lde loc >=0 inn w2 ? $2<16*w :
- loe $1+($2/(8*w))*w loc $2&(8*w-1) inn w
- ldf loc >=0 inn w2 ? $2<16*w :
- lof $1+($2/(8*w))*w loc $2&(8*w-1) inn w
- loc inn ? $1<0 || $1>=8*$2 : asp $2 loc 0
- lol loc adi w stl $1 : loc $2 lol $1 adi w stl $4
- lol loe adi w stl $1 : loe $2 lol $1 adi w stl $4
- lol lol !=$1 adi w stl $1 : lol $2 lol $1 adi w stl $4
- loe loc adi w ste $1 : loc $2 loe $1 adi w ste $4
- loe loe !=$1 adi w ste $1 : loe $2 loe $1 adi w ste $4
- loe lol adi w ste $1 : lol $2 loe $1 adi w ste $4
- lol loc ior w stl $1 : loc $2 lol $1 ior w stl $4
- lol loe ior w stl $1 : loe $2 lol $1 ior w stl $4
- lol lol !=$1 ior w stl $1 : lol $2 lol $1 ior w stl $4
- loe loc ior w ste $1 : loc $2 loe $1 ior w ste $4
- loe loe !=$1 ior w ste $1 : loe $2 loe $1 ior w ste $4
- loe lol ior w ste $1 : lol $2 loe $1 ior w ste $4
- lol loc and w stl $1 : loc $2 lol $1 and w stl $4
- lol loe and w stl $1 : loe $2 lol $1 and w stl $4
- lol lol !=$1 and w stl $1 : lol $2 lol $1 and w stl $4
- loe loc and w ste $1 : loc $2 loe $1 and w ste $4
- loe loe !=$1 and w ste $1 : loe $2 loe $1 and w ste $4
- loe lol and w ste $1 : lol $2 loe $1 and w ste $4
- loi asp $1 : asp p
- lal loi 4*w loc loc loc loc ior 4*w ? ($3==0)+($4==0)+($5==0)+($6==0)>2 :
- lol $1+3*w loc $3 ior w lol $1+w2 loc $4 ior w lol $1+w loc $5 ior w lol $1 loc $6 ior w
- loc dup 2 stl loc dup 2 stl :
- loc $1 stl $3 loc $4 stl $6 loc $1 loc $4
- lol lol adp stl $2 sti != p ? p==w : lol $1 sti $5 lol $2 adp $3 stl $4
- ldl ldl adp sdl $2 sti != p ? p==w2 : ldl $1 sti $5 ldl $2 adp $3 sdl $4
- loe loe adp ste $2 sti !=p ? p==w : loe $1 sti $5 loe $2 adp $3 ste $4
- lde lde adp sde $2 sti !=p ? p==w2 : lde $1 sti $5 lde $2 adp $3 sde $4
- #ifndef INT
- dup w stl : stl $2 lol $2
- dup w ste : ste $2 loe $2
- dup w sil : sil $2 lil $2
- dup w loe sti w ? p==w : loe $2 sti w loe $2 loi w
- dup w lde sti w ? p==w2 : lde $2 sti w lde $2 loi w
- dup w lol stf ? p==w : lol $2 stf $3 lol $2 lof $3
- dup w ldl stf ? p==w2 : ldl $2 stf $3 ldl $2 lof $3
- dup w loe stf ? p==w : loe $2 stf $3 loe $2 lof $3
- dup w lde stf ? p==w2 : lde $2 stf $3 lde $2 lof $3
- dup w2 sdl : sdl $2 ldl $2
- dup w2 sde : sde $2 lde $2
- dup w2 lol sti w2 ? p==w : lol $2 sti w2 lol $2 loi w2
- dup w2 ldl sti w2 ? p==w2 : ldl $2 sti w2 ldl $2 loi w2
- dup w2 loe sti w2 ? p==w : loe $2 sti w2 loe $2 loi w2
- dup w2 lde sti w2 ? p==w2 : lde $2 sti w2 lde $2 loi w2
- dup w2 lol sdf ? p==w : lol $2 sdf $3 lol $2 ldf $3
- dup w2 ldl sdf ? p==w2 : ldl $2 sdf $3 ldl $2 ldf $3
- dup w2 loe sdf ? p==w : loe $2 sdf $3 loe $2 ldf $3
- dup w2 lde sdf ? p==w2 : lde $2 sdf $3 lde $2 ldf $3
- lol dup w : lol $1 lol $1
- loe dup w : loe $1 loe $1
- lil dup w : lil $1 lil $1
- loe loi w dup 2 ? p==w : loe $1 loi w loe $1 loi w
- lde loi w dup 2 ? p==w2 : lde $1 loi w lde $1 loi w
- ldl dup w2 : ldl $1 ldl $1
- lde dup w2 : lde $1 lde $1
- #endif
- adp stl lol $2 adp -$1 ? p==w : dup p adp $1 stl $2
- adp sdl ldl $2 adp -$1 ? p==w2 : dup p adp $1 sdl $2
- adp ste loe $2 adp -$1 ? p==w : dup p adp $1 ste $2
- adp sde lde $2 adp -$1 ? p==w2 : dup p adp $1 sde $2
- adp sil lil $2 adp -$1 ? p==w : dup p adp $1 sil $2
- adp lol sti p lol $2 loi p adp -$1 ? p==w : dup p adp $1 lol $2 sti p
- adp ldl sti p ldl $2 loi p adp -$1 ? p==w2 : dup p adp $1 ldl $2 sti p
- adp loe sti p loe $2 loi p adp -$1 ? p==w : dup p adp $1 loe $2 sti p
- adp lde sti p lde $2 loi p adp -$1 ? p==w2 : dup p adp $1 lde $2 sti p
- /* dead code patterns */
- bra aar : bra $1
- bra adf : bra $1
- bra adi : bra $1
- bra adp : bra $1
- bra ads : bra $1
- bra adu : bra $1
- bra and : bra $1
- bra asp : bra $1
- bra ass : bra $1
- bra beq : bra $1
- bra bge : bra $1
- bra bgt : bra $1
- bra ble : bra $1
- bra blm : bra $1
- bra bls : bra $1
- bra blt : bra $1
- bra bne : bra $1
- bra bra : bra $1
- bra cai : bra $1
- bra cal : bra $1
- bra cff : bra $1
- bra cfi : bra $1
- bra cfu : bra $1
- bra cif : bra $1
- bra cii : bra $1
- bra ciu : bra $1
- bra cmf : bra $1
- bra cmi : bra $1
- bra cmp : bra $1
- bra cms : bra $1
- bra cmu : bra $1
- bra com : bra $1
- bra csa : bra $1
- bra csb : bra $1
- bra cuf : bra $1
- bra cui : bra $1
- bra cuu : bra $1
- bra dch : bra $1
- bra dec : bra $1
- bra dee : bra $1
- bra del : bra $1
- bra dup : bra $1
- bra dus : bra $1
- bra dvf : bra $1
- bra dvi : bra $1
- bra dvu : bra $1
- bra exg : bra $1
- bra fef : bra $1
- bra fif : bra $1
- bra fil : bra $1
- bra gto : bra $1
- bra inc : bra $1
- bra ine : bra $1
- bra inl : bra $1
- bra inn : bra $1
- bra ior : bra $1
- bra lae : bra $1
- bra lal : bra $1
- bra lar : bra $1
- bra ldc : bra $1
- bra lde : bra $1
- bra ldf : bra $1
- bra ldl : bra $1
- bra lfr : bra $1
- bra lil : bra $1
- bra lim : bra $1
- bra lin : bra $1
- bra lni : bra $1
- bra loc : bra $1
- bra loe : bra $1
- bra lof : bra $1
- bra loi : bra $1
- bra lol : bra $1
- bra lor : bra $1
- bra los : bra $1
- bra lpb : bra $1
- bra lpi : bra $1
- bra lxa : bra $1
- bra lxl : bra $1
- bra mlf : bra $1
- bra mli : bra $1
- bra mlu : bra $1
- bra mon : bra $1
- bra ngf : bra $1
- bra ngi : bra $1
- bra nop : bra $1
- bra rck : bra $1
- bra ret : bra $1
- bra rmi : bra $1
- bra rmu : bra $1
- bra rol : bra $1
- bra ror : bra $1
- bra rtt : bra $1
- bra sar : bra $1
- bra sbf : bra $1
- bra sbi : bra $1
- bra sbs : bra $1
- bra sbu : bra $1
- bra sde : bra $1
- bra sdf : bra $1
- bra sdl : bra $1
- bra set : bra $1
- bra sig : bra $1
- bra sil : bra $1
- bra sim : bra $1
- bra sli : bra $1
- bra slu : bra $1
- bra sri : bra $1
- bra sru : bra $1
- bra ste : bra $1
- bra stf : bra $1
- bra sti : bra $1
- bra stl : bra $1
- bra str : bra $1
- bra sts : bra $1
- bra teq : bra $1
- bra tge : bra $1
- bra tgt : bra $1
- bra tle : bra $1
- bra tlt : bra $1
- bra tne : bra $1
- bra trp : bra $1
- bra xor : bra $1
- bra zeq : bra $1
- bra zer : bra $1
- bra zge : bra $1
- bra zgt : bra $1
- bra zle : bra $1
- bra zlt : bra $1
- bra zne : bra $1
- bra zre : bra $1
- bra zrf : bra $1
- bra zrl : bra $1
|