Harald van Dijk wrote:
As that commit is an optimization, not a codegen fix, I would like to
ask whether the original issue is still present and just requires a more
complex test case to expose, or whether it has accidentally been fixed
by this commit.

No, I think this bug must exist since the very early days of
the project, on all 32-bit platforms.  This might fix it:

--- a/tccgen.c
+++ b/tccgen.c
@@ -1990,6 +1990,7 @@ static void gen_opl(int op)
         vtop[-1] = vtop[-2];
         vtop[-2] = tmp;
         /* stack: L1 L2 H1 H2 */
+        save_regs(4);
         /* compare high */
         op1 = op;
         /* when values are equal, we need to compare low words. since

-- gr


Thanks and keep up the good work!

Cheers,
Harald van Dijk


_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to