gh-100239: Propagate type info through _BINARY_OP_EXTEND in tier 2 (G… · python/cpython@efda60e

GitHub

@@ -2195,24 +2195,24 @@ LONG_FLOAT_ACTION(compactlong_float_true_div, /)

2195219521962196static_PyBinaryOpSpecializationDescrbinaryop_extend_descrs[] = {

21972197/* long-long arithmetic */

2198- {NB_OR, compactlongs_guard, compactlongs_or},

2199- {NB_AND, compactlongs_guard, compactlongs_and},

2200- {NB_XOR, compactlongs_guard, compactlongs_xor},

2201- {NB_INPLACE_OR, compactlongs_guard, compactlongs_or},

2202- {NB_INPLACE_AND, compactlongs_guard, compactlongs_and},

2203- {NB_INPLACE_XOR, compactlongs_guard, compactlongs_xor},

2198+ {NB_OR, compactlongs_guard, compactlongs_or, &PyLong_Type, 1},

2199+ {NB_AND, compactlongs_guard, compactlongs_and, &PyLong_Type, 1},

2200+ {NB_XOR, compactlongs_guard, compactlongs_xor, &PyLong_Type, 1},

2201+ {NB_INPLACE_OR, compactlongs_guard, compactlongs_or, &PyLong_Type, 1},

2202+ {NB_INPLACE_AND, compactlongs_guard, compactlongs_and, &PyLong_Type, 1},

2203+ {NB_INPLACE_XOR, compactlongs_guard, compactlongs_xor, &PyLong_Type, 1},

2204220422052205/* float-long arithemetic */

2206- {NB_ADD, float_compactlong_guard, float_compactlong_add},

2207- {NB_SUBTRACT, float_compactlong_guard, float_compactlong_subtract},

2208- {NB_TRUE_DIVIDE, nonzero_float_compactlong_guard, float_compactlong_true_div},

2209- {NB_MULTIPLY, float_compactlong_guard, float_compactlong_multiply},

2206+ {NB_ADD, float_compactlong_guard, float_compactlong_add, &PyFloat_Type, 1},

2207+ {NB_SUBTRACT, float_compactlong_guard, float_compactlong_subtract, &PyFloat_Type, 1},

2208+ {NB_TRUE_DIVIDE, nonzero_float_compactlong_guard, float_compactlong_true_div, &PyFloat_Type, 1},

2209+ {NB_MULTIPLY, float_compactlong_guard, float_compactlong_multiply, &PyFloat_Type, 1},

2210221022112211/* float-float arithmetic */

2212- {NB_ADD, compactlong_float_guard, compactlong_float_add},

2213- {NB_SUBTRACT, compactlong_float_guard, compactlong_float_subtract},

2214- {NB_TRUE_DIVIDE, nonzero_compactlong_float_guard, compactlong_float_true_div},

2215- {NB_MULTIPLY, compactlong_float_guard, compactlong_float_multiply},

2212+ {NB_ADD, compactlong_float_guard, compactlong_float_add, &PyFloat_Type, 1},

2213+ {NB_SUBTRACT, compactlong_float_guard, compactlong_float_subtract, &PyFloat_Type, 1},

2214+ {NB_TRUE_DIVIDE, nonzero_compactlong_float_guard, compactlong_float_true_div, &PyFloat_Type, 1},

2215+ {NB_MULTIPLY, compactlong_float_guard, compactlong_float_multiply, &PyFloat_Type, 1},

22162216};

2217221722182218staticint