ARC: add asm-compat macro for MWDT toolchain
Extend asm-compat macroses so they can be used with ARC MWDT toolchain for ARCv2 Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This commit is contained in:
parent
3d56fff7a4
commit
1aef12d8fa
2 changed files with 98 additions and 0 deletions
93
include/arch/arc/asm-compat/asm-macro-32-bit-mwdt.h
Normal file
93
include/arch/arc/asm-compat/asm-macro-32-bit-mwdt.h
Normal file
|
@ -0,0 +1,93 @@
|
|||
/* SPDX-License-Identifier: Apache-2.0 */
|
||||
/*
|
||||
* Copyright (C) 2021 Synopsys, Inc. (www.synopsys.com)
|
||||
*
|
||||
* ALU/Memory instructions pseudo-mnemonics for ARCv2 and ARC32 ISA
|
||||
*/
|
||||
|
||||
.macro MOVR, d, s
|
||||
mov\&$suffix d, s
|
||||
.endm
|
||||
|
||||
|
||||
.macro LDR, d, s, off
|
||||
.if $narg == 2
|
||||
ld\&$suffix d, [s]
|
||||
.else
|
||||
ld\&$suffix d, [s, off]
|
||||
.endif
|
||||
.endm
|
||||
|
||||
.macro STR, d, s, off
|
||||
.if $narg == 2
|
||||
st\&$suffix d, [s]
|
||||
.else
|
||||
st\&$suffix d, [s, off]
|
||||
.endif
|
||||
.endm
|
||||
|
||||
|
||||
.macro PUSHR, r
|
||||
push r
|
||||
.endm
|
||||
|
||||
.macro POPR, r
|
||||
pop r
|
||||
.endm
|
||||
|
||||
.macro LRR, d, aux
|
||||
lr d, aux
|
||||
.endm
|
||||
|
||||
.macro SRR, d, aux
|
||||
sr d, aux
|
||||
.endm
|
||||
|
||||
|
||||
.macro ADDR, d, s, v
|
||||
add\&$suffix d, s, v
|
||||
.endm
|
||||
|
||||
.macro ADD2R, d, s, v
|
||||
add2\&$suffix d, s, v
|
||||
.endm
|
||||
|
||||
.macro ADD3R, d, s, v
|
||||
add3 d, s, v
|
||||
.endm
|
||||
|
||||
.macro SUBR, d, s, v
|
||||
sub d, s, v
|
||||
.endm
|
||||
|
||||
.macro BMSKNR, d, s, v
|
||||
bmskn d, s, v
|
||||
.endm
|
||||
|
||||
.macro LSRR, d, s, v
|
||||
lsr d, s, v
|
||||
.endm
|
||||
|
||||
.macro ASLR, d, s, v
|
||||
asl d, s, v
|
||||
.endm
|
||||
|
||||
.macro ANDR, d, s, v
|
||||
and d, s, v
|
||||
.endm
|
||||
|
||||
.macro ORR, d, s, v
|
||||
or d, s, v
|
||||
.endm
|
||||
|
||||
.macro BRR, d, s, lbl
|
||||
br\&$suffix d, s, lbl
|
||||
.endm
|
||||
|
||||
.macro BREQR, d, s, lbl
|
||||
breq d, s, lbl
|
||||
.endm
|
||||
|
||||
.macro CMPR, op1, op2
|
||||
cmp op1, op2
|
||||
.endm
|
|
@ -34,7 +34,12 @@
|
|||
#define ARC_PTR .word
|
||||
#define ARC_REGSZ 4
|
||||
#define ARC_REGSHIFT 2
|
||||
|
||||
#if defined(__CCAC__)
|
||||
#include "asm-macro-32-bit-mwdt.h"
|
||||
#else
|
||||
#include "asm-macro-32-bit-gnu.h"
|
||||
#endif /* defined(__CCAC__) */
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue