mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 14:12:32 +01:00 
			
		
		
		
	+ added MacOS compatible constant loading
This commit is contained in:
		
							parent
							
								
									b9e01adc15
								
							
						
					
					
						commit
						2cac9a0576
					
				| @ -50,10 +50,19 @@ LStrCopyAligned: | |||||||
|         subi    r4,r4,3 |         subi    r4,r4,3 | ||||||
|         subi    r9,r9,3 |         subi    r9,r9,3 | ||||||
|         { setup magic constants } |         { setup magic constants } | ||||||
|  |         {$ifdef macos} | ||||||
|  |         {  load constant 0xfefefeff } | ||||||
|  |         lis     r8,0xfefe | ||||||
|  |         addi    r8,r8,0xfeff | ||||||
|  |         {  load constant 0x80808080} | ||||||
|  |         lis     r7,0x8080 | ||||||
|  |         addi    r7,r7,0x8080 | ||||||
|  |         {$else} | ||||||
|         lis     r8,(0xfefefeff)@ha |         lis     r8,(0xfefefeff)@ha | ||||||
|         addi    r8,r8,(0xfefefeff)@l |         addi    r8,r8,(0xfefefeff)@l | ||||||
|         lis     r7,(0x80808080)@ha |         lis     r7,(0x80808080)@ha | ||||||
|         addi    r7,r7,(0x80808080)@l |         addi    r7,r7,(0x80808080)@l | ||||||
|  |         {$endif} | ||||||
|         { load first 4 bytes  } |         { load first 4 bytes  } | ||||||
|         lwzu    r0,4(r4) |         lwzu    r0,4(r4) | ||||||
| 
 | 
 | ||||||
| @ -113,10 +122,19 @@ LStrECopyAligned: | |||||||
|         subi    r4,r4,3 |         subi    r4,r4,3 | ||||||
|         subi    r3,r3,3 |         subi    r3,r3,3 | ||||||
|         { setup magic constants } |         { setup magic constants } | ||||||
|  |         {$ifdef macos} | ||||||
|  |         {  load constant 0xfefefeff } | ||||||
|  |         lis     r8,0xfefe | ||||||
|  |         addi    r8,r8,0xfeff | ||||||
|  |         {  load constant 0x80808080} | ||||||
|  |         lis     r7,0x8080 | ||||||
|  |         addi    r7,r7,0x8080 | ||||||
|  |         {$else} | ||||||
|         lis     r8,(0xfefefeff)@ha |         lis     r8,(0xfefefeff)@ha | ||||||
|         addi    r8,r8,(0xfefefeff)@l |         addi    r8,r8,(0xfefefeff)@l | ||||||
|         lis     r7,(0x80808080)@ha |         lis     r7,(0x80808080)@ha | ||||||
|         addi    r7,r7,(0x80808080)@l |         addi    r7,r7,(0x80808080)@l | ||||||
|  |         {$endif} | ||||||
| { | { | ||||||
|         li      r8,-257        { 0x0feff } |         li      r8,-257        { 0x0feff } | ||||||
|         andis.  r8,r8,0x0fefe |         andis.  r8,r8,0x0fefe | ||||||
| @ -471,7 +489,10 @@ end; | |||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.20  2003-07-07 20:23:46  peter |   Revision 1.21  2003-08-24 20:51:27  olle | ||||||
|  |     + added MacOS compatible constant loading | ||||||
|  | 
 | ||||||
|  |   Revision 1.20  2003/07/07 20:23:46  peter | ||||||
|     * added defines to override generic implementations |     * added defines to override generic implementations | ||||||
| 
 | 
 | ||||||
|   Revision 1.19  2003/06/14 12:41:08  jonas |   Revision 1.19  2003/06/14 12:41:08  jonas | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 olle
						olle