From: Luke Kenneth Casson Leighton Date: Sat, 24 Jul 2021 18:09:20 +0000 (+0100) Subject: add sv.fcoss SVP64Asm support X-Git-Tag: xlen-bcd~211 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cfc71b2aeec7d1c714dfcc01f462f9c74c6e4f31;p=openpower-isa.git add sv.fcoss SVP64Asm support --- diff --git a/src/openpower/sv/trans/svp64.py b/src/openpower/sv/trans/svp64.py index 273ca6b3..672de98f 100644 --- a/src/openpower/sv/trans/svp64.py +++ b/src/openpower/sv/trans/svp64.py @@ -929,6 +929,16 @@ class SVP64Asm: log ("setvl", bin(insn)) yield ".long 0x%x" % insn + elif v30b_op in ["fcoss", "fcoss."]: + insn = 59 << (31-5) # opcode 59, bits 0-5 + insn |= int(v30b_newfields[0]) << (31-10) # RT , bits 6-10 + insn |= int(v30b_newfields[0]) << (31-20) # RB , bits 16-20 + insn |= 0b1000101100 << (31-30) # XO , bits 21..30 + if opcode == 'fsins.': + insn |= 1 << (31-31) # Rc=1 , bit 31 + log ("fsins", bin(insn)) + yield ".long 0x%x" % insn + else: yield "%s %s" % (v30b_op+rc, ", ".join(v30b_newfields)) log ("new v3.0B fields", v30b_op, v30b_newfields)