[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2021-07-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18562 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.0 Resolution|---

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2006-09-17 Thread pinskia at gcc dot gnu dot org
--- Comment #13 from pinskia at gcc dot gnu dot org 2006-09-18 03:13 --- The problem here is the x86 back-end pushes constant vectors to the constant pool. Note my patch will not work any more because it has been outdated to take into account the new CONSTRUCTOR layout. -- pinskia

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-09-14 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-14 06:51 --- Hmm, but vectors are not consider as aggregates. at the tree level right before optimization, we have: A_6 = {1.299523162841796875e+0, 1.299523162841796875e+0, 1.299523162841796875e+0,

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-09-14 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-14 07:09 --- Actually the issue is that we don't change the constructor into a VECTOR_CST: constructor 0x41ec8720 type vector_type 0x41ebb9a0 __v4sf type real_type 0x41e0fd90 float sizes-gimplified

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-18 Thread rth at gcc dot gnu dot org
-- What|Removed |Added BugsThisDependsOn||14295 Status|WAITING |NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18562

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-18 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-01-18 09:50 --- Found the tree-ssa aggregate copy-propagation pr. Made this pr depend on it, as this has a different sort of test case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18562

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-12 Thread steven at gcc dot gnu dot org
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-12 09:24 --- If this is closed, let's be sure to find that enhancement request and close this as a dup. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18562

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-12 Thread steven at gcc dot gnu dot org
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-12 09:37 --- AMD64 has this at -O2: Test case 1: main: .LFB499: subq$24, %rsp .LCFI0: movl$.LC1, %edi movl$4, %eax movaps .LC0(%rip), %xmm0 movups %xmm0,

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-12 Thread uros at kss-loka dot si
--- Additional Comments From uros at kss-loka dot si 2005-01-12 10:54 --- Another testcase that I think should be optimized: #include xmmintrin.h __m128 test() { float val1[4] = {0.0f, 0.0f, 0.0f, 0.0f}; return _mm_loadu_ps(val1); } This is currently compiled to:

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-11 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-01-11 23:58 --- Your first test case is fixed by the patch for PR13366. We now get .align 16 .LC0: .long 1067869798 .long 1067869798 .long 1067869798 .long 1067869798 ...

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2005-01-11 Thread uros at kss-loka dot si
--- Additional Comments From uros at kss-loka dot si 2005-01-12 06:53 --- (In reply to comment #3) In the second testcase, compiler should figure out that the whole val1[] array is initialized with constants. In this case, .LCx constant vector can be built in compile time and a load of

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2004-11-19 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-19 14:44 --- Confirmed. This is either a target bug or an RTL optimization problem. The reason why I say that is because the builtins are not expandded before reaching RTL. -- What|Removed

[Bug target/18562] SSE constant vector initialization produces dead constant values on stack

2004-11-19 Thread uros at gcc dot gnu dot org
--- Additional Comments From uros at gcc dot gnu dot org 2004-11-19 15:41 --- If val1 is moved out of the main() function, produced code is OK: --cut here-- #include xmmintrin.h #include stdio.h float val1[4] = {1.3f, 1.4f, 1.5f, 1.6f}; int main(void) { float result[4];