Copied directly from the IR version.
Most of the testcases I've added for this are somewhat problematic
because they really end up testing the yet to be implemented version
for MUL_I24/MUL_U24.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370099 91177308-0d34-0410-b5e6-96231b3b80d8