mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 01:19:38 +01:00 
			
		
		
		
	* assembler version of mod_qword_word reactivated
This commit is contained in:
		
							parent
							
								
									c1e1d4f8d8
								
							
						
					
					
						commit
						051126d079
					
				@ -90,11 +90,8 @@
 | 
			
		||||
      end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(*
 | 
			
		||||
  This does not work correctly
 | 
			
		||||
 | 
			
		||||
{$define FPC_SYSTEM_HAS_MOD_QWORD}
 | 
			
		||||
    function fpc_mod_qword(n,z : qword) : qword;[public,alias: 'FPC_MOD_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
 | 
			
		||||
    function fpc_mod_qword(n,z : qword) : qword;assembler;[public,alias: 'FPC_MOD_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
 | 
			
		||||
      var
 | 
			
		||||
         shift,lzz,lzn : longint;
 | 
			
		||||
         saveebx,saveedi : longint;
 | 
			
		||||
@ -112,6 +109,7 @@
 | 
			
		||||
            pushl $200
 | 
			
		||||
            call HandleErrorFrame
 | 
			
		||||
            jmp .Lexit
 | 
			
		||||
.Lnodivzero:
 | 
			
		||||
            movl z+4,%edx
 | 
			
		||||
            movl z,%eax
 | 
			
		||||
            testl %ecx,%ecx
 | 
			
		||||
@ -144,7 +142,7 @@
 | 
			
		||||
            shrdl %cl,%edi,%ebx
 | 
			
		||||
            shrdl %cl,%edx,%eax
 | 
			
		||||
            shrl %cl,%edx
 | 
			
		||||
            rorl $1,%edi
 | 
			
		||||
            roll $1,%edi
 | 
			
		||||
            divl %ebx
 | 
			
		||||
            movl z,%ebx
 | 
			
		||||
            movl %eax,%ecx
 | 
			
		||||
@ -164,8 +162,6 @@
 | 
			
		||||
            movl saveebx,%ebx
 | 
			
		||||
            movl saveedi,%edi
 | 
			
		||||
      end;
 | 
			
		||||
*)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{$define FPC_SYSTEM_HAS_MUL_QWORD}
 | 
			
		||||
    { multiplies two qwords
 | 
			
		||||
@ -209,7 +205,10 @@
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.3  2004-05-10 20:58:20  florian
 | 
			
		||||
  Revision 1.4  2004-07-25 11:50:39  florian
 | 
			
		||||
    * assembler version of mod_qword_word reactivated
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  2004/05/10 20:58:20  florian
 | 
			
		||||
    * fpc_mul_qword uses always the assembler implementation
 | 
			
		||||
 | 
			
		||||
  Revision 1.2  2003/12/23 23:09:43  peter
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user