On 01/10/2014 09:12 AM, Peter Maydell wrote: > + for (i = 0; i < elements; i++) { > + switch (opcode) { > + case 1: /* UZP1/2 */ > + { > + int midpoint = elements / 2; > + if (i < midpoint) { > + read_vec_element(s, tcg_res, rn, 2 * i + part, size); > + } else { > + read_vec_element(s, tcg_res, rm, > + 2 * (i - midpoint) + part, size); > + } > + break; > + } You're generating up to 16 * 3 + 2 = 50 opcodes here. I do wonder if it wouldn't be better to implement these as helpers. But, Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm