diff --git a/data/languages/xtensa.sinc b/data/languages/xtensa.sinc index 0a78226..ed4eb74 100644 --- a/data/languages/xtensa.sinc +++ b/data/languages/xtensa.sinc @@ -122,6 +122,14 @@ define token narrowinsn(16) ; +define token opbyte (8) + op0_8 = (0,7) +; + +define token opword (16) + op0_16 = (0,15) +; + attach variables [ ar as at n_ar n_as n_at ] [ a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 ]; diff --git a/data/languages/xtensaInstructions.sinc b/data/languages/xtensaInstructions.sinc index 535c4e6..51228db 100644 --- a/data/languages/xtensaInstructions.sinc +++ b/data/languages/xtensaInstructions.sinc @@ -1306,3 +1306,11 @@ macro extract_bit(val, bit, result) { #*[special_register]:4 sr = at; #at = tmp; } + +:pad is op0_16=0x0 { +} + +:pad is op0_8=0x0 { +} + + diff --git a/data/languages/xtensaTodo.sinc b/data/languages/xtensaTodo.sinc index 0f6e988..24c3158 100644 --- a/data/languages/xtensaTodo.sinc +++ b/data/languages/xtensaTodo.sinc @@ -116,7 +116,7 @@ :movsp at, as is op2 = 0 & op1 = 0 & ar = 0b0001 & as & at & op0 = 0 unimpl # RETW - Windowed Return, pg. 480. -:retw is op2 = 0 & ar = 0 & as = 0 & at = 0 & u2_18.19 = 0b10 & u2_16.17 = 0b01 & op0 = 0 { +:retw is op2 = 0 & op1 = 0 & ar = 0 & as = 0 & u2_6.7 = 0b10 & u2_4.5 = 0b01 & op0 = 0 { return [a0]; }