diff options
| author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-21 09:34:56 +0000 |
|---|---|---|
| committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-21 09:34:56 +0000 |
| commit | 7d86e47d04a76362c2621f6aa2f82b83eb068347 (patch) | |
| tree | c84b8048ee44c51b263a25a2e11acb3db1d25bf5 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
| parent | ca2cbc98367b122d76a9807f28dc9ea158c4be80 (diff) | |
| download | llvm-7d86e47d04a76362c2621f6aa2f82b83eb068347.zip llvm-7d86e47d04a76362c2621f6aa2f82b83eb068347.tar.gz llvm-7d86e47d04a76362c2621f6aa2f82b83eb068347.tar.bz2 | |
[SystemZ] Define remainig *MUL_LOHI patterns
The initial port used MLG(R) for i64 UMUL_LOHI but left the other three
combinations as not-legal-or-custom. Although 32x32->{32,32}
multiplications exist, they're not as quick as doing a normal 64-bit
multiplication, so it didn't seem like i32 SMUL_LOHI and UMUL_LOHI
would be useful. There's also no direct instruction for i64 SMUL_LOHI,
so it needs to be implemented in terms of UMUL_LOHI.
However, not defining these patterns means that we don't convert
division by a constant into multiplication, so this patch fills
in the other cases. The new i64 SMUL_LOHI sequence is simpler
than the one that we used previously for 64x64->128 multiplication,
so int-mul-08.ll now tests the full sequence.
llvm-svn: 188898
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions
