ARCv2: entry: rewrite to enable use of double load/stores LDD/STD
- the motivation was to be remove blatent copy-paste due to hasty support of CONFIG_ARC_IRQ_NO_AUTOSAVE support - but with refactoring we could use LDD/STD to greatly optimize the code Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
@@ -10,6 +10,24 @@
|
||||
|
||||
#ifdef __ASSEMBLY__
|
||||
|
||||
.macro ST2 e, o, off
|
||||
#ifdef CONFIG_ARC_HAS_LL64
|
||||
std \e, [sp, \off]
|
||||
#else
|
||||
st \e, [sp, \off]
|
||||
st \o, [sp, \off+4]
|
||||
#endif
|
||||
.endm
|
||||
|
||||
.macro LD2 e, o, off
|
||||
#ifdef CONFIG_ARC_HAS_LL64
|
||||
ldd \e, [sp, \off]
|
||||
#else
|
||||
ld \e, [sp, \off]
|
||||
ld \o, [sp, \off+4]
|
||||
#endif
|
||||
.endm
|
||||
|
||||
#define ASM_NL ` /* use '`' to mark new line in macro */
|
||||
|
||||
/* annotation for data we want in DCCM - if enabled in .config */
|
||||
|
Reference in New Issue
Block a user