]> Cypherpunks repositories - gostls13.git/commitdiff
bug in int8 mod
authorKen Thompson <ken@golang.org>
Mon, 10 Aug 2009 18:20:33 +0000 (11:20 -0700)
committerKen Thompson <ken@golang.org>
Mon, 10 Aug 2009 18:20:33 +0000 (11:20 -0700)
R=rsc
OCL=32971
CL=32971

src/cmd/6g/ggen.c

index 2a61ca4e6b07da68a9daa3b906fd49b278b2a227..629a8cd3d124768fcea3ea3b2d20187dc9be46dc 100644 (file)
@@ -600,7 +600,6 @@ cgen_div(int op, Node *nl, Node *nr, Node *res)
 
        if(n < 0)
                goto divbymul;
-
        switch(n) {
        case 0:
                // divide by 1
@@ -618,7 +617,7 @@ cgen_div(int op, Node *nl, Node *nr, Node *res)
                // divide by 2
                if(op == OMOD) {
                        if(issigned[nl->type->etype]) 
-                               goto longmod;
+                               goto longdiv;
                        regalloc(&n1, nl->type, res);
                        cgen(nl, &n1);
                        nodconst(&n2, nl->type, 1);
@@ -643,7 +642,7 @@ cgen_div(int op, Node *nl, Node *nr, Node *res)
        default:
                if(op == OMOD) {
                        if(issigned[nl->type->etype]) 
-                               goto longmod;
+                               goto longdiv;
                        regalloc(&n1, nl->type, res);
                        cgen(nl, &n1);
                        nodconst(&n2, nl->type, mpgetfix(nr->val.u.xval)-1);