From 167217bec15c9c7aa70ba2a3dc9c689b3cd91872 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 14 May 2001 14:19:32 +0000 Subject: import new version of dietlibc --- mdk-stage1/dietlibc/alpha/reml.S | 101 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 mdk-stage1/dietlibc/alpha/reml.S (limited to 'mdk-stage1/dietlibc/alpha/reml.S') diff --git a/mdk-stage1/dietlibc/alpha/reml.S b/mdk-stage1/dietlibc/alpha/reml.S new file mode 100644 index 000000000..2d89e3280 --- /dev/null +++ b/mdk-stage1/dietlibc/alpha/reml.S @@ -0,0 +1,101 @@ +/* taken from glibc 2.2 */ + + .set noreorder + .set noat + + .ent __remlu + .globl __remlu + + .align 3 +__remlu : + lda $30 , -32($30) + .frame $30 , 32 , $23 , 0 + .prologue 0 +.Ludiv: + stq $1 , 0($30) + zapnot $25 , 15 , $1 + stq $2 , 8($30) + zapnot $24 , 15 , $27 + stq $0 , 16($30) + clr $2 + stq $3 , 24($30) + ldiq $0 , 1 + + beq $1 , .Ldivbyzero + + .align 3 + + +1: cmpult $1 , $27 , $at + s8addq $1 , $31 , $1 + s8addq $0 , $31 , $0 + bne $at , 1b + + + +3: + srl $0 , 1 , $0 + cmpule $1 , $27 , $at + subq $27 , $1 , $3 + + srl $1 , 1 , $1 + cmovne $at , $3 , $27 + bne $0 , 3b + +.Ldone: ldq $1 , 0($30) + ldq $2 , 8($30) + ldq $0 , 16($30) + ldq $3 , 24($30) + + lda $30 , 32($30) + ret $31 , ($23), 1 + +.Ldivbyzero: + mov $16 , $3 + ldiq $16 , -2 + call_pal 170 + mov $3 , $16 + clr $27 + br .Ldone + + .end __remlu + + .ent __reml + .globl __reml + + .align 3 +__reml : + lda $30 , - 32 ($30 ) + .frame $30 , 32 , $23 , 0 + .prologue 0 + or $24 , $25 , $at + sextl $at , $at + bge $at , .Ludiv + + + stq $24 , 0($30 ) + negl $24 , $at + stq $25 , 8($30 ) + cmovge $at , $at , $24 + stq $23 , 16($30 ) + negl $25 , $at + stq $3 , 24($30 ) + cmovge $at , $at , $25 + + + bsr $23 , __remlu + + + ldq $24 , 0($30 ) + ldq $25 , 8($30 ) + mov $24 , $at + negl $27 , $3 + sextl $at , $at + ldq $23 , 16($30 ) + cmovlt $at , $3 , $27 + ldq $3 , 24($30 ) + + lda $30 , 32 ($30 ) + ret $31 , ($23 ), 1 + + .end __reml -- cgit v1.2.1