Files
micropython/tests/inlineasm/xtensa/asmarith.py.exp
Alessandro Gatti 1006ed69f0 py/emitinlinextensa: Add the rest of LX3 opcodes to the assembler.
This commit expands the Xtensa inline assembler to support most if not
all opcodes available on the ESP8266 and LX3 Xtensa cores.

This is meant as a stepping stone to add inline assembler support for
the ESP32 and its LX6 core, along to windowed-specific opcodes and
additional opcodes that are present only on the LX7 core (ESP32-S3 and
later).

New opcodes being added are covered by tests, and the provided tests
were expanded to also include opcodes available in the existing
implementation.  Given that the ESP8266 space requirements are tighter
than ESP32's, certain opcodes that won't be commonly used have been put
behind a define to save some space in the general use case.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2025-05-29 12:12:39 +10:00

41 lines
331 B
Plaintext

10
10
0
-32768
-32767 is not a multiple of 256
32512
'addmi' integer 32513 isn't within range -32768..32512
0
a2 300
a4 500
a8 900
s2 100
s4 300
s8 700
a2 -100
a4 -300
a8 -700
s2 -300
s4 -500
s8 -900
a2 -300
a4 -500
a8 -900
s2 -100
s4 -300
s8 -700
a2 100
a4 300
a8 700
s2 300
s4 500
s8 900
0
100
-100
0xff
0x201
300
101
0x80000000