A move from a nonreg to a reg did not have the effect that all
registers clashing with the destination were erased. Erase added.
This commit is contained in:
		
							parent
							
								
									93672962a1
								
							
						
					
					
						commit
						ff9d23e4ec
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		|  | @ -57,6 +57,7 @@ move(tp1,tp2,ply,toplevel,maxcost) token_p tp1,tp2; unsigned maxcost; { | ||||||
| 		} else { | 		} else { | ||||||
| 			if (eqtoken(&machregs[tp2->t_att[0].ar].r_contents,tp1)) | 			if (eqtoken(&machregs[tp2->t_att[0].ar].r_contents,tp1)) | ||||||
| 				return(0); | 				return(0); | ||||||
|  | 			erasereg(tp2->t_att[0].ar); | ||||||
| 			machregs[tp2->t_att[0].ar].r_contents = *tp1; | 			machregs[tp2->t_att[0].ar].r_contents = *tp1; | ||||||
| 		} | 		} | ||||||
| 		for (rp=machregs;rp<machregs+NREGS;rp++) { | 		for (rp=machregs;rp<machregs+NREGS;rp++) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue