]> gitweb.factorcode.org Git - factor.git/blob - basis/math/floats/env/x86/32/32.factor
7d45f01337e79b03a21974f48d836f82e48f073d
[factor.git] / basis / math / floats / env / x86 / 32 / 32.factor
1 USING: alien alien.c-types cpu.x86.assembler
2 cpu.x86.assembler.operands math.floats.env.x86 system ;
3 IN: math.floats.env.x86.32
4
5 M: x86.32 get-sse-env
6     void { void* } cdecl [
7         EAX ESP [] MOV
8         EAX [] STMXCSR
9     ] alien-assembly ;
10
11 M: x86.32 set-sse-env
12     void { void* } cdecl [
13         EAX ESP [] MOV
14         EAX [] LDMXCSR
15     ] alien-assembly ;
16
17 M: x86.32 get-x87-env
18     void { void* } cdecl [
19         EAX ESP [] MOV
20         EAX [] FNSTSW
21         EAX 2 [+] FNSTCW
22     ] alien-assembly ;
23
24 M: x86.32 set-x87-env
25     void { void* } cdecl [
26         EAX ESP [] MOV
27         FNCLEX
28         EAX 2 [+] FLDCW
29     ] alien-assembly ;