@@ -118,31 +118,31 @@ extern "C" {
118118#define ir_MUL_D (_op1 , _op2 ) ir_BINARY_OP_D(IR_MUL, (_op1), (_op2))
119119#define ir_MUL_F (_op1 , _op2 ) ir_BINARY_OP_F(IR_MUL, (_op1), (_op2))
120120
121- #define ir_DIV (_type , _op1 , _op2 ) ir_BINARY_OP(IR_DIV , (_type), (_op1), (_op2))
122- #define ir_DIV_U8 (_op1 , _op2 ) ir_BINARY_OP_U8(IR_DIV , (_op1), (_op2))
123- #define ir_DIV_U16 (_op1 , _op2 ) ir_BINARY_OP_U16(IR_DIV , (_op1), (_op2))
124- #define ir_DIV_U32 (_op1 , _op2 ) ir_BINARY_OP_U32(IR_DIV , (_op1), (_op2))
125- #define ir_DIV_U64 (_op1 , _op2 ) ir_BINARY_OP_U64(IR_DIV , (_op1), (_op2))
126- #define ir_DIV_A (_op1 , _op2 ) ir_BINARY_OP_A(IR_DIV , (_op1), (_op2))
127- #define ir_DIV_C (_op1 , _op2 ) ir_BINARY_OP_C(IR_DIV , (_op1), (_op2))
128- #define ir_DIV_I8 (_op1 , _op2 ) ir_BINARY_OP_I8(IR_DIV , (_op1), (_op2))
129- #define ir_DIV_I16 (_op1 , _op2 ) ir_BINARY_OP_I16(IR_DIV , (_op1), (_op2))
130- #define ir_DIV_I32 (_op1 , _op2 ) ir_BINARY_OP_I32(IR_DIV , (_op1), (_op2))
131- #define ir_DIV_I64 (_op1 , _op2 ) ir_BINARY_OP_I64(IR_DIV , (_op1), (_op2))
121+ #define ir_DIV (_type , _op1 , _op2 ) _ir_DIV(_ir_CTX , (_type), (_op1), (_op2))
122+ #define ir_DIV_U8 (_op1 , _op2 ) ir_DIV(IR_U8 , (_op1), (_op2))
123+ #define ir_DIV_U16 (_op1 , _op2 ) ir_DIV(IR_U16 , (_op1), (_op2))
124+ #define ir_DIV_U32 (_op1 , _op2 ) ir_DIV(IR_U32 , (_op1), (_op2))
125+ #define ir_DIV_U64 (_op1 , _op2 ) ir_DIV(IR_U64 , (_op1), (_op2))
126+ #define ir_DIV_A (_op1 , _op2 ) ir_DIV(IR_ADDR , (_op1), (_op2))
127+ #define ir_DIV_C (_op1 , _op2 ) ir_DIV(IR_CHAR , (_op1), (_op2))
128+ #define ir_DIV_I8 (_op1 , _op2 ) ir_DIV(IR_I8 , (_op1), (_op2))
129+ #define ir_DIV_I16 (_op1 , _op2 ) ir_DIV(IR_I16 , (_op1), (_op2))
130+ #define ir_DIV_I32 (_op1 , _op2 ) ir_DIV(IR_I32 , (_op1), (_op2))
131+ #define ir_DIV_I64 (_op1 , _op2 ) ir_DIV(IR_I64 , (_op1), (_op2))
132132#define ir_DIV_D (_op1 , _op2 ) ir_BINARY_OP_D(IR_DIV, (_op1), (_op2))
133133#define ir_DIV_F (_op1 , _op2 ) ir_BINARY_OP_F(IR_DIV, (_op1), (_op2))
134134
135- #define ir_MOD (_type , _op1 , _op2 ) ir_BINARY_OP(IR_MOD , (_type), (_op1), (_op2))
136- #define ir_MOD_U8 (_op1 , _op2 ) ir_BINARY_OP_U8(IR_MOD , (_op1), (_op2))
137- #define ir_MOD_U16 (_op1 , _op2 ) ir_BINARY_OP_U16(IR_MOD , (_op1), (_op2))
138- #define ir_MOD_U32 (_op1 , _op2 ) ir_BINARY_OP_U32(IR_MOD , (_op1), (_op2))
139- #define ir_MOD_U64 (_op1 , _op2 ) ir_BINARY_OP_U64(IR_MOD , (_op1), (_op2))
140- #define ir_MOD_A (_op1 , _op2 ) ir_BINARY_OP_A(IR_MOD , (_op1), (_op2))
141- #define ir_MOD_C (_op1 , _op2 ) ir_BINARY_OP_C(IR_MOD , (_op1), (_op2))
142- #define ir_MOD_I8 (_op1 , _op2 ) ir_BINARY_OP_I8(IR_MOD , (_op1), (_op2))
143- #define ir_MOD_I16 (_op1 , _op2 ) ir_BINARY_OP_I16(IR_MOD , (_op1), (_op2))
144- #define ir_MOD_I32 (_op1 , _op2 ) ir_BINARY_OP_I32(IR_MOD , (_op1), (_op2))
145- #define ir_MOD_I64 (_op1 , _op2 ) ir_BINARY_OP_I64(IR_MOD , (_op1), (_op2))
135+ #define ir_MOD (_type , _op1 , _op2 ) _ir_MOD(_ir_CTX , (_type), (_op1), (_op2))
136+ #define ir_MOD_U8 (_op1 , _op2 ) ir_MOD(IR_U8 , (_op1), (_op2))
137+ #define ir_MOD_U16 (_op1 , _op2 ) ir_MOD(IR_U16 , (_op1), (_op2))
138+ #define ir_MOD_U32 (_op1 , _op2 ) ir_MOD(IR_U32 , (_op1), (_op2))
139+ #define ir_MOD_U64 (_op1 , _op2 ) ir_MOD(IR_U64 , (_op1), (_op2))
140+ #define ir_MOD_A (_op1 , _op2 ) ir_MOD(IR_ADDR , (_op1), (_op2))
141+ #define ir_MOD_C (_op1 , _op2 ) ir_MOD(IR_CHAR , (_op1), (_op2))
142+ #define ir_MOD_I8 (_op1 , _op2 ) ir_MOD(IR_I8 , (_op1), (_op2))
143+ #define ir_MOD_I16 (_op1 , _op2 ) ir_MOD(IR_I16 , (_op1), (_op2))
144+ #define ir_MOD_I32 (_op1 , _op2 ) ir_MOD(IR_I32 , (_op1), (_op2))
145+ #define ir_MOD_I64 (_op1 , _op2 ) ir_MOD(IR_I64 , (_op1), (_op2))
146146
147147#define ir_NEG (_type , _op1 ) ir_UNARY_OP(IR_NEG, (_type), (_op1))
148148#define ir_NEG_C (_op1 ) ir_UNARY_OP_C(IR_NEG, (_op1))
@@ -633,6 +633,8 @@ extern "C" {
633633#define ir_MERGE_WITH_EMPTY_TRUE (_if ) do {ir_ref end = ir_END(); ir_IF_TRUE(_if); ir_MERGE_2(end, ir_END());} while (0)
634634#define ir_MERGE_WITH_EMPTY_FALSE (_if ) do {ir_ref end = ir_END(); ir_IF_FALSE(_if); ir_MERGE_2(end, ir_END());} while (0)
635635
636+ ir_ref _ir_DIV (ir_ctx * ctx , ir_type type , ir_ref op1 , ir_ref op2 );
637+ ir_ref _ir_MOD (ir_ctx * ctx , ir_type type , ir_ref op1 , ir_ref op2 );
636638ir_ref _ir_ADD_OFFSET (ir_ctx * ctx , ir_ref addr , uintptr_t offset );
637639ir_ref _ir_PHI_2 (ir_ctx * ctx , ir_type type , ir_ref src1 , ir_ref src2 );
638640ir_ref _ir_PHI_N (ir_ctx * ctx , ir_type type , ir_ref n , ir_ref * inputs );
0 commit comments