summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGStmtOpenMP.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2015-10-02 16:08:05 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2015-10-02 16:08:05 +0000
commit77f62652c1f0f755c335efd9ce578891c3a552e7 (patch)
treed7e6080122d93f69f665a03d817ea59f2e62dbaa /clang/lib/CodeGen/CGStmtOpenMP.cpp
parent2dab6c9bcc24e1ebe4fd40d9155d6788bc087f97 (diff)
downloadbcm5719-llvm-77f62652c1f0f755c335efd9ce578891c3a552e7.tar.gz
bcm5719-llvm-77f62652c1f0f755c335efd9ce578891c3a552e7.zip
Reapply r249121 : "[FastISel][x86] Teach how to select SSE2/AVX bitcasts between 128/256-bit vector types."
This patch teaches FastIsel the following two things: 1) On SSE2, no instructions are needed for bitcasts between 128-bit vector types; 2) On AVX, no instructions are needed for bitcasts between 256-bit vector types. Example: %1 = bitcast <4 x i31> %V to <2 x i64> Before (-fast-isel -fast-isel-abort=1): FastIsel miss: %1 = bitcast <4 x i31> %V to <2 x i64> Now we don't fall back to SelectionDAG and we correctly fold that computation propagating the register associated to %V. Originally reviewed here: http://reviews.llvm.org/D13347 llvm-svn: 249147
Diffstat (limited to 'clang/lib/CodeGen/CGStmtOpenMP.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud