Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
docs
help
help-venv
lib
python3.12
site-packages
greenlet
platform
switch_alpha_unix.h
1
#define STACK_REFPLUS 1
2
3
#ifdef SLP_EVAL
4
#define STACK_MAGIC 0
5
6
#define REGS_TO_SAVE "$9", "$10", "$11", "$12", "$13", "$14", "$15", \
7
"$f2", "$f3", "$f4", "$f5", "$f6", "$f7", "$f8", "$f9"
8
9
static
int
10
slp_switch(
void
)
11
{
12
int
ret;
13
long
*stackref, stsizediff;
14
__asm__
volatile
(
""
: : : REGS_TO_SAVE);
15
__asm__
volatile
(
"mov $30, %0"
:
"=r"
(stackref) : );
16
{
17
SLP_SAVE_STATE(stackref, stsizediff);
18
__asm__
volatile
(
19
"addq $30, %0, $30\n\t"
20
:
/* no outputs */
21
:
"r"
(stsizediff)
22
);
23
SLP_RESTORE_STATE();
24
}
25
__asm__
volatile
(
""
: : : REGS_TO_SAVE);
26
__asm__
volatile
(
"mov $31, %0"
:
"=r"
(ret) : );
27
return
ret;
28
}
29
30
#endif
Generated by
1.9.8