summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2009-03-01 23:44:07 +0000
committerNate Begeman <natebegeman@mac.com>2009-03-01 23:44:07 +0000
commita9e981225e050a02c79c68537779b36289d2115b (patch)
treef5919ea480ebbd5d585a574ac1a450310d722b19 /clang/lib/CodeGen/CodeGenModule.cpp
parent705f0b764e338f1a5fe921e9f65908dbf728150e (diff)
downloadbcm5719-llvm-a9e981225e050a02c79c68537779b36289d2115b.tar.gz
bcm5719-llvm-a9e981225e050a02c79c68537779b36289d2115b.zip
Fix a problem with DAGCombine on 64b targets where folding
extracts + build_vector into a shuffle would fail, because the type of the new build_vector would not be legal. Try harder to create a legal build_vector type. Note: this will be totally irrelevant once vector_shuffle no longer takes a build_vector for shuffle mask. New: _foo: xorps %xmm0, %xmm0 xorps %xmm1, %xmm1 subps %xmm1, %xmm1 mulps %xmm0, %xmm1 addps %xmm0, %xmm1 movaps %xmm1, 0 Old: _foo: xorps %xmm0, %xmm0 movss %xmm0, %xmm1 xorps %xmm2, %xmm2 unpcklps %xmm1, %xmm2 pshufd $80, %xmm1, %xmm1 unpcklps %xmm1, %xmm2 pslldq $16, %xmm2 pshufd $57, %xmm2, %xmm1 subps %xmm0, %xmm1 mulps %xmm0, %xmm1 addps %xmm0, %xmm1 movaps %xmm1, 0 llvm-svn: 65791
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud