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.org

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 Linux Hardware Reviews
  1. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  2. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  3. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  4. Sumo's Omni Gets Reloaded
Latest Linux Articles
  1. 20-Way Radeon Comparison With Open-Source Graphics For Steam On Linux Gaming
  2. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
  3. Radeon Graphics Yield Mixed Results With Linux 3.17 Kernel
  4. AMD's RadeonSI Driver Sped Up A Lot This Summer
Latest Linux News
  1. Nouveau On Oibaf PPA Is Back To Running Well
  2. Metro 2033 Redux Will Hopefully Hit Linux Real Soon
  3. New Virtual Monitor Software Might End Up On Linux
  4. Company of Heroes 2 Might Be Coming Out For Linux
  5. NIR Still Being Discussed For Mesa, LLVM Gets Brought Up Again
  6. Plasma Active Is Mostly Ported To KDE Frameworks 5
  7. Google Chrome 37 Brings Many Security Fixes
  8. MenuetOS Updated With SMP Threads & Onscreen Keyboard
  9. Mesa Has A New Release Manager
  10. Enlightenment E19 Lands Its New Wayland Compositor Code
Latest Forum Discussions
  1. Canonical Joined The Khronos Group To Help Mir/Wayland Drivers
  2. AMD Releases UVD Video Decode Support For R600 GPUs
  3. Announcing radeontop, a tool for viewing the GPU usage
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. [DB] BIOS - ACPI - data collecting
  6. It's Now Possible To Play Netflix Natively On Linux Without Wine Plug-Ins
  7. Users defect to Linux as OpenBSD removes Lynx from base system
  8. Chinese People Try To Patent Wine On ARM