This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/80833] 32-bit x86 causes store-forwarding stalls for int64_t -> xmm
- From: "peter at cordes dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 20 May 2017 01:39:14 +0000
- Subject: [Bug target/80833] 32-bit x86 causes store-forwarding stalls for int64_t -> xmm
- Auto-submitted: auto-generated
- References: <bug-80833-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80833
--- Comment #3 from Peter Cordes <peter at cordes dot ca> ---
Atom's movd xmm->int is slower (lat=4, rtput=2) than its movd int->xmm (lat=3,
rtput=1), which is opposite of every other CPU (except Silvermont where they're
the same throughput but xmm->int is 1c slower). So very likely store/reload is
the way to go for -mtune=atom, since store-forwarding is so amazingly fast (1c
latency). But maybe with SSE4 pextrd, the code-size saving is worth it.