- added floating point - improved assembler part, now uses short encodings when possible - reduced generated relocation - and name table
		
			
				
	
	
		
			292 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			292 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| addd2	src, dst	==>
 | |
| 			@text1( 0x60);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| addf2	src, dst	==>
 | |
| 			@text1( 0x40);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| addl2	src, dst 	==>
 | |
| 			@text1( 0xc0);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| addl3	src1, src2, dst ==>
 | |
| 			@text1( 0xc1);
 | |
| 			gen_operand( src1);
 | |
| 			gen_operand( src2);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| ashl	src1, src2, dst ==>
 | |
| 			@text1( 0x78);
 | |
| 			gen_operand( src1);
 | |
| 			gen_operand( src2);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| beql	l_ilb		==>
 | |
| 			@text1( 0x13);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jeql	ilb		==>
 | |
| 			@text1( 0x12);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| bgeq	l_ilb		==>
 | |
| 			@text1( 0x18);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jgeq	ilb		==>
 | |
| 			@text1( 0x19);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| bgtr	l_ilb		==>
 | |
| 			@text1( 0x14);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| bgtru	l_ilb		==>
 | |
| 			@text1( 0x1a);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jgtr	ilb		==>
 | |
| 			@text1( 0x15);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| bicl2	src, dst	==>
 | |
| 			@text1( 0xca);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| bisl2	src, dst	==>
 | |
| 			@text1( 0xc8);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| bleq	l_ilb		==>
 | |
| 			@text1( 0x15);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jleq	ilb		==>
 | |
| 			@text1( 0x14);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| blss	l_ilb		==>
 | |
| 			@text1( 0x19);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| blssu	l_ilb		==>
 | |
| 			@text1( 0x1f);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jlss	ilb		==>
 | |
| 			@text1( 0x18);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| bneq	l_ilb		==>
 | |
| 			@text1( 0x12);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| jneq	ilb		==>
 | |
| 			@text1( 0x13);
 | |
| 			@text1( 0x06);
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| br 	l_ilb		==>
 | |
| 			@text1( 0x11);
 | |
| 			gen_operand( l_ilb).
 | |
| 
 | |
| calls	n : const , pro	==>
 | |
| 			@text1( 0xfb);
 | |
| 			@text1( %$(n->const));
 | |
| 			gen_operand( pro).
 | |
| 
 | |
| clrl 	src		==>
 | |
| 			@text1( 0xd4);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| clrq 	src		==>
 | |
| 			@text1( 0x7c);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| cmpf	src, dest	==>
 | |
| 			@text1( 0x51);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dest).
 | |
| 
 | |
| cmpd	src, dest	==>
 | |
| 			@text1( 0x71);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dest).
 | |
| 
 | |
| cmpl	src, dest	==>
 | |
| 			@text1( 0xd1);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dest).
 | |
| 
 | |
| cvtlb	src, dst	==>
 | |
| 			@text1( 0xf6);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| decl 	src		==>
 | |
| 			@text1( 0xd7);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| divf2	src, dst	==>
 | |
| 			@text1( 0x46);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| divd2	src, dst	==>
 | |
| 			@text1( 0x66);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| divl2	src, dst	==>
 | |
| 			@text1( 0xc6);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| divl3	src1, src2, dst ==>
 | |
| 			@text1( 0xc7);
 | |
| 			gen_operand( src1);
 | |
| 			gen_operand( src2);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| incl 	src		==>
 | |
| 			@text1( 0xd6);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| jmp	ilb4		==>
 | |
| 			@text1( 0x17);
 | |
| 			gen_operand( ilb4).
 | |
| 
 | |
| jsb	lab		==>
 | |
| 			@text1( 0x16);
 | |
| 			gen_operand( lab).
 | |
| 
 | |
| mcoml	src, dst	==>
 | |
| 			@text1( 0xd2);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| mnegf	src, dst	==>
 | |
| 			@text1( 0x52);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| mnegd	src, dst	==>
 | |
| 			@text1( 0x72);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| mnegl	src, dst	==>
 | |
| 			@text1( 0xce);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| moval	src, dst	==>
 | |
| 			@text1( 0xde);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| movb	src, dst	==>
 | |
| 			@text1( 0x90);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| movw	src, dst	==>
 | |
| 			@text1( 0xb0);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| movl	src, dst	==>
 | |
| 			@text1( 0xd0);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| movq	src : const, dst	==>
 | |
| 			@text1( 0x7d);
 | |
| 			gen_operand( src);
 | |
| 			@text4( 0);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| ...	src , dst	==>
 | |
| 			@text1( 0x7d);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| 
 | |
| mulf2	src, dst	==>
 | |
| 			@text1( 0x44);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| muld2	src, dst	==>
 | |
| 			@text1( 0x64);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| mull2	src, dst	==>
 | |
| 			@text1( 0xc4);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| pushl	src	==>	
 | |
| 			@text1( 0xdd);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| pushal	src	==>	
 | |
| 			@text1( 0xdf);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| ret	==>
 | |
| 			@text1( 0x04).
 | |
| 
 | |
| rotl	src1, src2, dst ==>
 | |
| 			@text1( 0x9c);
 | |
| 			gen_operand( src1);
 | |
| 			gen_operand( src2);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| sobgtr  tel, ilb	==>
 | |
| 			@text1( 0xf5);
 | |
| 			gen_operand( tel);
 | |
| 			gen_operand( ilb).
 | |
| 
 | |
| subf2	src, dst	==>
 | |
| 			@text1( 0x42);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| subd2	src, dst	==>
 | |
| 			@text1( 0x62);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| subl2	src, dst	==>
 | |
| 			@text1( 0xc2);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 | |
| tstl	src		==>
 | |
| 			@text1( 0xd5);
 | |
| 			gen_operand( src).
 | |
| 
 | |
| xorl2	src, dst	==>
 | |
| 			@text1( 0xcc);
 | |
| 			gen_operand( src);
 | |
| 			gen_operand( dst).
 | |
| 
 |