diff --git a/src/etnaviv/isa/asm.h b/src/etnaviv/isa/asm.h index 4174c4b723d..d513a29f291 100644 --- a/src/etnaviv/isa/asm.h +++ b/src/etnaviv/isa/asm.h @@ -88,7 +88,7 @@ struct etna_inst { unsigned skphp : 1; unsigned denorm : 1; unsigned local : 1; - unsigned left_shift : 2; + unsigned left_shift : 3; struct etna_inst_dst dst; /* destination operand */ struct etna_inst_tex tex; /* texture operand */ struct etna_inst_src src[ETNA_NUM_SRC]; /* source operand */ diff --git a/src/etnaviv/isa/etnaviv.xml b/src/etnaviv/isa/etnaviv.xml index 97b64cb6078..3574a552c8a 100644 --- a/src/etnaviv/isa/etnaviv.xml +++ b/src/etnaviv/isa/etnaviv.xml @@ -907,8 +907,8 @@ SPDX-License-Identifier: MIT - - + + @@ -940,8 +940,8 @@ SPDX-License-Identifier: MIT 00000 00 - - 00 + + 0 0 @@ -1003,8 +1003,8 @@ SPDX-License-Identifier: MIT xxxxx xx - - 00 + + 0 x diff --git a/src/etnaviv/isa/tests/disasm.cpp b/src/etnaviv/isa/tests/disasm.cpp index d7e65c065e2..779f71333e9 100644 --- a/src/etnaviv/isa/tests/disasm.cpp +++ b/src/etnaviv/isa/tests/disasm.cpp @@ -354,7 +354,8 @@ INSTANTIATE_TEST_SUITE_P(LoadStoreVariants, DisasmTest, disasm_state{ {0x01001032, 0x15400c14, 0x00000050, 0x00000000}, "load.denorm.ls2 t0._y__, u0.yyyy, t0.xxxx, void\n"}, disasm_state{ {0x01001032, 0x15400d14, 0x00000040, 0x00000000}, "load.denorm.local.ls2 t0._y__, t0.yyyy, t0.xxxx, void\n"}, disasm_state{ {0x00800033, 0x00000c14, 0x00000050, 0x00154008}, "store.denorm.ls2 mem.x___, u0.xxxx, t0.xxxx, t0.yyyy\n"}, - disasm_state{ {0x00861033, 0x15400d04, 0x100efe40, 0x7085860f}, "store.denorm.local mem.x___, t0.yyyy, 4092, 99.000000\t; dontcare bits in store: 00000000000000000000000000061000\n", FLAG_FAILING_ASM} + disasm_state{ {0x00861033, 0x15400d04, 0x100efe40, 0x7085860f}, "store.denorm.local mem.x___, t0.yyyy, 4092, 99.000000\t; dontcare bits in store: 00000000000000000000000000061000\n", FLAG_FAILING_ASM}, + disasm_state{ {0x07800033, 0x00200c34, 0x80000050, 0x00390018}, "store.denorm.u32.ls6 mem, u0.xxxx, t0.xxxx, t1.xyzw\n"} ) ); // clang-format on