diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2013-12-12 11:50:47 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2013-12-12 11:50:47 +0000 |
commit | 9b5c3dcf01223b884fca3076b4f16eaa62de83c4 (patch) | |
tree | f02f1d8e33d8ca3307db2fdb00937a719cbd3d0b /llvm/lib/Support/DAGDeltaAlgorithm.cpp | |
parent | ba165ccdebd99580d3fc3d3068af35269c40142d (diff) | |
download | bcm5719-llvm-9b5c3dcf01223b884fca3076b4f16eaa62de83c4.tar.gz bcm5719-llvm-9b5c3dcf01223b884fca3076b4f16eaa62de83c4.zip |
Added new X86 patterns to select SSE scalar fp arithmetic instructions from
a vector packed single/double fp operation followed by a vector insert.
The effect is that the backend coverts the packed fp instruction
followed by a vectro insert into a SSE or AVX scalar fp instruction.
For example, given the following code:
__m128 foo(__m128 A, __m128 B) {
__m128 C = A + B;
return (__m128) {c[0], a[1], a[2], a[3]};
}
previously we generated:
addps %xmm0, %xmm1
movss %xmm1, %xmm0
we now generate:
addss %xmm1, %xmm0
llvm-svn: 197145
Diffstat (limited to 'llvm/lib/Support/DAGDeltaAlgorithm.cpp')
0 files changed, 0 insertions, 0 deletions