diff options
author | davem <davem@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-06 19:15:39 +0000 |
---|---|---|
committer | davem <davem@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-06 19:15:39 +0000 |
commit | 498af5fea6b9cfd3d66b5212cf0768ca9427185a (patch) | |
tree | c3e823b812cfdee24c34666e732f37a32eb6e84f /gcc/ada/g-busorg.adb | |
parent | 4db91b33e7cce3862116cfe108b91cfb329a6b98 (diff) | |
download | gcc-498af5fea6b9cfd3d66b5212cf0768ca9427185a.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179628 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/g-busorg.adb')
0 files changed, 0 insertions, 0 deletions