diff options
Diffstat (limited to 'sys/gnu/arch/i386/fpemul/reg_div.s')
-rw-r--r-- | sys/gnu/arch/i386/fpemul/reg_div.s | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/sys/gnu/arch/i386/fpemul/reg_div.s b/sys/gnu/arch/i386/fpemul/reg_div.s index c6970d236d8..e33f37a9c08 100644 --- a/sys/gnu/arch/i386/fpemul/reg_div.s +++ b/sys/gnu/arch/i386/fpemul/reg_div.s @@ -1,5 +1,5 @@ .file "reg_div.S" -/* $OpenBSD: reg_div.s,v 1.1 1996/08/27 10:32:58 downsj Exp $ */ +/* $OpenBSD: reg_div.s,v 1.2 2002/10/12 07:12:59 pvalchev Exp $ */ /* * reg_div.S * @@ -72,10 +72,14 @@ #include <gnu/arch/i386/fpemul/control_w.h> .text +#ifdef __ELF__ + .align 4 +#else .align 2 +#endif -.globl _reg_div -_reg_div: +.globl _C_LABEL(reg_div) +_C_LABEL(reg_div): pushl %ebp movl %esp,%ebp @@ -97,7 +101,7 @@ _reg_div: cmpl EXP_UNDER,EXP(%esi) jg xL_arg1_not_denormal - call _denormal_operand + call _C_LABEL(denormal_operand) orl %eax,%eax jnz FPU_Arith_exit @@ -105,7 +109,7 @@ xL_arg1_not_denormal: cmpl EXP_UNDER,EXP(%ebx) jg xL_arg2_not_denormal - call _denormal_operand + call _C_LABEL(denormal_operand) orl %eax,%eax jnz FPU_Arith_exit @@ -125,7 +129,7 @@ xL_arg2_not_denormal: addl EXP_BIAS,%edx movl %edx,EXP(%edi) - jmp _divide_kernel + jmp _C_LABEL(divide_kernel) /*-----------------------------------------------------------------------*/ @@ -142,14 +146,14 @@ L_arg2_NaN: pushl %edi /* Destination */ pushl %ebx pushl %esi - call _real_2op_NaN + call _C_LABEL(real_2op_NaN) jmp LDiv_exit /* Invalid operations */ L_zero_zero: L_inf_inf: pushl %edi /* Destination */ - call _arith_invalid /* 0/0 or Infinity/Infinity */ + call _C_LABEL(arith)_invalid /* 0/0 or Infinity/Infinity */ jmp LDiv_exit L_no_NaN_arg: @@ -176,7 +180,7 @@ L_inf_valid: cmpl EXP_UNDER,EXP(%ebx) jg L_copy_arg1 /* Answer is Inf */ - call _denormal_operand + call _C_LABEL(denormal_operand) orl %eax,%eax jnz FPU_Arith_exit #endif DENORM_OPERAND @@ -201,7 +205,7 @@ L_arg1_not_inf: movb SIGN(%esi),%al xorb SIGN(%ebx),%al pushl %eax /* lower 8 bits have the sign */ - call _divide_by_zero + call _C_LABEL(divide_by_zero) jmp LDiv_exit L_arg2_not_zero: @@ -215,7 +219,7 @@ L_arg2_not_zero: cmpl EXP_UNDER,EXP(%esi) jg L_return_zero /* Answer is zero */ - call _denormal_operand + call _C_LABEL(denormal_operand) orl %eax,%eax jnz FPU_Arith_exit #endif DENORM_OPERAND @@ -235,7 +239,7 @@ L_arg2_not_inf: cmpl EXP_UNDER,EXP(%ebx) jg L_copy_arg1 /* Answer is zero */ - call _denormal_operand + call _C_LABEL(denormal_operand) orl %eax,%eax jnz FPU_Arith_exit #endif DENORM_OPERAND |