From: Eric Botcazou Date: Tue, 4 Oct 2011 07:40:07 +0000 (+0000) Subject: * config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests. X-Git-Tag: releases/gcc-4.7.0~3396 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=437bcafa1adcc9693a6437b410c98e17b1f78dbe;p=thirdparty%2Fgcc.git * config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests. From-SVN: r179493 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f33228528141..886d22743c60 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-10-04 Eric Botcazou + + * config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests. + 2011-10-04 Andreas Krebbel * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 4df9f6a8088f..5e67b4c00937 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -9716,24 +9716,23 @@ sparc_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED, if (ignore) { - switch (icode) - { - case CODE_FOR_alignaddrsi_vis: - case CODE_FOR_alignaddrdi_vis: - case CODE_FOR_wrgsr_vis: - case CODE_FOR_bmasksi_vis: - case CODE_FOR_bmaskdi_vis: - case CODE_FOR_cmask8si_vis: - case CODE_FOR_cmask8di_vis: - case CODE_FOR_cmask16si_vis: - case CODE_FOR_cmask16di_vis: - case CODE_FOR_cmask32si_vis: - case CODE_FOR_cmask32di_vis: - break; - - default: - return build_zero_cst (rtype); - } + /* Note that a switch statement instead of the sequence of tests would + be incorrect as many of the CODE_FOR values could be CODE_FOR_nothing + and that would yield multiple alternatives with identical values. */ + if (icode == CODE_FOR_alignaddrsi_vis + || icode == CODE_FOR_alignaddrdi_vis + || icode == CODE_FOR_wrgsr_vis + || icode == CODE_FOR_bmasksi_vis + || icode == CODE_FOR_bmaskdi_vis + || icode == CODE_FOR_cmask8si_vis + || icode == CODE_FOR_cmask8di_vis + || icode == CODE_FOR_cmask16si_vis + || icode == CODE_FOR_cmask16di_vis + || icode == CODE_FOR_cmask32si_vis + || icode == CODE_FOR_cmask32di_vis) + ; + else + return build_zero_cst (rtype); } switch (icode)