ldl ngi sdl $1==$3 && $2==4 | |
remove(indexed)
remove(locals, %[ind]>=$1 && %[ind]<$1+4 )
- "neg $1(bp)"
"neg %($1+2%)(bp)"
+ "neg $1(bp)"
"sbb %($1+2%)(bp),0" | | |
lol ads stl $1==$3 && $2==2 | | | | lol $1 adi 2 stl $1 |
#ifdef REGVARS
setcc({EXTERN2, $1}) | | |
lde ngi sde $1==$3 && $2==4 | |
remove(indirects)
- "neg ($1)"
"neg ($1+2)"
+ "neg ($1)"
"sbb ($1+2),0" | | |
loe ads ste $1==$3 && $2==2 | regorconst |
remove(indirects)
pat ldl ngi sdl $1==$3 && $2==4
kills indexed,locals %ind+%size > $1 && %ind < $1+4
-gen neg {LOCAL, $1, 2}
- neg {LOCAL, $1+2, 2}
+gen neg {LOCAL, $1+2, 2}
+ neg {LOCAL, $1, 2}
sbb {LOCAL, $1+2, 2}, {ANYCON, 0}
pat lol lol adp stl loi stl $1==$2 && $2==$4 && $5<=2
pat lde ngi sde $1==$3 && $2==4
kills indirects
-gen neg {EXTERN2, $1}
- neg {EXTERN2, $1+2}
+gen neg {EXTERN2, $1+2}
+ neg {EXTERN2, $1}
sbb {EXTERN2, $1+2}, {ANYCON, 0}
pat loe loe adp ste $1==$2 && $1==$4