Hi, On 21/08/17 22:23, Ricardo Wurmus wrote: > Hi Guix, > > I was wondering how we should go about optionally building software for > more advanced CPU features. Currently, we build software for the lowest > common feature set among x86_64 CPUs. That’s good for portability, but > not so good for performance. In many cases we can set the --with-arch flag when configuring GCC, so that packages built with that GCC are optimised for that architecture by default. We have discussed this in the past, (https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00005.html) but as you say individual packages sometimes need individual attention. Anyway, to move forward I created a repo so that package recipes can be modified to use a GCC that has been optimised for a particular architecture. I put it out there so that it is more than just a patch on this ML, but I'd be happy to incorporate it into Guix proper if that is desired. https://github.com/wwood/cpu-specific-guix For instance, to build DIAMOND optimised for sandybridge: GUILE_LOAD_PATH=/path/to/cpu-specific-guix:$GUILE_LOAD_PATH\ |guix build -e '(begin (use-modules (cpu-specific-guix) (gnu packages bioinformatics))\ (cpu-specific-package diamond "sandybridge"))'| HTH, ben