On 1/19/21 5:27 AM, Peter Maydell wrote: > On Fri, 15 Jan 2021 at 21:20, Richard Henderson > <richard.hender...@linaro.org> wrote: >> >> This exports the constraint sets from tcg_target_op_def to >> a place we will be able to manipulate more in future. >> >> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> >> --- >> tcg/i386/tcg-target-con-set.h | 54 ++++++++++ >> tcg/i386/tcg-target.h | 1 + >> tcg/tcg.c | 122 +++++++++++++++++++++ >> tcg/i386/tcg-target.c.inc | 194 ++++++++++++---------------------- >> 4 files changed, 244 insertions(+), 127 deletions(-) >> create mode 100644 tcg/i386/tcg-target-con-set.h > >> +#define C_O2_I1(O1, O2, I1) C_PFX3(c_o2_i1_, O1, O2, I1), >> +#define C_O2_I2(O1, O2, I1, I2) C_PFX4(c_o2_i2_, O1, O2, I1, I2), >> +#define C_O2_I3(O1, O2, I1, I2, I3) C_PFX5(c_o2_i3_, O1, O2, I1, I2, >> I3), >> +#define C_O2_I4(O1, O2, I1, I2, I3, I4) \ >> + C_PFX6(c_o2_i4_, O1, O2, I1, I2, I3, I4), > > Personally this is the kind of code where I would follow > CODING_STYLE.rst's suggestion of "If wrapping the line at 80 > columns is obviously less readable and more awkward, prefer not > to wrap it; better to have an 85 character line than one which > is awkwardly wrapped.". The parallelism between the lines > is much easier to see without the linebreak.
The maximum within this section is column 92. Still ok with that? > I know the macro magic should make it impossible, but maybe > we should have an assert that we definitely have a valid > array index here ? Ok. >> case INDEX_op_andc_i32: >> case INDEX_op_andc_i64: >> - { >> - static const TCGTargetOpDef andc >> - = { .args_ct_str = { "r", "r", "rI" } }; >> - return &andc; >> - } >> - break; >> + return C_O1_I2(r, 0, rI); > > Old constraint was r r rI; new one is r 0 rI ? Oops, good catch. And of course the error would have worked in testing. r~