summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/EdgeBundles.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-15 22:24:33 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-15 22:24:33 +0000
commit8df9cfc2799075501c9960ff41859b224944fd0f (patch)
treed0f03519fdddcc8ae9978c1629da276ed3efe615 /llvm/lib/CodeGen/EdgeBundles.cpp
parent1fe1377e65641733e89feecc8d6778b5f478d7a6 (diff)
downloadbcm5719-llvm-8df9cfc2799075501c9960ff41859b224944fd0f.tar.gz
bcm5719-llvm-8df9cfc2799075501c9960ff41859b224944fd0f.zip
Fix a couple of things:
1) Make non-legal 256-bit loads to be promoted to v4i64. This lets us canonize the loads and handle things the same way we use to handle for 128-bit registers. Despite of what one of the removed comments explained, the load promotion would not mess with VPERM, it's only a matter of doing the appropriate bitcasts when this instructions comes to be introduced. Also make LOAD v8i32 legal. 2) Doing 1) exposed two bugs: - v4i64 was being promoted to itself for several opcodes (introduced in r124447 by David Greene) causing endless recursion and the stack to explode. - there was no support for allOnes BUILD_VECTORs and ANDNP would fail to match because it was generating early target constant pools during lowering. 3) The testcases are already checked-in, doing 1) exposed the bugs in the current testcases. 4) Tidy up code to be more clear and explicit about AVX. llvm-svn: 135313
Diffstat (limited to 'llvm/lib/CodeGen/EdgeBundles.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud