mailing list of musl libc
 help / color / mirror / code / Atom feed
d0de0a15edcba4fff933d182d5d24233d5442745 blob 1494 bytes (raw)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
 
.global feclearexcept
.type feclearexcept,@function
feclearexcept:
	# maintain exceptions in the sse mxcsr, clear x87 exceptions
        subl $8, %esp
	mov %edi,%ecx
	and $0x3f,%ecx
	fnstsw %ax
	test %eax,%ecx
	jz 1f
	fnclex
1:	stmxcsr (%esp)
	and $0x3f,%eax
	or %eax,(%esp)
	test %ecx,(%esp)
	jz 1f
	not %ecx
	and %ecx,(%esp)
	ldmxcsr (%esp)
1:	xor %eax,%eax
        addl $8, %esp
	ret

.global feraiseexcept
.type feraiseexcept,@function
feraiseexcept:
        subl $8, %esp
	and $0x3f,%edi
	stmxcsr (%esp)
	or %edi,(%esp)
	ldmxcsr (%esp)
	xor %eax,%eax
        addl $8, %esp
	ret

.global __fesetround
.type __fesetround,@function
__fesetround:
	push %rax
	xor %eax,%eax
	mov %edi,%ecx
	fnstcw (%esp)
	andb $0xf3,1(%esp)
	or %ch,1(%esp)
	fldcw (%esp)
	stmxcsr (%esp)
	shl $3,%ch
	andb $0x9f,1(%esp)
	or %ch,1(%esp)
	ldmxcsr (%esp)
	pop %rcx
	ret

.global fegetround
.type fegetround,@function
fegetround:
	push %rax
	stmxcsr (%esp)
	pop %rax
	shr $3,%eax
	and $0xc00,%eax
	ret

.global fegetenv
.type fegetenv,@function
fegetenv:
	xor %eax,%eax
	fnstenv (%edi)
	stmxcsr 28(%edi)
	ret

.global fesetenv
.type fesetenv,@function
fesetenv:
	xor %eax,%eax
	inc %edi
	jz 1f
	fldenv -1(%edi)
	ldmxcsr 27(%edi)
	ret
1:	push %rax
	push %rax
	pushq $0xffff
	pushq $0x37f
	fldenv (%esp)
	pushq $0x1f80
	ldmxcsr (%esp)
	add $40,%esp
	ret

.global fetestexcept
.type fetestexcept,@function
fetestexcept:
	and $0x3f,%edi
	push %rax
	stmxcsr (%esp)
	pop %rsi
	fnstsw %ax
	or %esi,%eax
	and %edi,%eax
	ret
debug log:

solving d0de0a1 ...
found d0de0a1 in https://inbox.vuxu.org/musl/20151225205734.GB5971@debian/
found 4531046 in https://git.vuxu.org/mirror/musl/
preparing index
index prepared:
100644 45310465ce52cb0a996281dae4dc457de9b610c9	src/fenv/x32/fenv.s

applying [1/1] https://inbox.vuxu.org/musl/20151225205734.GB5971@debian/
diff --git a/src/fenv/x32/fenv.s b/src/fenv/x32/fenv.s
index 4531046..d0de0a1 100644

Checking patch src/fenv/x32/fenv.s...
Applied patch src/fenv/x32/fenv.s cleanly.

index at:
100644 d0de0a15edcba4fff933d182d5d24233d5442745	src/fenv/x32/fenv.s

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).