~mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
base/asm-common.h (x86), and knock-on: Add macros for full-size regs.
[catacomb]
/
base
/
asm-common.h
diff --git
a/base/asm-common.h
b/base/asm-common.h
index
44c223d
..
d162a5d
100644
(file)
--- a/
base/asm-common.h
+++ b/
base/asm-common.h
@@
-452,10
+452,20
@@
name:
#endif
#define WHOLE(reg) _REGFORM(reg, r)
#endif
#define WHOLE(reg) _REGFORM(reg, r)
+// Macros for some common registers.
+#define AX R_a(r)
+#define BX R_b(r)
+#define CX R_c(r)
+#define DX R_d(r)
+#define SI R_si(r)
+#define DI R_di(r)
+#define BP R_bp(r)
+#define SP R_sp(r)
+
// Stack management and unwinding.
// Stack management and unwinding.
-.macro setfp fp=
R_bp(r)
, offset=0
+.macro setfp fp=
BP
, offset=0
.if \offset == 0
.if \offset == 0
- mov \fp,
R_sp(r)
+ mov \fp,
SP
#if __ELF__
.cfi_def_cfa_register \fp
#endif
#if __ELF__
.cfi_def_cfa_register \fp
#endif
@@
-463,7
+473,7
@@
name:
.seh_setframe \fp, 0
#endif
.else
.seh_setframe \fp, 0
#endif
.else
- lea \fp, [
R_sp(r)
+ \offset]
+ lea \fp, [
SP
+ \offset]
#if __ELF__
.cfi_def_cfa_register \fp
.cfi_adjust_cfa_offset -\offset
#if __ELF__
.cfi_def_cfa_register \fp
.cfi_adjust_cfa_offset -\offset
@@
-478,14
+488,14
@@
name:
.macro _dropfp fp, offset=0
.if \offset == 0
.macro _dropfp fp, offset=0
.if \offset == 0
- mov
R_sp(r)
, \fp
+ mov
SP
, \fp
#if __ELF__
#if __ELF__
- .cfi_def_cfa_register
R_sp(r)
+ .cfi_def_cfa_register
SP
#endif
.else
#endif
.else
- lea
R_sp(r)
, [\fp - \offset]
+ lea
SP
, [\fp - \offset]
#if __ELF__
#if __ELF__
- .cfi_def_cfa_register
R_sp(r)
+ .cfi_def_cfa_register
SP
.cfi_adjust_cfa_offset +\offset
#endif
.endif
.cfi_adjust_cfa_offset +\offset
#endif
.endif
@@
-494,7
+504,7
@@
name:
.endm
.macro stalloc n
.endm
.macro stalloc n
- sub
R_sp(r)
, \n
+ sub
SP
, \n
#if __ELF__
.cfi_adjust_cfa_offset +\n
#endif
#if __ELF__
.cfi_adjust_cfa_offset +\n
#endif
@@
-504,7
+514,7
@@
name:
.endm
.macro stfree n
.endm
.macro stfree n
- add
R_sp(r)
, \n
+ add
SP
, \n
#if __ELF__
.cfi_adjust_cfa_offset -\n
#endif
#if __ELF__
.cfi_adjust_cfa_offset -\n
#endif
@@
-530,14
+540,14
@@
name:
.endm
.macro savexmm r, offset
.endm
.macro savexmm r, offset
- movdqa [
R_sp(r)
+ \offset], \r
+ movdqa [
SP
+ \offset], \r
#if ABI_WIN && CPUFAM_AMD64
.seh_savexmm \r, \offset
#endif
.endm
.macro rstrxmm r, offset
#if ABI_WIN && CPUFAM_AMD64
.seh_savexmm \r, \offset
#endif
.endm
.macro rstrxmm r, offset
- movdqa \r, [
R_sp(r)
+ \offset]
+ movdqa \r, [
SP
+ \offset]
.endm
.macro endprologue
.endm
.macro endprologue