ref: e01e8d1bd5f6412dedd7370b7e2ce1d55f7b7eee
parent: 11752f28b4f0630ee461631196e2ebdefa803a82
author: Ori Bernstein <[email protected]>
date: Thu May 30 06:45:10 EDT 2013
Keep logical-not operands in registers. One of the operands of the test instruction needs to be in a register, which means that when testing a value against itslef, we need to load it into a reg.
--- a/6/isel.c
+++ b/6/isel.c
@@ -527,7 +527,7 @@
break;
case Olnot:
- a = selexpr(s, args[0]);
+ a = inr(s, selexpr(s, args[0]));
b = locreg(ModeB);
r = locreg(mode(n));
g(s, reloptab[exprop(n)].test, a, a, NULL);