diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2015-10-14 10:03:13 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2015-10-14 10:03:13 +0000 |
commit | c47edbef4cd3cf97a047db1296cb2dcea9485d2a (patch) | |
tree | babf2cb2f69aa552b9b3c55a89e567825c4566e5 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h | |
parent | 2df36481b6e20664b6a0206165e71cffda0569ba (diff) | |
download | bcm5719-llvm-c47edbef4cd3cf97a047db1296cb2dcea9485d2a.tar.gz bcm5719-llvm-c47edbef4cd3cf97a047db1296cb2dcea9485d2a.zip |
[x86][FastISel] Teach how to select nontemporal stores.
This patch teaches x86 fast-isel how to select nontemporal stores.
On x86, we can use MOVNTI for nontemporal stores of doublewords/quadwords.
Instructions (V)MOVNTPS/PD/DQ can be used for SSE2/AVX aligned nontemporal
vector stores.
Before this patch, fast-isel always selected 'movd/movq' instead of 'movnti'
for doubleword/quadword nontemporal stores. In the case of nontemporal stores
of aligned vectors, fast-isel always selected movaps/movapd/movdqa instead of
movntps/movntpd/movntdq.
With this patch, if we use SSE2/AVX intrinsics for nontemporal stores we now
always get the expected (V)MOVNT instructions.
The lack of fast-isel support for nontemporal stores was spotted when analyzing
the -O0 codegen for nontemporal stores.
Differential Revision: http://reviews.llvm.org/D13698
llvm-svn: 250285
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions