MME_ALU_OP_SLE,
MME_ALU_OP_SLEU,
MME_ALU_OP_SEQ,
- MME_ALU_OP_STATE,
MME_ALU_OP_DREAD,
MME_ALU_OP_DWRITE,
};
mme_state_arr_to(struct mme_builder *b, struct mme_value dst,
uint16_t state, struct mme_value index)
{
- assert(state % 4 == 0);
- mme_alu_to(b, dst, MME_ALU_OP_STATE, mme_imm(state >> 2), index, 0);
+ mme_tu104_state_arr_to(b, dst, state, index);
}
static inline void
ALU_CASE(SLE)
ALU_CASE(SLEU)
ALU_CASE(SEQ)
- ALU_CASE(STATE)
ALU_CASE(DREAD)
ALU_CASE(DWRITE)
#undef ALU_CASE
}
void
+mme_tu104_state_arr_to(struct mme_builder *b, struct mme_value dst,
+ uint16_t state, struct mme_value index)
+{
+ assert(state % 4 == 0);
+ build_alu_to(b, dst, MME_TU104_ALU_OP_STATE,
+ mme_imm(state >> 2), index, 0, false);
+}
+
+void
mme_tu104_load_barrier(struct mme_builder *b)
{
build_alu_to(b, mme_zero(), MME_TU104_ALU_OP_EXTENDED,
struct mme_value x, struct mme_value y,
uint16_t dst_pos, uint16_t bits, uint16_t src_pos);
+void mme_tu104_state_arr_to(struct mme_builder *b, struct mme_value dst,
+ uint16_t state, struct mme_value index);
+
void mme_tu104_load_barrier(struct mme_builder *b);
void mme_tu104_load_to(struct mme_builder *b,