oppc/code: support if exprs
[openpower-isa.git] / src / openpower / oppc / __main__.py
index deb165a2722d70ec5f0c53a912ba3bcb83351662..63a03eee5e7f328315839137c0988d66a28eed78 100644 (file)
@@ -6,6 +6,7 @@ from openpower.decoder.power_enums import (
     find_wiki_dir,
 )
 
+import openpower.oppc.pc_code as pc_code
 import openpower.oppc.pc_lexer as pc_lexer
 import openpower.oppc.pc_parser as pc_parser
 import openpower.oppc.pc_pseudocode as pc_pseudocode
@@ -61,8 +62,13 @@ do i = 0 to 1
     result[n+8:n+19] <- DPD_TO_BCD(src[n+12:n+21])
     result[n+20:n+31] <- DPD_TO_BCD(src[n+22:n+31])
 RA <- result[64-XLEN:63]
+if a < b then RT <- (RA)
+else          RT <- (RB)
 """
 tree = parser.parse(code=code)
 print(tree)
 for (level, line) in pc_pseudocode.pseudocode(tree):
     print(f"{' ' * 4 * level}{line}")
+
+for (level, line) in pc_code.code(name="cdtbcd", root=tree):
+    print(f"{' ' * 4 * level}{line}")