blob: da1ec03364d83c7666be95b4f9440f423cff929c (
plain)
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
|
.ifndef __RESTORE__
.set __RESTORE__, 1
.macro __restore_next n, args:vararg
.ifnb \args
__restore\n \args
.endif
.endm
.macro __restore4 arg:req, args:vararg
.ifnb \args
.error "restore: too many arguments"
.endif
popq \arg
.endm
.macro __restore3 arg:req, args:vararg
__restore_next 4, \args
popq \arg
.endm
.macro __restore2 arg:req, args:vararg
__restore_next 3, \args
popq \arg
.endm
.macro restore arg:req, args:vararg
__restore_next 2, \args
popq \arg
.endm
.endif
|