"${opcode}", ${op.srcs}, ${op.dests}, ${" | ".join(imms)},
${make_encoding(op.encoding_32)},
${make_encoding(op.encoding_16)},
+ AGX_SCHEDULE_CLASS_${op.schedule_class.upper()},
${int(op.is_float)},
${int(op.can_eliminate)},
${int(op.can_reorder)},
#include <stdint.h>
#include "util/macros.h"
+enum agx_schedule_class {
+ AGX_SCHEDULE_CLASS_INVALID,
+ AGX_SCHEDULE_CLASS_NONE,
+ AGX_SCHEDULE_CLASS_LOAD,
+ AGX_SCHEDULE_CLASS_STORE,
+ AGX_SCHEDULE_CLASS_ATOMIC,
+ AGX_SCHEDULE_CLASS_COVERAGE,
+ AGX_SCHEDULE_CLASS_PRELOAD,
+ AGX_SCHEDULE_CLASS_BARRIER,
+};
+
/* Listing of opcodes */
enum agx_opcode {
enum agx_immediate immediates;
struct agx_encoding encoding;
struct agx_encoding encoding_16;
+ enum agx_schedule_class schedule_class;
bool is_float : 1;
bool can_eliminate : 1;
bool can_reorder : 1;