diff options
author | David S. Miller <davem@davemloft.net> | 2011-10-06 19:15:39 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-10-06 12:15:39 -0700 |
commit | 908e19d0d0644e734cba0869184e15400222d6b7 (patch) | |
tree | c3e823b812cfdee24c34666e732f37a32eb6e84f /gcc/hooks.c | |
parent | f4b31a33a2ba7839164998916ec4215acdb162b9 (diff) | |
download | gcc-908e19d0d0644e734cba0869184e15400222d6b7.zip gcc-908e19d0d0644e734cba0869184e15400222d6b7.tar.gz gcc-908e19d0d0644e734cba0869184e15400222d6b7.tar.bz2 |
Correct errors in sparc SImode popcount/clz patterns when 64-bit.
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
SI mode 64-bit code gen case explicitly zero-extend and truncate.
(*popcount<mode>_sp64): Split up into...
(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
SImode case use truncate.
(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
subtract so the compiler can optimize it.
(SIDI): Remove unused mode iterator.
From-SVN: r179628
Diffstat (limited to 'gcc/hooks.c')
0 files changed, 0 insertions, 0 deletions