diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-04 15:19:18 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-04 15:19:18 +0000 |
| commit | 548ffa274a2c6ff82015139cef8cf4bb7a20bda9 (patch) | |
| tree | 889139a20b4cf54884c051dc9e00d0f1cf27c21d /llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll | |
| parent | aefc30f2a4632584f0a7d1e9fc76e7add719455a (diff) | |
| download | bcm5719-llvm-548ffa274a2c6ff82015139cef8cf4bb7a20bda9.tar.gz bcm5719-llvm-548ffa274a2c6ff82015139cef8cf4bb7a20bda9.zip | |
SelectionDAG: Teach FoldConstantArithmetic how to deal with vectors.
This required disabling a PowerPC optimization that did the following:
input:
x = BUILD_VECTOR <i32 16, i32 16, i32 16, i32 16>
lowered to:
tmp = BUILD_VECTOR <i32 8, i32 8, i32 8, i32 8>
x = ADD tmp, tmp
The add now gets folded immediately and we're back at the BUILD_VECTOR we
started from. I don't see a way to fix this currently so I left it disabled
for now.
Fix some trivially foldable X86 tests too.
llvm-svn: 174325
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll')
| -rw-r--r-- | llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll b/llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll index 8802b97d2a6..00a402e0e48 100644 --- a/llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll +++ b/llvm/test/CodeGen/PowerPC/2008-07-10-SplatMiscompile.ll @@ -1,5 +1,6 @@ ; RUN: llc < %s -march=ppc32 -mcpu=g5 | grep vadduhm ; RUN: llc < %s -march=ppc32 -mcpu=g5 | grep vsubuhm +; XFAIL: * define <4 x i32> @test() nounwind { ret <4 x i32> < i32 4293066722, i32 4293066722, i32 4293066722, i32 4293066722> |

