add FRA-FRT fp reg names to ISACaller parser
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 14 May 2021 18:53:52 +0000 (19:53 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 14 May 2021 18:53:52 +0000 (19:53 +0100)
src/openpower/decoder/isa/caller.py
src/openpower/decoder/pseudo/parser.py

index 9ce9905b723ddc44789596a37c2429e06b162e5b..4b8c1004510ea1b62c4b76054708d7670a897ad2 100644 (file)
@@ -54,6 +54,11 @@ special_sprs = {
 REG_SORT_ORDER = {
     # TODO (lkcl): adjust other registers that should be in a particular order
     # probably CA, CA32, and CR
+    "FRT": 0,
+    "FRA": 0,
+    "FRB": 0,
+    "FRC": 0,
+    "FRS": 0,
     "RT": 0,
     "RA": 0,
     "RB": 0,
index 0e671960b601e5700daab0780a6eb3f1340645c3..dce891212626689be388a09993460dc3306650b6 100644 (file)
@@ -23,6 +23,8 @@ import ast
 
 # Helper function
 
+regs = ['RA', 'RS', 'RB', 'RC', 'RT']
+fregs = ['FRA', 'FRS', 'FRB', 'FRC', 'FRT']
 
 def Assign(autoassign, assignname, left, right, iea_mode):
     names = []
@@ -263,7 +265,7 @@ class PowerParser:
         print(form)
         formkeys = form._asdict().keys()
         self.declared_vars = set()
-        for rname in ['RA', 'RB', 'RC', 'RT', 'RS']:
+        for rname in regs + fregs:
             self.gprs[rname] = None
             self.declared_vars.add(rname)
         self.available_op_fields = set()
@@ -673,7 +675,7 @@ class PowerParser:
             p[0] = apply_trailer(p[1], p[2])
             if isinstance(p[1], ast.Name):
                 name = p[1].id
-                if name in ['RA', 'RS', 'RB', 'RC', 'RT']:
+                if name in regs + fregs:
                     self.read_regs.add(name)
 
     def p_atom_name(self, p):