diff --git a/src/imagination/rogue/rogue.h b/src/imagination/rogue/rogue.h index 32b536986a7..cd78bacde8e 100644 --- a/src/imagination/rogue/rogue.h +++ b/src/imagination/rogue/rogue.h @@ -508,6 +508,9 @@ enum rogue_io { /* Predicate register. */ ROGUE_IO_P0, + /* For optional instruction arguments. */ + ROGUE_IO_NONE, + ROGUE_IO_COUNT, }; @@ -531,6 +534,11 @@ static inline bool rogue_io_is_ft(enum rogue_io io) return (io >= ROGUE_IO_FT0 && io <= ROGUE_IO_FTE); } +static inline bool rogue_io_is_none(enum rogue_io io) +{ + return io == ROGUE_IO_NONE; +} + typedef struct rogue_io_info { const char *str; } rogue_io_info; diff --git a/src/imagination/rogue/rogue_info.c b/src/imagination/rogue/rogue_info.c index 9aa7989bf5c..8ee93d9a4c2 100644 --- a/src/imagination/rogue/rogue_info.c +++ b/src/imagination/rogue/rogue_info.c @@ -288,6 +288,7 @@ const rogue_io_info rogue_io_infos[ROGUE_IO_COUNT] = { [ROGUE_IO_FT4] = { .str = "ft4", }, [ROGUE_IO_FT5] = { .str = "ft5", }, [ROGUE_IO_P0] = { .str = "p0", }, + [ROGUE_IO_NONE] = { .str = "_", }, }; #define SM(src_mod) BITFIELD64_BIT(ROGUE_ALU_SRC_MOD_##src_mod)