[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2019-05-22 Thread kretz at kde dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 Matthias Kretz changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-24 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #15 from Marc Glisse --- Oups, sorry, or_ps may be harder, because representing it with vector extensions requires casts to integer vectors, which makes it much harder to actually generate or_ps in the backend (there is at least one P

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-24 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #14 from Marc Glisse --- (In reply to Agner Fog from comment #13) > Is it possible to do the same optimization with boolean vector intrinsics, > such as _mm_and_epi32 and _mm_or_ps to enable optimizations such as > algebraic reduction

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-24 Thread agner at agner dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #13 from Agner Fog --- Thank you. I agree that integer overflow should be well-defined when using intrinsics. Is it possible to do the same optimization with boolean vector intrinsics, such as _mm_and_epi32 and _mm_or_ps to enable op

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-23 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #12 from Marc Glisse --- (In reply to Agner Fog from comment #11) > Thanks for the links Marc. > You are right, the discussion in the gcc-patches mailing list ignores > integer vectors. You need a solution that also allows optimizati

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-23 Thread agner at agner dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #11 from Agner Fog --- Thanks for the links Marc. You are right, the discussion in the gcc-patches mailing list ignores integer vectors. You need a solution that also allows optimizations on integer intrinsic functions (perhaps cast

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-23 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #10 from Marc Glisse --- Two random links into the latest conversation: https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01812.html https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02288.html That version of the patch doesn't handle integ

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-23 Thread agner at agner dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #9 from Agner Fog --- Many programmers are using a vector class library rather than writing intrinsic functions directly. Such libraries have overloaded operators which are inlined to produce intrinsic functions. Therefore, we cannot

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2014-09-23 Thread agner at agner dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 Agner Fog changed: What|Removed |Added CC||agner at agner dot org --- Comment #8 from A

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-11 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #7 from Richard Biener 2013-02-11 11:36:29 UTC --- So to re-cap, for vector intrinsics we can use the vector GCC extensions while for the scalar intrinsics we would have to use target builtin folding. Not sure if it's worth the

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #6 from Uros Bizjak 2013-02-08 14:58:42 UTC --- (In reply to comment #5) > Hmm, I wonder how the vectorizer then accesses add/sub patterns without > SSE math. It just queries optabs ... > > We cannot handle the FMA case wit

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #5 from Richard Biener 2013-02-08 13:42:23 UTC --- (In reply to comment #3) > (In reply to comment #1) > > > not sure why we use builtins for these basic operations... > > Because they have to be emitted also for non-SSE m

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #4 from Richard Biener 2013-02-08 13:30:14 UTC --- (In reply to comment #3) > (In reply to comment #1) > > > not sure why we use builtins for these basic operations... > > Because they have to be emitted also for non-SSE m

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #3 from Uros Bizjak 2013-02-08 12:58:49 UTC --- (In reply to comment #1) > not sure why we use builtins for these basic operations... Because they have to be emitted also for non-SSE math. >From config/i386/sse.md: ;;

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 --- Comment #2 from Richard Biener 2013-02-08 12:52:32 UTC --- For _mm256_fmadd_pd and friends the only possibility is to fold the target builtins via targetm.fold_builtin to FMA_EXPR. Which is of course also possible for the simple add/m

[Bug target/56253] fp-contract does not work with SSE and AVX FMAs (neither FMA4 nor FMA3)

2013-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56253 Richard Biener changed: What|Removed |Added Target||x86_64-*-*, i?86-*-*