Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
asm-macro-32-bit-mwdt.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Apache-2.0 */
2/*
3 * Copyright (C) 2021 Synopsys, Inc. (www.synopsys.com)
4 *
5 * ALU/Memory instructions pseudo-mnemonics for ARCv2 and ARC32 ISA
6 */
7
8#ifndef ZEPHYR_INCLUDE_ARCH_ARC_ASM_COMPAT_ASM_MACRO_32_BIT_MWDT_H_
9#define ZEPHYR_INCLUDE_ARCH_ARC_ASM_COMPAT_ASM_MACRO_32_BIT_MWDT_H_
10
11.macro MOVR, d, s
12 mov\&$suffix d, s
13.endm
14
15
16.macro LDR, d, s, off
17 .if $narg == 2
18 ld\&$suffix d, [s]
19 .else
20 ld\&$suffix d, [s, off]
21 .endif
22.endm
23
24.macro STR, d, s, off
25 .if $narg == 2
26 st\&$suffix d, [s]
27 .else
28 st\&$suffix d, [s, off]
29 .endif
30.endm
31
32
33.macro PUSHR, r
34 push r
35.endm
36
37.macro POPR, r
38 pop r
39.endm
40
41.macro LRR, d, aux
42 lr d, aux
43.endm
44
45.macro SRR, d, aux
46 sr d, aux
47.endm
48
49
50.macro ADDR, d, s, v
51 add\&$suffix d, s, v
52.endm
53
54.macro ADD2R, d, s, v
55 add2\&$suffix d, s, v
56.endm
57
58.macro ADD3R, d, s, v
59 add3 d, s, v
60.endm
61
62.macro SUBR, d, s, v
63 sub d, s, v
64.endm
65
66.macro BMSKNR, d, s, v
67 bmskn d, s, v
68.endm
69
70.macro LSRR, d, s, v
71 lsr d, s, v
72.endm
73
74.macro ASLR, d, s, v
75 asl d, s, v
76.endm
77
78.macro ANDR, d, s, v
79 and d, s, v
80.endm
81
82.macro ORR, d, s, v
83 or d, s, v
84.endm
85
86.macro BRR, d, s, lbl
87 br\&$suffix d, s, lbl
88.endm
89
90.macro BREQR, d, s, lbl
91 breq d, s, lbl
92.endm
93
94.macro CMPR, op1, op2
95 cmp op1, op2
96.endm
97
98#endif /* ZEPHYR_INCLUDE_ARCH_ARC_ASM_COMPAT_ASM_MACRO_32_BIT_MWDT_H_ */
workaround assembler barfing for ST if else st aa endif endm endr macro PUSHR r push r endm macro POPR r pop r endm macro LRR aux lr aux endm macro SRR aux sr aux endm irp nz macro ADDR cc v add cc v endm endr irp nz macro ADD2R cc v add2 cc v endm endr macro ADD3R v add3 v endm macro SUBR v sub v endm macro BMSKNR v bmskn v endm macro LSRR v lsr v endm macro ASLR v asl v endm macro ANDR v and v endm macro v or v endm irp eq macro BRR cc lbl br cc lbl endm endr macro BREQR lbl breq lbl endm macro CMPR op1
Definition asm-macro-32-bit-gnu.h:102
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition asm-macro-32-bit-gnu.h:20
irp nz macro MOVR cc d
Definition asm-macro-32-bit-gnu.h:14
workaround assembler barfing for ST if else st aa endif endm endr macro PUSHR r push r endm macro POPR r pop r endm macro LRR aux lr aux endm macro SRR aux sr aux endm irp nz macro ADDR cc v add cc v endm endr irp nz macro ADD2R cc v add2 cc v endm endr macro ADD3R v add3 v endm macro SUBR v sub v endm macro BMSKNR v bmskn v endm macro LSRR v lsr v endm macro ASLR v asl v endm macro ANDR v and v endm macro ORR
Definition asm-macro-32-bit-gnu.h:88
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition asm-macro-32-bit-gnu.h:20
workaround assembler barfing for ST r
Definition asm-macro-32-bit-gnu.h:27
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro POPR
Definition asm-macro-32-bit-mwdt.h:37
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro SUBR
Definition asm-macro-32-bit-mwdt.h:62
macro s mov &$suffix s endm macro LDR
Definition asm-macro-32-bit-mwdt.h:16
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro STR
Definition asm-macro-32-bit-mwdt.h:24
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro v lsr v endm macro v asl v endm macro v and v endm macro v or v endm macro lbl br &$suffix lbl endm macro lbl breq lbl endm macro CMPR
Definition asm-macro-32-bit-mwdt.h:94
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro v lsr v endm macro v asl v endm macro v and v endm macro v or v endm macro BRR
Definition asm-macro-32-bit-mwdt.h:86
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro ADD2R
Definition asm-macro-32-bit-mwdt.h:54
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro SRR
Definition asm-macro-32-bit-mwdt.h:45
macro MOVR
Definition asm-macro-32-bit-mwdt.h:11
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro ADDR
Definition asm-macro-32-bit-mwdt.h:50
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro LSRR
Definition asm-macro-32-bit-mwdt.h:70
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro ADD3R
Definition asm-macro-32-bit-mwdt.h:58
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro BMSKNR
Definition asm-macro-32-bit-mwdt.h:66
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro PUSHR
Definition asm-macro-32-bit-mwdt.h:33
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro v lsr v endm macro ASLR
Definition asm-macro-32-bit-mwdt.h:74
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro v lsr v endm macro v asl v endm macro v and v endm macro v or v endm macro lbl br &$suffix lbl endm macro BREQR
Definition asm-macro-32-bit-mwdt.h:90
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro aux lr aux endm macro aux sr aux endm macro v add &$suffix v endm macro v add2 &$suffix v endm macro v add3 v endm macro v sub v endm macro v bmskn v endm macro v lsr v endm macro v asl v endm macro ANDR
Definition asm-macro-32-bit-mwdt.h:78
macro s mov &$suffix s endm macro off if $narg
Definition asm-macro-32-bit-mwdt.h:17
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro off if else st &$suffix endif endm macro r push r endm macro r pop r endm macro LRR
Definition asm-macro-32-bit-mwdt.h:41