summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-06-21 01:31:15 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-06-21 01:31:15 +0000
commite5015d8abad0e4980c3a11cd4d68f65907504ffd (patch)
treeb1f459cd59339dd48e76d6379430835b68c4d5a5 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
parent252cbe25cb7e02df422cc9f4ac0fdf235c6b2cd8 (diff)
downloadbcm5719-llvm-e5015d8abad0e4980c3a11cd4d68f65907504ffd.tar.gz
bcm5719-llvm-e5015d8abad0e4980c3a11cd4d68f65907504ffd.zip
[X86] Add ISel patterns to select SSE3/AVX ADDSUB instructions.
This patch adds ISel patterns to select SSE3/AVX ADDSUB instructions from a sequence of "vadd + vsub + blend". Example: /// typedef float float4 __attribute__((ext_vector_type(4))); float4 foo(float4 A, float4 B) { float4 X = A - B; float4 Y = A + B; return (float4){X[0], Y[1], X[2], Y[3]}; } /// Before this patch, (with flag -mcpu=corei7) llc produced the following assembly sequence: movaps %xmm0, %xmm2 addps %xmm1, %xmm2 subps %xmm1, %xmm0 blendps $10, %xmm2, %xmm0 With this patch, we now get a single addsubps %xmm1, %xmm0 llvm-svn: 211427
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud