summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/nested-name-spec.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-12-18 07:40:29 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-12-18 07:40:29 +0000
commit4cf30b72bf0de8b6f138ad617b8e1c26abde3cc0 (patch)
tree7d17b86f61ce9bec97ab3646f1df79e9a4e2f354 /clang/test/SemaCXX/nested-name-spec.cpp
parenta7d0231b66f16e65c17f5a37a7140bca11d45c2d (diff)
downloadbcm5719-llvm-4cf30b72bf0de8b6f138ad617b8e1c26abde3cc0.tar.gz
bcm5719-llvm-4cf30b72bf0de8b6f138ad617b8e1c26abde3cc0.zip
On recent Intel u-arch's, folding loads into some unary SSE instructions can
be non-optimal. To be precise, we should avoid folding loads if the instructions only update part of the destination register, and the non-updated part is not needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks the partial register dependency and it can improve performance. e.g. movss (%rdi), %xmm0 cvtss2sd %xmm0, %xmm0 instead of cvtss2sd (%rdi), %xmm0 An alternative method to break dependency is to clear the register first. e.g. xorps %xmm0, %xmm0 cvtss2sd (%rdi), %xmm0 llvm-svn: 91672
Diffstat (limited to 'clang/test/SemaCXX/nested-name-spec.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud