From 951ca2cdfb8edc7a9f669d577a88741b878b5712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Nguyen?= Date: Tue, 7 Jun 2022 19:13:48 +0200 Subject: [PATCH] cores/microwatt: add checks for add/subtract instructions. --- cores/microwatt/run.py | 138 ++++++++++++++++++++++++++++------------- 1 file changed, 95 insertions(+), 43 deletions(-) diff --git a/cores/microwatt/run.py b/cores/microwatt/run.py index 2aabb44..21be517 100644 --- a/cores/microwatt/run.py +++ b/cores/microwatt/run.py @@ -93,49 +93,101 @@ if __name__ == "__main__": args = parser.parse_args() checks = [ - ("cons_unique", {"post": 15, "pre": 12}), - ("cons_ia_fwd", {"post": 15}), - ("cons_gpr", {"post": 15}), - ("cons_cr", {"post": 15}), - ("cons_lr", {"post": 15}), - ("cons_ctr", {"post": 15}), - ("cons_xer", {"post": 15}), - ("cons_tar", {"post": 15}), - ("cons_srr0", {"post": 15}), - ("cons_srr1", {"post": 15}), - - ("insn_b", {"post": 15}), - ("insn_ba", {"post": 15}), - ("insn_bl", {"post": 15}), - ("insn_bla", {"post": 15}), - ("insn_bc", {"post": 15}), - ("insn_bca", {"post": 15}), - ("insn_bcl", {"post": 15}), - ("insn_bcla", {"post": 15}), - ("insn_bclr", {"post": 15}), - ("insn_bclrl", {"post": 15}), - ("insn_bcctr", {"post": 15}), - ("insn_bcctrl", {"post": 15}), - ("insn_bctar", {"post": 15}), - ("insn_bctarl", {"post": 15}), - - ("insn_crand", {"post": 15}), - ("insn_cror", {"post": 15}), - ("insn_crnand", {"post": 15}), - ("insn_crxor", {"post": 15}), - ("insn_crnor", {"post": 15}), - ("insn_crandc", {"post": 15}), - ("insn_creqv", {"post": 15}), - ("insn_crorc", {"post": 15}), - ("insn_mcrf", {"post": 15}), - - ("insn_cmpi", {"post": 15}), - ("insn_cmpli", {"post": 15}), - ("insn_cmp", {"post": 15}), - ("insn_cmpl", {"post": 15}), - - ("insn_mtspr", {"post": 15}), - ("insn_mfspr", {"post": 15}), + ("cons_unique", {"post": 15, "pre": 12}), + ("cons_ia_fwd", {"post": 15}), + ("cons_gpr", {"post": 15}), + ("cons_cr", {"post": 15}), + ("cons_lr", {"post": 15}), + ("cons_ctr", {"post": 15}), + ("cons_xer", {"post": 15}), + ("cons_tar", {"post": 15}), + ("cons_srr0", {"post": 15}), + ("cons_srr1", {"post": 15}), + + ("insn_b", {"post": 15}), + ("insn_ba", {"post": 15}), + ("insn_bl", {"post": 15}), + ("insn_bla", {"post": 15}), + ("insn_bc", {"post": 15}), + ("insn_bca", {"post": 15}), + ("insn_bcl", {"post": 15}), + ("insn_bcla", {"post": 15}), + ("insn_bclr", {"post": 15}), + ("insn_bclrl", {"post": 15}), + ("insn_bcctr", {"post": 15}), + ("insn_bcctrl", {"post": 15}), + ("insn_bctar", {"post": 15}), + ("insn_bctarl", {"post": 15}), + + ("insn_crand", {"post": 15}), + ("insn_cror", {"post": 15}), + ("insn_crnand", {"post": 15}), + ("insn_crxor", {"post": 15}), + ("insn_crnor", {"post": 15}), + ("insn_crandc", {"post": 15}), + ("insn_creqv", {"post": 15}), + ("insn_crorc", {"post": 15}), + ("insn_mcrf", {"post": 15}), + + ("insn_addi", {"post": 15}), + ("insn_addis", {"post": 15}), + ("insn_addpcis", {"post": 15}), + ("insn_add", {"post": 15}), + ("insn_add.", {"post": 15}), + ("insn_addo", {"post": 15}), + ("insn_addo.", {"post": 15}), + ("insn_addic", {"post": 15}), + ("insn_addic.", {"post": 15}), + ("insn_subf", {"post": 15}), + ("insn_subf.", {"post": 15}), + ("insn_subfo", {"post": 15}), + ("insn_subfo.", {"post": 15}), + ("insn_subfic", {"post": 15}), + ("insn_addc", {"post": 15}), + ("insn_addc.", {"post": 15}), + ("insn_addco", {"post": 15}), + ("insn_addco.", {"post": 15}), + ("insn_adde", {"post": 15}), + ("insn_adde.", {"post": 15}), + ("insn_addeo", {"post": 15}), + ("insn_addeo.", {"post": 15}), + ("insn_subfc", {"post": 15}), + ("insn_subfc.", {"post": 15}), + ("insn_subfco", {"post": 15}), + ("insn_subfco.", {"post": 15}), + ("insn_subfe", {"post": 15}), + ("insn_subfe.", {"post": 15}), + ("insn_subfeo", {"post": 15}), + ("insn_subfeo.", {"post": 15}), + ("insn_addme", {"post": 15}), + ("insn_addme.", {"post": 15}), + ("insn_addmeo", {"post": 15}), + ("insn_addmeo.", {"post": 15}), + ("insn_addze", {"post": 15}), + ("insn_addze.", {"post": 15}), + ("insn_addzeo", {"post": 15}), + ("insn_addzeo.", {"post": 15}), + ("insn_subfme", {"post": 15}), + ("insn_subfme.", {"post": 15}), + ("insn_subfmeo", {"post": 15}), + ("insn_subfmeo.", {"post": 15}), + ("insn_subfze", {"post": 15}), + ("insn_subfze.", {"post": 15}), + ("insn_subfzeo", {"post": 15}), + ("insn_subfzeo.", {"post": 15}), + ("insn_addex", {"post": 15}), + ("insn_neg", {"post": 15}), + ("insn_neg.", {"post": 15}), + ("insn_nego", {"post": 15}), + ("insn_nego.", {"post": 15}), + + ("insn_cmpi", {"post": 15}), + ("insn_cmpli", {"post": 15}), + ("insn_cmp", {"post": 15}), + ("insn_cmpl", {"post": 15}), + + ("insn_mtspr", {"post": 15}), + ("insn_mfspr", {"post": 15}), ] with multiprocessing.Pool(processes=args.jobs) as pool: