summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2013-05-30 10:45:10 -0400
committerOri Bernstein <ori@eigenstate.org>2013-05-30 10:45:10 -0400
commite01e8d1bd5f6412dedd7370b7e2ce1d55f7b7eee (patch)
treef2df6260cf6f0aa1588fb4b4f0fcbeded7c26eaf
parent11752f28b4f0630ee461631196e2ebdefa803a82 (diff)
downloadmc-e01e8d1bd5f6412dedd7370b7e2ce1d55f7b7eee.tar.gz
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.
-rw-r--r--6/isel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/6/isel.c b/6/isel.c
index 7aea7c1..97ebc4c 100644
--- a/6/isel.c
+++ b/6/isel.c
@@ -527,7 +527,7 @@ Loc *selexpr(Isel *s, Node *n)
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);