diff options
| author | forsyth <forsyth@vitanuova.com> | 2010-07-13 09:44:18 +0100 |
|---|---|---|
| committer | forsyth <forsyth@vitanuova.com> | 2010-07-13 09:44:18 +0100 |
| commit | 80d3d0274879caafd59672558c55c3292770925c (patch) | |
| tree | 0bbf497b09b6c7fe1b6856fe13459c51f2160266 | |
| parent | 0c47c6373dde0ddc2251b021745a9653a91ed850 (diff) | |
20100713-0944
| -rw-r--r-- | utils/qc/txt.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/utils/qc/txt.c b/utils/qc/txt.c index d8102433..1c6f4d7f 100644 --- a/utils/qc/txt.c +++ b/utils/qc/txt.c @@ -1493,15 +1493,12 @@ gopcode64(int o, Node *f1, Node *f2, Node *t) f2 = t; regalloc(&nod, ®node, Z); gins3(AMULLW, f1->right, f2->right, &nod); /* lo(f2.low*f1.low) */ - a1 = AMULHW; - if(o == OLMUL || o == OASLMUL) - a1 = AMULHWU; regalloc(&nod1, ®node, Z); - gins3(a1, f1->right, f2->right, &nod1); /* hi(f2.low*f1.low) */ + gins3(AMULHWU, f1->right, f2->right, &nod1); /* hi(f2.low*f1.low) */ regalloc(&nod2, ®node, Z); gins3(AMULLW, f2->right, f1->left, &nod2); /* lo(f2.low*f1.high) */ gins(AADD, &nod2, &nod1); - gins3(AMULLW, f1->right, f2->left, &nod2); /* hi(f2.high*f1.low) */ + gins3(AMULLW, f1->right, f2->left, &nod2); /* lo(f2.high*f1.low) */ gins(AADD, &nod2, &nod1); regfree(&nod2); gmove(&nod, t->right); |
