This is the mail archive of the
mailing list for the GCC project.
Re: [i386] Scalar DImode instructions on XMM registers
- From: Richard Henderson <rth at redhat dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Ilya Enkovich <enkovich dot gnu at gmail dot com>, GCC Development <gcc at gcc dot gnu dot org>, Vladimir Makarov <vmakarov at redhat dot com>
- Date: Thu, 07 May 2015 11:08:24 -0700
- Subject: Re: [i386] Scalar DImode instructions on XMM registers
- Authentication-results: sourceware.org; auth=none
- References: <CAMbmDYYT6zE86-xAYs08VV2nWDK6Np+qEYoj+6oGM276MtBuPQ at mail dot gmail dot com> <CAFULd4YVruAT=RHgENhBcuKZgE6FvRa=8aR6WygKm9F4GjnJyg at mail dot gmail dot com> <CAFULd4aycTg3bYKx7c9GXpgiY4WeqmLh1f5HFYL6K+K35QmTWA at mail dot gmail dot com> <CAMbmDYaDrCnDCnQfP0toV87pi_mE_pbPCP6M-FEkGNDAtWKFUA at mail dot gmail dot com> <CAFULd4amXWDT45oUNqi2cLL2Tec-kMJm7Kz301myZSWZw-3H7Q at mail dot gmail dot com> <alpine dot DEB dot 2 dot 11 dot 1504241222020 dot 1687 at laptop-mg dot saclay dot inria dot fr> <CAMbmDYYfq-RVYa0MwrGH_DpnV7psPHKZpxaouMuq_nsOPeO_ug at mail dot gmail dot com> <20150425013239 dot GB719 at atrey dot karlin dot mff dot cuni dot cz> <554B91A8 dot 5090100 at redhat dot com> <CAFULd4b1JehLD8i7c+XgrDmuYZrn3MWVejvXrB1-kQp_81RrKA at mail dot gmail dot com>
On 05/07/2015 10:59 AM, Uros Bizjak wrote:
> If we consider SSE operations as DImode operations, we will loose the
> ability to precisely specify which operation (SSE vs. general reg) we
> want. I'm afraid that in DImode case, combine will choose FLAG-less
> pattern that will mandate moves from general regs to SSE regs and
> back. This was the reason to invent V1DImode/V1TImode "vectors" to
> avoid moving double-mode values to MMX/SSE regs for double-mode
It would of course have to be a combined pattern.
The problem being addressed by V1TImode is that SSE doesn't really support
TImode arithmetic. We've got some logical operations and restricted shifting,
but no addition, multiplication, or fully general shifting.
The problem being addressed by V1DImode is MMX, about which I believe I need
say nothing more, and the fact that lower-subreg produces better results than
the current RA.