Unified · Split
| @@ -747,7 +747,7 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym- · 746 unmodified lines | ||
| 747 | 747 | r = p->reg; |
| 748 | 748 | if(p->to.type == D_NONE) |
| 749 | 749 | rt = 0; |
| 750 | − if(p->as == AMOVW) | |
| 750 | + if(p->as == AMOVW || p->as == AMVN) | |
| 751 | 751 | r = 0; |
| 752 | 752 | else if(r == NREG) |
| 753 | 753 | r = rt; |
| @@ -762,7 +762,7 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym- · 8 unmodified lines | ||
| 762 | 762 | r = p->reg; |
| 763 | 763 | if(p->to.type == D_NONE) |
| 764 | 764 | rt = 0; |
| 765 | − if(p->as == AMOVW) | |
| 765 | + if(p->as == AMOVW || p->as == AMVN) | |
| 766 | 766 | r = 0; |
| 767 | 767 | else if(r == NREG) |
| 768 | 768 | r = rt; |
| @@ -778,7 +778,7 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym- · 9 unmodified lines | ||
| 778 | 778 | r = p->reg; |
| 779 | 779 | if(p->to.type == D_NONE) |
| 780 | 780 | rt = 0; |
| 781 | − if(p->as == AMOVW) | |
| 781 | + if(p->as == AMOVW || p->as == AMVN) | |
| 782 | 782 | r = 0; |
| 783 | 783 | else if(r == NREG) |
| 784 | 784 | r = rt; |
| @@ -891,7 +891,9 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym- · 106 unmodified lines | ||
| 891 | 891 | o2 = oprrr(p->as, p->scond); |
| 892 | 892 | o2 |= REGTMP; |
| 893 | 893 | r = p->reg; |
| 894 | − if(r == NREG) | |
| 894 | + if(p->as == AMOVW || p->as == AMVN) | |
| 895 | + r = 0; | |
| 896 | + else if(r == NREG) | |
| 895 | 897 | r = p->to.reg; |
| 896 | 898 | o2 |= r << 16; |
| 897 | 899 | if(p->to.type != D_NONE) |