Live data from Hacker News

New optimizations for X86 in upcoming GCC 5.0

software.intel.com

1–10 of 41 posts

Re: New optimizations for X86 in upcoming GCC 5.0

#4

As this is the number 1 story on HN now: can someone explain what kind of improvements we will see in day to day use from this?

From the story....

  1. Image conversion (RGB structure to some other)

  2. N-dimentional coordinates. (Normalize array of XYZ points)

  3. Multiplication of vectors by constant matrix

Re: New optimizations for X86 in upcoming GCC 5.0

#7

As this is the number 1 story on HN now: can someone explain what kind of improvements we will see in day to day use from this?

The article mentions two: unpacking 24 bit values and matrix multiplication, both might be something you'd find in a software video (de)compressor or a computer game

Re: New optimizations for X86 in upcoming GCC 5.0

#8
I'm so glad to see auto-vectorization happening more and more often. However, I wonder whether a language that had built-in support for primitive floating-point vector types (e.g., GLSL's vec3, vec4, mat3, mat4) could help the compiler with performing these sorts of optimizations.

Re: New optimizations for X86 in upcoming GCC 5.0

#9

Here is a more general list of gcc 5 changes https://gcc.gnu.org/gcc-5/changes.html EDIT was looking at this for __builtin_mul_overflow which apparently are in clang already, for testing overflow of arbitrary types.

Actually Clang doesn't implement the listed built-in functions (yet?). They're type-generic versions.

http://llvm.org/releases/3.5.0/tools/clang/docs/LanguageExte...

http://clang.llvm.org/docs/LanguageExtensions.html#checked-a...

Re: New optimizations for X86 in upcoming GCC 5.0

#10
post #7

As this is the number 1 story on HN now: can someone explain what kind of improvements we will see in day to day use from this?

The article mentions two: unpacking 24 bit values and matrix multiplication, both might be something you'd find in a software video (de)compressor or a computer game

Where did you get 24 from? It's about vectorizing loads of 3 elements. The elements don't have to be 8-bit. The second example uses floats.
Post reply on HN