Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
 4.2.99
asm-macro-64-bit-mwdt.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Apache-2.0 */
2/*
3 * Copyright (C) 2022 Synopsys, Inc. (www.synopsys.com)
4 *
5 * ALU/Memory instructions pseudo-mnemonics for ARC64 ISA
6 */
7
8.macro MOVR, d, s
9 movl\&$suffix d, s
10.endm
11
12
13.macro LDR, d, s, off
14 .if $narg == 2
15 ldl\&$suffix d, [s]
16 .else
17 ldl\&$suffix d, [s, off]
18 .endif
19.endm
20
21.macro STR, d, s, off
22 .if $narg == 2
23 stl\&$suffix d, [s]
24 .else
25 stl\&$suffix d, [s, off]
26 .endif
27.endm
28
29
30.macro PUSHR, r
31 pushl r
32.endm
33
34.macro POPR, r
35 popl r
36.endm
37
38.macro LRR, d, aux
39 lrl d, aux
40.endm
41
42.macro SRR, d, aux
43 srl d, aux
44.endm
45
46
47.macro ADDR, d, s, v
48 addl\&$suffix d, s, v
49.endm
50
51.macro ADD2R, d, s, v
52 add2l\&$suffix d, s, v
53.endm
54
55.macro ADD3R, d, s, v
56 add3l d, s, v
57.endm
58
59.macro SUBR, d, s, v
60 subl d, s, v
61.endm
62
63.macro BMSKNR, d, s, v
64 bmsknl d, s, v
65.endm
66
67.macro LSRR, d, s, v
68 lsrl d, s, v
69.endm
70
71.macro ASLR, d, s, v
72 asll d, s, v
73.endm
74
75.macro ANDR, d, s, v
76 andl d, s, v
77.endm
78
79.macro ORR, d, s, v
80 orl d, s, v
81.endm
82
83.macro BRR, d, s, lbl
84 br\&$suffix\l d, s, lbl
85.endm
86
87.macro BREQR, d, s, lbl
88 breql d, s, lbl
89.endm
90
91.macro CMPR, op1, op2
92 cmpl op1, op2
93.endm
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:99
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition asm-macro-32-bit-gnu.h:17
irp nz macro MOVR cc d
Definition asm-macro-32-bit-gnu.h:11
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:85
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition asm-macro-32-bit-gnu.h:17
workaround assembler barfing for ST r
Definition asm-macro-32-bit-gnu.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 POPR
Definition asm-macro-32-bit-mwdt.h:34
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:59
macro s mov &$suffix s endm macro LDR
Definition asm-macro-32-bit-mwdt.h:13
macro s mov &$suffix s endm macro off if else ld &$suffix endif endm macro STR
Definition asm-macro-32-bit-mwdt.h:21
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:91
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:83
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:51
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:42
macro MOVR
Definition asm-macro-32-bit-mwdt.h:8
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:47
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:67
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:55
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:63
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:30
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:71
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:87
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:75
macro s mov &$suffix s endm macro off if $narg
Definition asm-macro-32-bit-mwdt.h:14
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:38