]> Cypherpunks repositories - gostls13.git/commitdiff
load binary op arguments into registers
authorKai Backman <kaib@golang.org>
Wed, 30 Sep 2009 21:28:18 +0000 (14:28 -0700)
committerKai Backman <kaib@golang.org>
Wed, 30 Sep 2009 21:28:18 +0000 (14:28 -0700)
go/test: passes 69% (237/339)

R=rsc
APPROVED=rsc
DELTA=12  (3 added, 9 deleted, 0 changed)
OCL=35178
CL=35180

src/cmd/5g/cgen.c
test/arm-pass.txt

index 28b96311192b1221c85e400b470aa371ab957f4f..e6b632864cbc0c5b09d0d5119f03abe0145760be 100644 (file)
@@ -364,18 +364,10 @@ sbop:     // symmetric binary
        }
 
 abop:  // asymmetric binary
+       // TODO(kaib): use fewer registers here.
        if(nl->ullman >= nr->ullman) {
                regalloc(&n1, nl->type, res);
                cgen(nl, &n1);
-
-               if(sudoaddable(a, nr, &addr, &w)) {
-                       p1 = gins(a, N, &n1);
-                       p1->from = addr;
-                       gmove(&n1, res);
-                       sudoclean();
-                       regfree(&n1);
-                       goto ret;
-               }
                regalloc(&n2, nr->type, N);
                cgen(nr, &n2);
        } else {
index 0baa67e7420e314fbdbf38b4eb6e18e5c602b62a..de9e8db55a8ffeb636f73f36b0ecee9da93130f5 100644 (file)
@@ -213,6 +213,7 @@ ken/complit.go
 ken/for.go
 ken/label.go
 ken/mfunc.go
+ken/ptrvar.go
 ken/rob2.go
 ken/robfor.go
 ken/robif.go
@@ -221,6 +222,7 @@ ken/simpfun.go
 ken/simpprint.go
 ken/simpswitch.go
 ken/simpvar.go
+ken/strvar.go
 method1.go
 method2.go
 method3.go