https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52171
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Roger Sayle <sa...@gcc.gnu.org>: https://gcc.gnu.org/g:9e7a0e42a15eb53850496e91f2e484ed74ac3617 commit r13-738-g9e7a0e42a15eb53850496e91f2e484ed74ac3617 Author: Roger Sayle <ro...@nextmovesoftware.com> Date: Tue May 24 14:29:27 2022 +0100 Minor improvement to genpreds.cc 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). 2022-05-24 Roger Sayle <ro...@nextmovesoftware.com> gcc/ChangeLog * genpreds.cc (write_lookup_constraint_1): Avoid generating a call to strncmp for strings of length one.