from openpower.decoder.isa.caller import inject, instruction_info
from openpower.decoder.helpers import (EXTS, EXTS64, EXTZ64, ROTL64, ROTL32,
- MASK, ne, eq, gt, ge, lt, le, ltu, gtu, length,
+ MASK, MASK32,
+ ne, eq, gt, ge, lt, le, ltu, gtu, length,
trunc_divs, trunc_rems, MULS, DIVS, MODS,
- EXTS128, undefined)
+ EXTS128, undefined,
+ DOUBLE, SINGLE,
+ FPADD32, FPSUB32, FPMUL32, FPDIV32,
+ FPADD64, FPSUB64, FPMUL64, FPDIV64,
+ )
from openpower.decoder.selectable_int import SelectableInt
from openpower.decoder.selectable_int import selectconcat as concat
from openpower.decoder.orderedset import OrderedSet
-class %s:
+"""
+
+fpheader = """
+from openpower.decoder.helpers import (
+ DOUBLE, SINGLE,
+ FPADD32, FPSUB32, FPMUL32, FPDIV32,
+ FPADD64, FPSUB64, FPMUL64, FPDIV64,
+ )
+from openpower.decoder.isafunctions.fpfromint import INT2FP
+
"""
fname = os.path.join(isadir, "%s.py" % pagename)
with open(fname, "w") as f:
iinf = ''
- f.write(header % pagename) # write out header
+ # write headers: FP gets extra imports
+ f.write(header) # write out header
+ if pagename.startswith("fp"):
+ f.write(fpheader)
+ f.write("class %s:\n" % pagename)
+
# go through all instructions
for page in instrs:
d = self.instr[page]