summaryrefslogtreecommitdiff
path: root/src/cmd/5g/cgen64.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5g/cgen64.c')
-rw-r--r--src/cmd/5g/cgen64.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/cmd/5g/cgen64.c b/src/cmd/5g/cgen64.c
index 716ec5ed5..78f2f4aeb 100644
--- a/src/cmd/5g/cgen64.c
+++ b/src/cmd/5g/cgen64.c
@@ -233,8 +233,7 @@ cgen64(Node *n, Node *res)
// shift is >= 1<<32
split64(r, &cl, &ch);
gmove(&ch, &s);
- p1 = gins(AMOVW, &s, &s);
- p1->scond |= C_SBIT;
+ p1 = gins(ATST, &s, N);
p6 = gbranch(ABNE, T);
gmove(&cl, &s);
splitclean();
@@ -242,8 +241,7 @@ cgen64(Node *n, Node *res)
gmove(r, &s);
p6 = P;
}
- p1 = gins(AMOVW, &s, &s);
- p1->scond |= C_SBIT;
+ p1 = gins(ATST, &s, N);
// shift == 0
p1 = gins(AMOVW, &bl, &al);
@@ -390,8 +388,7 @@ olsh_break:
// shift is >= 1<<32
split64(r, &cl, &ch);
gmove(&ch, &s);
- p1 = gins(AMOVW, &s, &s);
- p1->scond |= C_SBIT;
+ p1 = gins(ATST, &s, N);
p6 = gbranch(ABNE, T);
gmove(&cl, &s);
splitclean();
@@ -399,8 +396,7 @@ olsh_break:
gmove(r, &s);
p6 = P;
}
- p1 = gins(AMOVW, &s, &s);
- p1->scond |= C_SBIT;
+ p1 = gins(ATST, &s, N);
// shift == 0
p1 = gins(AMOVW, &bl, &al);