On 01/15/2018 06:27 AM, Peter Maydell wrote: > We could avoid the annoying "load LE/GE immediates to tempreg" > extra code by having tcg_out_cmp2() return a flag to tell > the caller which way round to put the conditions for its two > conditional ARITH_MOV insns (for setcond2) or which condition > to use for the branch (brcond2), right?
No. We do return a condition to use for the user. When we do the LE/GT load immediates to temp path, we do apply tcg_cond_swap(cond), which converts the condition as for swapped arguments, i.e. to GE/LT. But we can't *not* swap the arguments to the generated comparison. Otherwise we're computing the wrong thing. r~