# HG changeset patch # User Ryan C. Gordon # Date 1182939169 0 # Node ID 540466e900db02587ca95f43aecc9aec29f60b8b # Parent 0a0f8cccc77cf1372d3eca63a2bf12c1d012c164 Removed textrels from hermes code. Partially fixes Bugzilla #418. diff -r 0a0f8cccc77c -r 540466e900db src/hermes/mmx_main.asm --- a/src/hermes/mmx_main.asm Tue Jun 26 20:04:15 2007 +0000 +++ b/src/hermes/mmx_main.asm Wed Jun 27 10:12:49 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] diff -r 0a0f8cccc77c -r 540466e900db src/hermes/mmxp2_32.asm --- a/src/hermes/mmxp2_32.asm Tue Jun 26 20:04:15 2007 +0000 +++ b/src/hermes/mmxp2_32.asm Wed Jun 27 10:12:49 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 diff -r 0a0f8cccc77c -r 540466e900db src/hermes/x86_main.asm --- a/src/hermes/x86_main.asm Tue Jun 26 20:04:15 2007 +0000 +++ b/src/hermes/x86_main.asm Wed Jun 27 10:12:49 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 diff -r 0a0f8cccc77c -r 540466e900db src/hermes/x86p_16.asm --- a/src/hermes/x86p_16.asm Tue Jun 26 20:04:15 2007 +0000 +++ b/src/hermes/x86p_16.asm Wed Jun 27 10:12:49 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 diff -r 0a0f8cccc77c -r 540466e900db src/hermes/x86p_32.asm --- a/src/hermes/x86p_32.asm Tue Jun 26 20:04:15 2007 +0000 +++ b/src/hermes/x86p_32.asm Wed Jun 27 10:12:49 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