commit | 18f68f6d1a21ed26d4c80e344b7b4a5d20b49ac5 | [log] [tgz] |
---|---|---|
author | Tim Northover <tnorthover@apple.com> | Wed Apr 16 11:52:51 2014 +0000 |
committer | Tim Northover <tnorthover@apple.com> | Wed Apr 16 11:52:51 2014 +0000 |
tree | 2805dac35609a3d7cd4a8deab514bb4b40412f86 | |
parent | 9cfb57dafa783812109ccf94fe47a462732809d8 [diff] |
ARM64: use 32-bit moves for constants where possible. If we know that a particular 64-bit constant has all high bits zero, then we can rely on the fact that 32-bit ARM64 instructions automatically zero out the high bits of an x-register. This gives the expansion logic less constraints to satisfy and so sometimes allows it to pick better sequences. Came up while porting test/CodeGen/AArch64/movw-consts.ll: this will allow a 32-bit MOVN to be used in @test8 soon. llvm-svn: 206379