Initial revision
This commit is contained in:
104
lib/vax4/sedf
Normal file
104
lib/vax4/sedf
Normal file
@@ -0,0 +1,104 @@
|
||||
# $Header$
|
||||
/movab/ {
|
||||
s/movab 1(\(.*\)),\1$/incl \1/
|
||||
s/movab -1(\(.*\)),\1$/decl \1/
|
||||
s/movab \([0-9]*\)(\(.*\)),\2$/addl2 $\1,\2/
|
||||
s/movab -\([0-9]*\)(\(.*\)),\2$/subl2 $\1,\2/
|
||||
s/movab 0(\(.*\)) \[\(.*\)\],\1$/addl2 \2,\1/
|
||||
s/movab 0(\(.*\)) \[\(.*\)\],\2$/addl2 \1,\2/
|
||||
}
|
||||
/$0/ {
|
||||
s/movz[bw]\([wl]\) $0,/clr\1 /
|
||||
s/mov\([bwl]\) $0,/clr\1 /
|
||||
s/cvt[bw]\([wl]\) $0,/clr\1 /
|
||||
}
|
||||
/add/ {
|
||||
s/\(add[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
s/\(add[fdlw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
|
||||
s/add\([wl]\)2 \$-\([0-9]*\),/sub\12 $\2,/
|
||||
s/add\([wl]\)3 \$-\([0-9]*\),/sub\13 $\2,/
|
||||
s/add\([wl]\)3 \(.*\),\$-\([0-9]*\),/sub\13 $\3,\2,/
|
||||
}
|
||||
/mul/ {
|
||||
s/\(mul[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
s/\(mul[fdlw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
|
||||
}
|
||||
/sub/ {
|
||||
s/\(sub[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
s/sub\([wl]\)2 \$-\([0-9]*\),/add\12 $\2,/
|
||||
s/sub\([wl]\)3 \$-\([0-9]*\),/add\13 $\2,/
|
||||
}
|
||||
/div/s/\(div[fdlw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
/bi/s/\(bi[cs][lw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
/bis/s/\(bis[lw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
|
||||
/xor/ {
|
||||
s/\(xor[lw]\)3 \(.*\),\(.*\),\3$/\12 \2,\3/
|
||||
s/\(xor[lw]\)3 \(.*\),\(.*\),\2$/\12 \3,\2/
|
||||
}
|
||||
/$1/ {
|
||||
s/add\([wl]\)2 \$1,/inc\1 /
|
||||
s/sub\([wl]\)2 \$1,/dec\1 /
|
||||
}
|
||||
/$-1/ {
|
||||
s/add\([wl]\)2 \$-1,/dec\1 /
|
||||
s/sub\([wl]\)2 \$-1,/inc\1 /
|
||||
}
|
||||
/cmp[bwl].*$0/ {
|
||||
N
|
||||
s/cmp\([bwl]\) \(.*\),$0$/tst\1 \2/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njneq/tst\1 \2\
|
||||
jneq/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njeql/tst\1 \2\
|
||||
jeql/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njgtr/tst\1 \2\
|
||||
jlss/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njlss/tst\1 \2\
|
||||
jgtr/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njgeq/tst\1 \2\
|
||||
jleq/
|
||||
s/cmp\([bwl]\) $0,\(.*\)\njleq/tst\1 \2\
|
||||
jgeq/
|
||||
P
|
||||
D
|
||||
}
|
||||
/(sp)+/ {
|
||||
N
|
||||
s/movl (sp)+,\(.*\)\npushl \1$/movl (sp),\1/
|
||||
s/tst[wl] (sp)+\nmovl fp,sp$/movl fp,sp/
|
||||
s/tst\([wl]\) (sp)+\nmov\1 \(.*\),-(sp)/mov\1 \2,(sp)/
|
||||
s/tst\([wl]\) (sp)+\nclr\1 -(sp)/clr\1 (sp)/
|
||||
s/tst\([wl]\) (sp)+\nmovzb\1 \(.*\),-(sp)/movzb\1 \2,(sp)/
|
||||
s/tst\([wl]\) (sp)+\ncvtb\1 \(.*\),-(sp)/cvtb\1 \2,(sp)/
|
||||
s/tst\([wl]\) (sp)+\ntst\1 \(.*\)$/mov\1 \2,(sp)+/
|
||||
s/tstl (sp)+\npushl \(.*\)$/movl \1,(sp)/
|
||||
s/tstl (sp)+\npusha\([bwlq]\) \(.*\)$/mova\1 \2,(sp)/
|
||||
P
|
||||
D
|
||||
}
|
||||
/^addl2 .*,sp/ {
|
||||
N
|
||||
s/addl2 .*,sp\nmovl fp,sp$/movl fp,sp/
|
||||
s/^addl2 $6,sp\nmovw \(.*\),-(sp)/tstl (sp)+\
|
||||
movw \1,(sp)/
|
||||
s/^addl2 $6,sp\nclrw -(sp)/tstl (sp)+\
|
||||
clrw (sp)/
|
||||
s/^addl2 $8,sp\nmovq \(.*\),-(sp)/movq \1,(sp)/
|
||||
P
|
||||
D
|
||||
}
|
||||
/clrw -(sp)/ {
|
||||
N
|
||||
s/clrw -(sp)\nmovw \($[0-9]*\),-(sp)/pushl \1/
|
||||
s/clrw -(sp)\nmnegw $\([0-9]*\),-(sp)/movzwl $-\1,-(sp)/
|
||||
s/clrw -(sp)\nmovw \(.*\),-(sp)/movzwl \1,-(sp)/
|
||||
s/clrw -(sp)\ncvtbw \(\$[0-9]*\),-(sp)/pushl \1/
|
||||
s/clrw -(sp)\ncvtbw \(\$.*\),-(sp)/movzwl \1,-(sp)/
|
||||
P
|
||||
D
|
||||
}
|
||||
/mov/ {
|
||||
N
|
||||
s/mov\([wl]\) \(.*\),\(.*\)\ntst\1 \3$/mov\1 \2,\3/
|
||||
P
|
||||
D
|
||||
}
|
||||
Reference in New Issue
Block a user