2 Dec
2015
2 Dec
'15
1:39 p.m.
On 02/12/2015 13:11, Andrey Semashev wrote:
I see. I tried this locally with gcc and it succeeded, but apparently I used bitwise_cast in a context that allowed runtime execution, although the compiled code was still using a constant. In a purely constant expression it indeed fails to compile. Good to know.
boost::simd::bitwise_cast do uese memcpy. Be aware that sme cmpielrs liek ICC are extremely OCD about aliasign and generate bogus code in those UB. We tried to removed all those tricks in Boost.SIMD in favor of well defined behavior. We didn't encountered much issues in terms of performances. BUT we do have a special code for MSVC to use devious code instead. My 2 cts.