Opened 9 years ago

Last modified 7 years ago

#9237 new Bugs

Vectorizer friendly code

Reported by: Domagoj Šarić Owned by: John Maddock
Milestone: To Be Determined Component: multiprecision
Version: Boost 1.54.0 Severity: Optimization
Keywords: Cc:

Description

http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html http://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors

Change History (2)

comment:1 by John Maddock, 9 years ago

Can you please explain what you had in mind here? Note that cpp_int's are not simply arrays, so cannot be passed by value using a __vectorcall as far as I can see.

Use of builtin vector types might be interesting, but the only operations I can see being easily vectorised are the bitwise operations? I suspect the problems may outweigh the benefits here: for example gcc only supports array sizes that are powers of 2, I'm not certain the arrays support 64-bit chunks either...

comment:2 by Domagoj Šarić, 7 years ago

Sorry, still had no time to revisit this (and answer the questions above), however I ran into this recently: https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html http://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins and thought you may find it useful (while on the topic of compiler extensions)...

Note: See TracTickets for help on using tickets.