From f39427f40abc73d62fbc3b73119ee96297b092dd Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Fri, 20 Feb 2026 14:01:49 +1300 Subject: [PATCH] symfpu: Add altdiv --- libs/symfpu | 2 +- passes/cmds/symfpu.cc | 3 +++ tests/symfpu/run-test.sh | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/symfpu b/libs/symfpu index 7fce38f94..04da5d228 160000 --- a/libs/symfpu +++ b/libs/symfpu @@ -1 +1 @@ -Subproject commit 7fce38f94fa0730b3010443eb9a1390c91e5fba0 +Subproject commit 04da5d2283989b51fe0ab44472cc598c9c50c83f diff --git a/passes/cmds/symfpu.cc b/passes/cmds/symfpu.cc index 05ee59f2a..90b83ca25 100644 --- a/passes/cmds/symfpu.cc +++ b/passes/cmds/symfpu.cc @@ -452,6 +452,7 @@ struct SymFpuPass : public Pass { else if (op.compare("add") == 0 || op.compare("sub") == 0 || op.compare("mul") == 0 + || op.compare("altdiv") == 0 // currently undocumented || op.compare("div") == 0) inputs = 2; else if (op.compare("muladd") == 0) @@ -528,6 +529,8 @@ struct SymFpuPass : public Pass { return symfpu::sqrt_flagged(format, rounding_mode, a); else if (op.compare("muladd") == 0) return symfpu::fma_flagged(format, rounding_mode, a, b, c); + else if (op.compare("altdiv") == 0) + return symfpu::falseDivide_flagged(format, rounding_mode, a, b); else log_abort(); }; diff --git a/tests/symfpu/run-test.sh b/tests/symfpu/run-test.sh index b262c26af..512a0568e 100755 --- a/tests/symfpu/run-test.sh +++ b/tests/symfpu/run-test.sh @@ -41,5 +41,6 @@ prove_op sub "-DSUB -DADDSUB -DADDS" prove_op mul "-DMUL -DMULS" prove_op div "-DDIV" prove_op muladd "-DMULADD -DMULS -DADDS" +prove_op altdiv "-DDIV -DALTDIV" generate_mk --yosys-scripts