aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-12-09 20:31:06 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2016-12-09 20:31:06 +0100
commitbb0f9c0249ee6a1b53e6ae8bdd9d3543991c7291 (patch)
tree025154146b8b80c430204be6d22a894a97eea00f /gcc/fortran/parse.c
parent59ab1319cb6664c39d8cf7f05bcf1ec0a625ecdb (diff)
downloadgcc-bb0f9c0249ee6a1b53e6ae8bdd9d3543991c7291.zip
gcc-bb0f9c0249ee6a1b53e6ae8bdd9d3543991c7291.tar.gz
gcc-bb0f9c0249ee6a1b53e6ae8bdd9d3543991c7291.tar.bz2
rs6000: clz/ctz/ffs improvement (PR78683)
On CPUs that implement popcnt[wd] but not cnttz[wd] we can do better for the ctz sequences than we do today. CL[TZ]_DEFINED_VALUE_AT_ZERO can return 2, since we always return the same fixed value (only dependent on TARGET_* options). PR target/78683 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE. Return 2. (CTZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE. Return 2. Handle TARGET_POPCNTD the same as TARGET_CTZ. * config/rs6000/rs6000.md (ctz<mode>2): Reimplement. (ffs<mode>2): Reimplement. From-SVN: r243499
Diffstat (limited to 'gcc/fortran/parse.c')
0 files changed, 0 insertions, 0 deletions