On Sun, May 22, 2022 at 11:03 AM Roger Sayle <ro...@nextmovesoftware.com> wrote: > > > This simple patch implements Richard Biener's suggestion in comment #6 > of PR tree-optimization/52171 (from February 2013) that the insn-preds > code generated by genpreds can avoid using strncmp when matching constant > strings of length one. > > The effect of this patch is best explained by the diff of insn-preds.cc: > < if (!strncmp (str + 1, "g", 1)) > --- > > if (str[1] == 'g') > 3104c3104 > < if (!strncmp (str + 1, "m", 1)) > --- > > if (str[1] == 'm') > 3106c3106 > < if (!strncmp (str + 1, "c", 1)) > --- > > if (str[1] == 'c') > ... > > The equivalent optimization is performed by GCC (but perhaps not by the > host compiler), but generating simpler/smaller code may encourage further > optimizations (such as use of a switch statement). > > This patch has been tested on x86_64-pc-linux-gnu with make bootstrap > and make -k check with no new failures. Ok for mainline?
OK. Richard. > > 2022-05-22 Roger Sayle <ro...@nextmovesoftware.com> > > gcc/ChangeLog > * genpreds.cc (write_lookup_constraint_1): Avoid generating a call > to strncmp for strings of length one. > > Roger > -- >