GCC Support

Version 28 (Matthias Kretz, 15 Jul 2015 11:04 am) → Version 29/30 (Matthias Kretz, 15 Jul 2015 11:04 am)

h1. GCC Support

At the time of writing (please ask on the mailinglist if you need an update of this page) the *recommended compilers to use are GCC 4.9.1, 4.8.2, 4.7.1, 4.7.2, or 4.6.3*.

h2. GCC 4.7

* 4.7.0 should be avoided. Vc contains workarounds, though, but application code should use the "-fno-predictive-commoning" flag. ("pr52736":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52736, "pr52754":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52754).
* 4.7.1 works well.
* 4.x - 4.7.2 have a bug that will probably not affect anybody ("pr54703":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54703)

h2. GCC 4.6

* 4.6.0 and 4.6.1 should be avoided. ("pr48616":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48616, "pr49133":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133, "pr48678":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48678)
* All versions from 4.6.2 up are good enough, but also have a latent bug (Vc contains a workaround) that will be fixed in 4.6.4 ("pr52736":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52736)

h2. GCC 4.5

* 4.5.0 and 4.5.1 should be avoided. ("pr45267":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45267, "pr46723":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46723)
* 4.5.2 should be avoided for AVX. ("pr47840":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47840)
* 4.5.3 and up should be good.

h2. GCC 4.4

* 4.4.0 and 4.4.1 should be avoided. ("pr40924":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40924)
* 4.4.6 and up should work even for AVX. ("pr47840":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47840)

h2. GCC 4.3

* should be avoided altogether ("pr40141":http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40141)

h2. GCC without usable SIMD support

Starting with GCC version 4.3 the SEE+SSE2 intrinsics are complete enough to be usable for Vc. Thus all GCC versions before 4.3 will resort to the scalar Vc implementation.

h1. Dashboards

* "4.9.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.9.&field2=buildname/string&compare2=63&value2=gxx
* "4.8.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.8.&field2=buildname/string&compare2=63&value2=gxx
* "4.7.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.7.&field2=buildname/string&compare2=63&value2=gxx
* "4.6.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.6.&field2=buildname/string&compare2=63&value2=gxx
* "4.5.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.5.&field2=buildname/string&compare2=63&value2=gxx
* "4.4.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.4.&field2=buildname/string&compare2=63&value2=gxx
* "4.3.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.3.&field2=buildname/string&compare2=63&value2=gxx
* "4.2.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.2.&field2=buildname/string&compare2=63&value2=gxx
* "4.1.x Dashboard":http://code.compeng.uni-frankfurt.de/dashboard/index.php?project=Vc&display=project&filtercount=2&filtercombine=and&field1=buildname/string&compare1=63&value1=%204.1.&field2=buildname/string&compare2=63&value2=gxx