diff --git a/src/freedreno/ir3/ir3_parser.y b/src/freedreno/ir3/ir3_parser.y
index ce87dd489dd..d0e1ffa7512 100644
--- a/src/freedreno/ir3/ir3_parser.y
+++ b/src/freedreno/ir3/ir3_parser.y
@@ -705,14 +705,17 @@ mova_src: src_reg_or_const_or_rel
| immediate_cat1
| src_reg_flags immediate_cat1
-cat1_mova1: T_OP_MOVA1 T_A1 ',' {
+cat1_mova_flags:
+| '.' 'u' { iflags.flags |= IR3_INSTR_U; }
+
+cat1_mova1: T_OP_MOVA1 cat1_mova_flags T_A1 ',' {
new_instr(OPC_MOV);
instr->cat1.src_type = TYPE_U16;
instr->cat1.dst_type = TYPE_U16;
new_dst((61 << 3) + 2, IR3_REG_HALF);
} mova_src
-cat1_mova: T_OP_MOVA T_A0 ',' {
+cat1_mova: T_OP_MOVA cat1_mova_flags T_A0 ',' {
new_instr(OPC_MOV);
instr->cat1.src_type = TYPE_S16;
instr->cat1.dst_type = TYPE_S16;
diff --git a/src/freedreno/ir3/tests/disasm.c b/src/freedreno/ir3/tests/disasm.c
index bdd28a2fedb..65fd17954fb 100644
--- a/src/freedreno/ir3/tests/disasm.c
+++ b/src/freedreno/ir3/tests/disasm.c
@@ -96,6 +96,9 @@ static const struct test {
INSTR_6XX(20400006_00003800, "mov.f16f16 hr1.z, h(0.500000)"),
INSTR_6XX(204880f5_00000000, "mova1 a1.x, 0"),
+ INSTR_6XX(201108f4_00000000, "mova.u a0.x, (r)hr0.x"),
+ INSTR_6XX(204888f5_00000000, "mova1.u a1.x, 0"),
+
INSTR_7XX(2004c005_00000405, "cov.f32u32 r1.y, (last)r1.y"),
INSTR_7XX(200440c0_ae800004, "movs.f32f32 r48.x, r1.x, 93"),
diff --git a/src/freedreno/isa/ir3-cat1.xml b/src/freedreno/isa/ir3-cat1.xml
index 5566550878e..f9c4fe7320e 100644
--- a/src/freedreno/isa/ir3-cat1.xml
+++ b/src/freedreno/isa/ir3-cat1.xml
@@ -77,7 +77,8 @@ SOFTWARE.
001
-
+
+
@@ -119,7 +120,7 @@ SOFTWARE.
({DST} == 0xf4 /* a0.x */) && ({SRC_TYPE} == 4 /* s16 */) && ({DST_TYPE} == 4)
- {SY}{SS}{JP}{REPEAT}{UL}mova {ROUND}{DM}a0.x, {SRC_R}{SRC}
+ {SY}{SS}{JP}{REPEAT}{UL}mova{U} {ROUND}{DM}a0.x, {SRC}
11110100
100
@@ -130,7 +131,7 @@ SOFTWARE.
({DST} == 0xf5 /* a0.y */) && ({SRC_TYPE} == 2 /* u16 */) && ({DST_TYPE} == 2)
- {SY}{SS}{JP}{REPEAT}{UL}mova1 {ROUND}{DM}a1.x, {SRC_R}{SRC}
+ {SY}{SS}{JP}{REPEAT}{UL}mova1{U} {ROUND}{DM}a1.x, {SRC}
11110101
010
@@ -147,6 +148,9 @@ SOFTWARE.
{SY}{SS}{JP}{REPEAT}{UL}mov.{SRC_TYPE}{DST_TYPE} {ROUND}{DM}{DST_HALF}{DST}, {SRC}
+
+ {SRC_R}
+