ir3/tests: Make possible to specify raw instr value as uint64
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30018>
This commit is contained in:

committed by
Marge Bot

parent
d17338d403
commit
b5f0c44f2a
@@ -44,16 +44,19 @@
|
|||||||
|
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
/* Note: @anholt's 4xx disasm was done on an a418 Nexus 5x */
|
/* Note: @anholt's 4xx disasm was done on an a418 Nexus 5x */
|
||||||
#define INSTR_4XX(i, d, ...) { .gpu_id = 420, .instr = #i, .expected = d, __VA_ARGS__ }
|
#define INSTR_4XX(i, d, ...) { .gpu_id = 420, .instr = #i, .instr_raw = 0, .expected = d, __VA_ARGS__ }
|
||||||
#define INSTR_5XX(i, d, ...) { .gpu_id = 540, .instr = #i, .expected = d, __VA_ARGS__ }
|
#define INSTR_5XX(i, d, ...) { .gpu_id = 540, .instr = #i, .instr_raw = 0, .expected = d, __VA_ARGS__ }
|
||||||
#define INSTR_6XX(i, d, ...) { .gpu_id = 630, .instr = #i, .expected = d, __VA_ARGS__ }
|
#define INSTR_6XX(i, d, ...) { .gpu_id = 630, .instr = #i, .instr_raw = 0, .expected = d, __VA_ARGS__ }
|
||||||
#define INSTR_7XX(i, d, ...) { .chip_id = 0x07030001, .instr = #i, .expected = d, __VA_ARGS__ }
|
#define INSTR_6XX_RAW(i, d, ...) { .gpu_id = 630, .instr = NULL, .instr_raw = i, .expected = d, __VA_ARGS__ }
|
||||||
|
#define INSTR_7XX(i, d, ...) { .chip_id = 0x07030001, .instr = #i, .instr_raw = 0, .expected = d, __VA_ARGS__ }
|
||||||
|
#define INSTR_7XX_RAW(i, d, ...) { .chip_id = 0x07030001, .instr = NULL, .instr_raw = i, .expected = d, __VA_ARGS__ }
|
||||||
/* clang-format on */
|
/* clang-format on */
|
||||||
|
|
||||||
static const struct test {
|
static const struct test {
|
||||||
int gpu_id;
|
int gpu_id;
|
||||||
int chip_id;
|
int chip_id;
|
||||||
const char *instr;
|
const char *instr;
|
||||||
|
uint64_t instr_raw;
|
||||||
const char *expected;
|
const char *expected;
|
||||||
/**
|
/**
|
||||||
* Do we expect asm parse fail (ie. for things not (yet) supported by
|
* Do we expect asm parse fail (ie. for things not (yet) supported by
|
||||||
@@ -503,7 +506,16 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(tests); i++) {
|
for (int i = 0; i < ARRAY_SIZE(tests); i++) {
|
||||||
const struct test *test = &tests[i];
|
const struct test *test = &tests[i];
|
||||||
printf("Testing a%d %s: \"%s\"...\n", test->gpu_id, test->instr,
|
uint32_t code[2];
|
||||||
|
if (test->instr) {
|
||||||
|
code[0] = strtoll(&test->instr[9], NULL, 16);
|
||||||
|
code[1] = strtoll(&test->instr[0], NULL, 16);
|
||||||
|
} else {
|
||||||
|
code[0] = test->instr_raw;
|
||||||
|
code[1] = test->instr_raw >> 32;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Testing a%d %08x_%08x: \"%s\"...\n", test->gpu_id, code[1], code[0],
|
||||||
test->expected);
|
test->expected);
|
||||||
|
|
||||||
struct fd_dev_id dev_id = {
|
struct fd_dev_id dev_id = {
|
||||||
@@ -520,10 +532,6 @@ main(int argc, char **argv)
|
|||||||
* Test disassembly:
|
* Test disassembly:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint32_t code[2] = {
|
|
||||||
strtoll(&test->instr[9], NULL, 16),
|
|
||||||
strtoll(&test->instr[0], NULL, 16),
|
|
||||||
};
|
|
||||||
ir3_isa_disasm(code, 8, fdisasm,
|
ir3_isa_disasm(code, 8, fdisasm,
|
||||||
&(struct isa_decode_options){
|
&(struct isa_decode_options){
|
||||||
.gpu_id = dev_info->chip * 100,
|
.gpu_id = dev_info->chip * 100,
|
||||||
|
Reference in New Issue
Block a user