1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

LLVM 3.1 Will Enhance AVX & Bring AVX2 Support

Compiler

Published on 26 December 2011 08:01 AM EST
Written by Michael Larabel in Compiler
Comment On This Article

While LLVM 3.0 has been barely out for one month and a release schedule for LLVM 3.1 hasn't even been plotted yet, there are already some new details about what this next release of the extremely popular open-source compiler infrastructure will offer.

In particular, LLVM 3.1 is poised to offer bug-fixes and overall improved support for Advanced Vector Extensions. AVX is the x86 instruction set extension that first appeared with Intel Sandy Bridge processors in early 2011 and then made their way to the AMD side with the Bulldozer launch.

GCC 4.6 offered AVX support that worked with the Sandy Bridge CPUs, but on the LLVM side they weren't as quick to adopt support for this new instruction set. As mentioned before. "Key points of the AVX ISA is expecting the vector data width to 256-bits, a new SIMD instruction format, and new data manipulation and arithmetic compute primitives. Simply put, AVX is meant to be another step forward for increasing the processor's performance and efficiency."

Within LLVM 3.1, there is "bug fixes and improved support for AVX1." However, that is not all.

Also coming in LLVM 3.1 will be preliminary support for AVX2. AVX2 is the second version of the Advanced Vector Extensions that will expand most AVX integer instructions to 256-bit, support three-operand bit manipulation and multiply, Gather support, vector shifts, and other new functionality. AVX2 isn't set to appear on any hardware until 2013 when Intel brings forth the Haswell processors (the next-generation Ivy Bridge CPUs are AVX1 still), so it's good to see the LLVM crew on top of their support game this time around and the AVX2 support will hopefully mature in LLVM over the next year.

Scanning the LLVM commit logs in the past month or two does show several AVX1/AVX2 related commits. The AVX1/AVX2 work is also mentioned in the very premature LLVM release notes page that's currently tracking LLVM 3.1 development.

On the GCC side there's also been early work towards supporting the AVX2 instruction set. Preliminary patches there have been floating around since August, among other AVX-related patches.

LLVM 3.1 will be released at some point in 2012.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. GLAMOR + RadeonSI 2D Acceleration Is Quite Good For Open-Source AMD 2D Performance
  2. AMD Radeon R9 290 OpenGL On Ubuntu 15.04: Catalyst vs. RadeonSI Gallium3D
  3. Ubuntu 15.04 Offers Faster OpenGL For AMD Radeon GPUs On Open-Source
  4. Ubuntu 15.04 Brings Some Graphics Performance Improvements For Intel Haswell
  5. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  6. The Lenovo T450s Is Working Beautifully With Linux
Latest Linux News
  1. Linux 4.1-RC2 Kernel Released
  2. GNOME 3.17.1 Released
  3. A Lot Of Improvements Are Coming For Mir 0.13, Including Work Towards Libinput
  4. Mobile Optimizations Coming For Phoronix
  5. Wayland 1.8 Alpha Release Delayed
  6. Godot Game Engine 1.1 Up To RC State
  7. ATI Rage128 Driver Now Has RandR Support
  8. Microsoft's Visual C++ Team Is Improving Clang For Windows
  9. Kodi 15.0 Beta 1 Released
  10. Lucid Sleep Support Is Being Worked On For The Upstream Linux Kernel
Most Viewed News This Week
  1. It Doesn't Look Like KDBUS Will Make It For Linux 4.1
  2. Trying Out Microsoft Visual Studio Code On Linux
  3. The Many Features Of The Linux 4.1 Kernel
  4. Microsoft Releases New Code IDE For Linux!
  5. Linux 4.1-rc1 Kernel Released, Packs In Several New Features
  6. GCC 4.9.2 vs. GCC 5 Benchmarks On An Intel Xeon Haswell
  7. QEMU 2.3 Officially Released
  8. Improvements On The Way For GNOME's Nautilus File Manager