Преглед на файлове

asm for remquo

this could perhaps use some additional testing for corner cases, but
it seems to be correct.
Rich Felker преди 13 години
родител
ревизия
27deb53889
променени са 3 файла, в които са добавени 43 реда и са изтрити 0 реда
  1. 41 0
      src/math/i386/remquo.s
  2. 1 0
      src/math/i386/remquof.s
  3. 1 0
      src/math/i386/remquol.s

+ 41 - 0
src/math/i386/remquo.s

@@ -0,0 +1,41 @@
+.global remquof
+.type remquof,@function
+remquof:
+	mov 12(%esp),%ecx
+	fldl 4(%esp)
+	fldl 8(%esp)
+	jmp 1f
+
+.global remquol
+.type remquol,@function
+remquol:
+	mov 28(%esp),%ecx
+	fldl 4(%esp)
+	fldl 16(%esp)
+	jmp 1f
+
+.global remquo
+.type remquo,@function
+remquo:
+	mov 20(%esp),%ecx
+	fldl 4(%esp)
+	fldl 12(%esp)
+1:	fld %st(1)
+1:      fprem1
+	fnstsw %ax
+	sahf
+	jp 1b
+	fsubr %st(0),%st(2)
+	fxch %st(2)
+	fdivp
+	mov $0x4f000000,%eax
+	mov %eax,4(%esp)
+	flds 4(%esp)
+	fxch %st(1)
+1:	fprem
+	fnstsw %ax
+	sahf
+	jp 1b
+	fistpl (%ecx)
+	fstp %st(0)
+	ret

+ 1 - 0
src/math/i386/remquof.s

@@ -0,0 +1 @@
+# see remquo.s

+ 1 - 0
src/math/i386/remquol.s

@@ -0,0 +1 @@
+# see remquo.s