This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix for PR 37809 and 37807
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: Ralph Loader <suckfish at ihug dot co dot nz>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 22 Oct 2008 19:50:54 +0200
- Subject: Re: [PATCH] Fix for PR 37809 and 37807
- References: <48FF3CA0.6030405@gmail.com> <jetzb4fze4.fsf@sykes.suse.de>
Andreas Schwab wrote:
+
+
+void Sshift()
+{
+ volatile __m64 y = (__m64) 0xffffffffll;
+ __m64 x = y & (__m64) 0xffffffffll;
+ x = _m_psradi (x, 1);
+ x &= (__m64) 0x80000000ll;
+ if (0 == (long long) x)
Aliasing violation on x variable.
How is that an aliasing violation? There are no pointers involved.
Ouch, indeed.
Sorry for the noise...
Uros.