Richard Sandiford df40f8e8ad [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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188898 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 09:34:56 +00:00
..
2013-07-19 16:21:55 +00:00
2013-07-19 16:24:22 +00:00
2013-07-19 16:24:22 +00:00
2013-07-19 16:32:12 +00:00
2013-07-19 16:32:12 +00:00
2013-07-19 16:21:55 +00:00
2013-07-19 16:24:22 +00:00
2013-07-19 16:24:22 +00:00
2013-07-18 10:40:35 +00:00
2013-07-18 10:06:15 +00:00
2013-07-19 16:21:55 +00:00
2013-07-19 16:24:22 +00:00
2013-07-19 16:24:22 +00:00