diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-06-22 20:51:51 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-06-22 20:51:51 +0000 |
commit | ed3c4d1a3de98b9ffe2dab8553bdfc87143c95d5 (patch) | |
tree | 7fad42c96e07c0ab21d6e45072890e5a35edb209 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 8c6fe230d551f52efa47f0a7c64513104ab16db1 (diff) | |
download | llvm-ed3c4d1a3de98b9ffe2dab8553bdfc87143c95d5.zip llvm-ed3c4d1a3de98b9ffe2dab8553bdfc87143c95d5.tar.gz llvm-ed3c4d1a3de98b9ffe2dab8553bdfc87143c95d5.tar.bz2 |
[X86] Teach load folding to accept scalar _Int users of MOVSS/MOVSD.
The _Int instructions are special, in that they operate on the full
VR128 instead of FR32. The load folding then looks at MOVSS, at the
user, and bails out when it sees a size mismatch.
What we really know is that the rm_Int instructions don't load the
higher lanes, so folding is fine.
This happens for the straightforward intrinsic code, e.g.:
_mm_add_ss(a, _mm_load_ss(p));
Fixes PR23349.
Differential Revision: http://reviews.llvm.org/D10554
llvm-svn: 240326
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions