8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_0";
22 static constexpr Column COUNTS = Column::lookup_registers_mem_op_0_counts;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::execution_rop_0_, ColumnAndShifts::execution_register_0_,
26 ColumnAndShifts::execution_mem_tag_reg_0_, ColumnAndShifts::execution_rw_reg_0_,
27 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
29 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
30 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
31 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
36template <
typename FF_>
42 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_1";
47 static constexpr Column COUNTS = Column::lookup_registers_mem_op_1_counts;
49 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
50 ColumnAndShifts::execution_rop_1_, ColumnAndShifts::execution_register_1_,
51 ColumnAndShifts::execution_mem_tag_reg_1_, ColumnAndShifts::execution_rw_reg_1_,
52 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
54 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
55 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
56 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
61template <
typename FF_>
67 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_2";
72 static constexpr Column COUNTS = Column::lookup_registers_mem_op_2_counts;
74 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
75 ColumnAndShifts::execution_rop_2_, ColumnAndShifts::execution_register_2_,
76 ColumnAndShifts::execution_mem_tag_reg_2_, ColumnAndShifts::execution_rw_reg_2_,
77 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
79 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
80 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
81 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
86template <
typename FF_>
92 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_3";
97 static constexpr Column COUNTS = Column::lookup_registers_mem_op_3_counts;
99 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
100 ColumnAndShifts::execution_rop_3_, ColumnAndShifts::execution_register_3_,
101 ColumnAndShifts::execution_mem_tag_reg_3_, ColumnAndShifts::execution_rw_reg_3_,
102 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
104 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
105 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
106 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
111template <
typename FF_>
117 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_4";
122 static constexpr Column COUNTS = Column::lookup_registers_mem_op_4_counts;
124 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
125 ColumnAndShifts::execution_rop_4_, ColumnAndShifts::execution_register_4_,
126 ColumnAndShifts::execution_mem_tag_reg_4_, ColumnAndShifts::execution_rw_reg_4_,
127 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
129 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
130 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
131 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
136template <
typename FF_>
142 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_5";
147 static constexpr Column COUNTS = Column::lookup_registers_mem_op_5_counts;
149 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
150 ColumnAndShifts::execution_rop_5_, ColumnAndShifts::execution_register_5_,
151 ColumnAndShifts::execution_mem_tag_reg_5_, ColumnAndShifts::execution_rw_reg_5_,
152 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
154 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
155 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
156 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
161template <
typename FF_>
167 static constexpr std::string_view
NAME =
"LOOKUP_REGISTERS_MEM_OP_6";
172 static constexpr Column COUNTS = Column::lookup_registers_mem_op_6_counts;
174 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
175 ColumnAndShifts::execution_rop_6_, ColumnAndShifts::execution_register_6_,
176 ColumnAndShifts::execution_mem_tag_reg_6_, ColumnAndShifts::execution_rw_reg_6_,
177 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id
179 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
180 ColumnAndShifts::memory_address, ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag,
181 ColumnAndShifts::memory_rw, ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id
186template <
typename FF_>
This file contains the template for the generic lookup that can be specialized to enforce various loo...
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE