(original) (raw)
Hi, I was build SSE performance work on mac intel. But I found the performance of my SSE4.1 version code using in xcode 12.4 is not as good as xcode 10.1, so I checked the assembly of my code. The one \_mm\_mul\_epi() instruction was translated into three pmuludq, which is the SSE2 instruction, while this was normal when compiling on xcode 10.1 and \_mm\_mul\_epi() was translated into pmuldq. So I checked the clang version, and I found this error occured when clang version larger than 7.0.0. The simple case can be found: https://godbolt.org/z/Tf7qeocvz I probably think this is a clang compiler bug. And I hope to get some advice on how to solve this issue. Thanks. Best, Wade