https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38825
Richard Biener changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38825
Steven Bosscher changed:
What|Removed |Added
Keywords||alias
Status|UNCONFIRMED
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-01-13 16:37 ---
Yes, the alias sets are not properly transfered to RTL:
;; MEM[base: out, index: ivtmp.58] = result;
(insn 22 21 0 /usr/lib64/gcc/x86_64-suse-linux/4.4/include/xmmintrin.h:951 (set
(mem:V4SF (plus:DI (reg/v/f:DI 66
--- Comment #5 from tim at klingt dot org 2009-01-13 16:08 ---
(In reply to comment #4)
> -frename-registers does make a difference for me,
i can reproduce it, however, -frename-registers is supposed to be enabled by
-O3:
t...@thinkpad:~/workspace/nova-server.git$ /usr/local/lib/gcc-sna
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-01-13 15:44 ---
-frename-registers does make a difference for me,
.L2:
movaps %xmm0, %xmm2
movaps %xmm0, %xmm1
addps (%rsi,%rax), %xmm2
movaps %xmm2, (%rdi,%rax)
addps 16(%rsi,%rax), %
--- Comment #3 from tim at klingt dot org 2009-01-13 15:26 ---
(In reply to comment #1)
> Try -frename-registers.
i forgot to mention: the binaries are compiled with -O3 -mfpmath=sse -msse
(4.2, 4.3 and 4.4).
-frename-registers is enabled by -O3
(In reply to comment #2)
> Note that yo
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-01-13 15:15 ---
Note that your testcase has moved the load _mm_load_ps(in+4); before the
store _mm_store_ps(out, result); which the compiler cannot do itself because
they may alias.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?i
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-01-13 15:08 ---
Try -frename-registers.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38825