diff --git a/src/cmd/5g/ggen.c b/src/cmd/5g/ggen.c index 0d87895240..328d3284da 100644 --- a/src/cmd/5g/ggen.c +++ b/src/cmd/5g/ggen.c @@ -733,7 +733,7 @@ getargs(NodeList *nn, Node *reg, int n) void cmpandthrow(Node *nl, Node *nr) { - vlong cl, cr; + vlong cl; Prog *p1; int op; Node *c, n1, n2; @@ -743,17 +743,8 @@ cmpandthrow(Node *nl, Node *nr) cl = mpgetfix(nl->val.u.xval); if(cl == 0) return; - if(smallintconst(nr)) { - cr = mpgetfix(nr->val.u.xval); - if(cl > cr) { - if(throwpc == nil) { - throwpc = pc; - ginscall(panicslice, 0); - } else - patch(gbranch(AB, T), throwpc); - } + if(smallintconst(nr)) return; - } // put the constant on the right op = brrev(op); diff --git a/src/cmd/8g/ggen.c b/src/cmd/8g/ggen.c index 983c17f44f..40f348c7d8 100644 --- a/src/cmd/8g/ggen.c +++ b/src/cmd/8g/ggen.c @@ -854,7 +854,7 @@ getargs(NodeList *nn, Node *reg, int n) void cmpandthrow(Node *nl, Node *nr) { - vlong cl, cr; + vlong cl; Prog *p1; int op; Node *c; @@ -864,18 +864,8 @@ cmpandthrow(Node *nl, Node *nr) cl = mpgetfix(nl->val.u.xval); if(cl == 0) return; - if(smallintconst(nr)) { - cr = mpgetfix(nr->val.u.xval); - if(cl > cr) { - if(throwpc == nil) { - throwpc = pc; - ginscall(panicslice, 0); - } else - patch(gbranch(AJMP, T), throwpc); - } + if(smallintconst(nr)) return; - } - // put the constant on the right op = brrev(op); c = nl;