290,293c290,293
< _iv = %(ivValue)s & 1;
< _ic = %(icValue)s & 1;
< _xv = %(xvValue)s & 1;
< _xc = %(xcValue)s & 1;
---
> _iv = %(iv)s & 1;
> _ic = %(ic)s & 1;
> _xv = %(xv)s & 1;
> _xc = %(xc)s & 1;
307a308,316
>
> default_ic = "findCarry(32, res, op1, op2)"
> default_iv = "findOverflow(32, res, op1, op2)"
> default_xc = "findCarry(64, res, op1, op2)"
> default_xv = "findOverflow(64, res, op1, op2)"
> default_sub_ic = "!findCarry(32, res, op1, ~op2)"
> default_sub_iv = "findOverflow(32, res, op1, ~op2)"
> default_sub_xc = "!findCarry(64, res, op1, ~op2)"
> default_sub_xv = "findOverflow(64, res, op1, ~op2)"
321c330,347
< def format IntOpCc(code, icValue, ivValue, xcValue, xvValue, *opt_flags) {{
---
> def format IntOpCc(code, ic=default_ic, iv=default_iv,
> xc=default_xc, xv=default_xv,
> sub=False, *opt_flags) {{
>
> if sub == "False":
> (def_ic, def_iv, def_xc, def_xv) = \
> (default_ic, default_iv, default_xc, default_xv)
> else:
> (def_ic, def_iv, def_xc, def_xv) = \
> (default_sub_ic, default_sub_iv, default_sub_xc, default_sub_xv)
> if ic == "default_ic":
> ic = def_ic
> if iv == "default_iv":
> iv = def_iv
> if xc == "default_xc":
> xc = def_xc
> if xv == "default_xv":
> xv = def_xv
331,335c357,358
< def format IntOpCcRes(code, *opt_flags) {{
< ccCode = calcCcCode % {"icValue":"0",
< "ivValue":"0",
< "xcValue":"0",
< "xvValue":"0"}
---
> def format IntOpCcRes(code, ic=0, iv=0, xc=0, xv=0, *opt_flags) {{
> ccCode = calcCcCode % {"ic" : ic, "iv" : iv, "xc" : xc, "xv" : xv}