changeset 2134:180fa05e98e2

Merged r3106:3107 from branches/SDL-1.2: Hermes PIC fixes.
author Ryan C. Gordon <icculus@icculus.org>
date Wed, 27 Jun 2007 10:17:35 +0000
parents 03715e20ec3c
children 0313af081a84
files src/hermes/mmx_main.asm src/hermes/mmxp2_32.asm src/hermes/x86_main.asm src/hermes/x86p_16.asm src/hermes/x86p_32.asm
diffstat 5 files changed, 33 insertions(+), 87 deletions(-) [+]
line wrap: on
line diff
--- a/src/hermes/mmx_main.asm	Thu Jun 21 18:50:00 2007 +0000
+++ b/src/hermes/mmx_main.asm	Wed Jun 27 10:17:35 2007 +0000
@@ -12,7 +12,6 @@
 %include "common.inc"
 
 SDL_FUNC _ConvertMMX
-SDL_FUNC _mmxreturn
 
 SECTION .text
 		
@@ -51,9 +50,8 @@
 y_loop:	
 	mov ecx,[ebp+4]
 
-	jmp [ebp+32]
+	call [ebp+32]
 
-_mmxreturn:	
 	add esi,[ebp+12]
 	add edi,[ebp+28]
 	
--- a/src/hermes/mmxp2_32.asm	Thu Jun 21 18:50:00 2007 +0000
+++ b/src/hermes/mmxp2_32.asm	Wed Jun 27 10:17:35 2007 +0000
@@ -28,8 +28,6 @@
 SDL_FUNC _ConvertMMXpII32_16RGB555
 SDL_FUNC _ConvertMMXpII32_16BGR555
 
-EXTERN _mmxreturn
- 
 ;; Macros for conversion routines
 
 %macro _push_immq_mask 1
@@ -121,7 +119,7 @@
         dec ecx
         jnz .L3
 .L4:
-        jmp _mmxreturn
+        return
 
 
 
@@ -190,7 +188,7 @@
         jnz .L3
 
 .L4:
-	jmp _mmxreturn
+	retn
 
 	
 _ConvertMMXpII32_16BGR565:
@@ -260,7 +258,7 @@
         jnz .L3
 
 .L4:
-        jmp _mmxreturn
+        retn
 
 _ConvertMMXpII32_16BGR555:
 
@@ -400,7 +398,7 @@
 	jnz .L3	
 
 .L4:		
-	jmp _mmxreturn
+	retn
 
 %ifidn __OUTPUT_FORMAT__,elf
 section .note.GNU-stack noalloc noexec nowrite progbits
--- a/src/hermes/x86_main.asm	Thu Jun 21 18:50:00 2007 +0000
+++ b/src/hermes/x86_main.asm	Wed Jun 27 10:17:35 2007 +0000
@@ -14,9 +14,6 @@
 %include "common.inc"
 
 SDL_FUNC _ConvertX86
-SDL_FUNC _x86return
-	
-SDL_FUNC _Hermes_X86_CPU
 
 SECTION .text
 		
@@ -55,9 +52,8 @@
 y_loop:	
 	mov ecx,[ebp+4]
 
-	jmp [ebp+32]
+	call [ebp+32]
 
-_x86return:	
 	add esi,[ebp+12]
 	add edi,[ebp+28]
 	
@@ -74,49 +70,6 @@
 
 
 
-;; Hermes_X86_CPU returns the CPUID flags in eax
-	
-_Hermes_X86_CPU:
-	pushfd
-	pop eax
-	
-	mov ecx,eax
-	
-	xor eax,040000h
-	push eax
-	
-	popfd
-	pushfd
-
-	pop eax
-	xor eax,ecx
-	jz .L1			; Processor is 386
-
-	push ecx
-	popfd
-
-	mov eax,ecx
-	xor eax,200000h
-
-	push eax
-	popfd
-	pushfd
-
-	pop eax
-	xor eax,ecx
-	je .L1
-	
-	push ebx
-
-	mov eax,1
-	cpuid
-	mov eax,edx
-
-	pop ebx
-
-.L1:	
-	ret
-
 %ifidn __OUTPUT_FORMAT__,elf
 section .note.GNU-stack noalloc noexec nowrite progbits
 %endif
--- a/src/hermes/x86p_16.asm	Thu Jun 21 18:50:00 2007 +0000
+++ b/src/hermes/x86p_16.asm	Wed Jun 27 10:17:35 2007 +0000
@@ -20,7 +20,6 @@
 SDL_FUNC _ConvertX86p16_8RGB332
 
 EXTERN _ConvertX86
-EXTERN _x86return
 
 SECTION .text
 
@@ -49,7 +48,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; head
     mov eax,edi
@@ -127,7 +126,7 @@
     add edi,BYTE 2
 
 .L7
-    jmp _x86return
+    retn
 
 
 
@@ -156,7 +155,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; head
     mov eax,edi
@@ -235,7 +234,7 @@
     jmp SHORT .L6
 
 .L7 pop ebp
-    jmp _x86return
+    retn
 
 
 
@@ -269,7 +268,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; head
     mov eax,edi
@@ -353,7 +352,7 @@
     add edi,BYTE 2
 
 .L7
-    jmp _x86return
+    retn
 
 
 
@@ -386,7 +385,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 mov eax,edi
     and eax,BYTE 11b
@@ -484,7 +483,7 @@
     jnz .L6
 
 .L7 pop ebp
-    jmp _x86return
+    retn
 
 %ifidn __OUTPUT_FORMAT__,elf
 section .note.GNU-stack noalloc noexec nowrite progbits
--- a/src/hermes/x86p_32.asm	Thu Jun 21 18:50:00 2007 +0000
+++ b/src/hermes/x86p_32.asm	Wed Jun 27 10:17:35 2007 +0000
@@ -24,8 +24,6 @@
 SDL_FUNC _ConvertX86p32_16BGR555
 SDL_FUNC _ConvertX86p32_8RGB332
 
-EXTERN _x86return
-	
 SECTION .text
 
 ;; _Convert_*
@@ -53,7 +51,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; save ebp
     push ebp
@@ -113,7 +111,7 @@
     jnz .L5
 
 .L6 pop ebp
-    jmp _x86return
+    retn
 	
 
 	
@@ -133,7 +131,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; save ebp
     push ebp
@@ -184,7 +182,7 @@
     jnz .L5
 
 .L6 pop ebp
-    jmp _x86return
+    retn
 
 	
 
@@ -204,7 +202,7 @@
     dec ecx
     jnz .L1
 .L2
-    jmp _x86return
+    retn
 
 .L3 ; save ebp
     push ebp
@@ -257,7 +255,7 @@
     jnz .L5
 
 .L6 pop ebp
-    jmp _x86return
+    retn
 
 
 	
@@ -282,7 +280,7 @@
 	dec ecx
 	jnz .L1
 .L2 
-	jmp _x86return
+	retn
 
 .L3	;	 head
 	mov edx,edi
@@ -354,7 +352,7 @@
 	jnz .L6
 
 .L7	pop ebp
-	jmp _x86return
+	retn
 
 
 
@@ -380,7 +378,7 @@
 	dec ecx
 	jnz .L1
 .L2
-	jmp _x86return
+	retn
 
 .L3 ; head
 	mov edx,edi
@@ -455,7 +453,7 @@
 
 .L7 
 	pop ebp
-	jmp _x86return
+	retn
  
 
 	
@@ -484,7 +482,7 @@
 	jnz .L1
 
 .L2:				; End of short loop
-	jmp _x86return
+	retn
 
 	
 .L3	; head
@@ -570,7 +568,7 @@
 	add edi,BYTE 2
 
 .L7:	
-	jmp _x86return
+	retn
 
 
 
@@ -599,7 +597,7 @@
 	dec ecx
 	jnz .L1
 .L2
-	jmp _x86return
+	retn
 
 .L3	; head
 	mov ebx,edi
@@ -684,7 +682,7 @@
 	add edi,BYTE 2
 
 .L7 
-	jmp _x86return
+	retn
 
 
 	
@@ -713,7 +711,7 @@
 	dec ecx
 	jnz .L1
 .L2
-	jmp _x86return
+	retn
 
 .L3	; head
 	mov ebx,edi
@@ -795,7 +793,7 @@
 	add edi,BYTE 2
 
 .L7
-	jmp _x86return
+	retn
 
 
 
@@ -825,7 +823,7 @@
 	dec ecx
 	jnz .L1
 .L2 
-	jmp _x86return
+	retn
 
 .L3	; head
 	mov ebx,edi
@@ -910,7 +908,7 @@
 	add edi,BYTE 2
 
 .L7
-	jmp _x86return
+	retn
 
 
 
@@ -1040,7 +1038,7 @@
 	jnz .L3
 	
 .L4:	
-	jmp _x86return
+	retn
 
 %ifidn __OUTPUT_FORMAT__,elf
 section .note.GNU-stack noalloc noexec nowrite progbits