summaryrefslogtreecommitdiff
path: root/asm/parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'asm/parser.y')
-rw-r--r--asm/parser.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/asm/parser.y b/asm/parser.y
index d5f9bde..676b949 100644
--- a/asm/parser.y
+++ b/asm/parser.y
@@ -680,7 +680,9 @@ dst_reg_flags: dst_reg_flag
| dst_reg_flag dst_reg_flags
/* note: destination registers are always incremented in repeat */
-dst_reg: reg { $1->flags |= IR3_REG_R; }
+dst_reg: 'r' '<' T_A0 offset '>' { new_reg(0, IR3_REG_RELATIV)->offset = $4; }
+| dst_reg_flags 'r' '<' T_A0 offset '>' { new_reg(0, IR3_REG_RELATIV)->offset = $4; }
+| reg { $1->flags |= IR3_REG_R; }
| dst_reg_flags reg { $2->flags |= IR3_REG_R; }
src_reg_flag: T_ABSNEG { rflags.flags |= IR3_REG_ABS|IR3_REG_NEGATE; }