Index: llvm/lib/Target/CSKY/CSKYISelLowering.cpp =================================================================== --- llvm/lib/Target/CSKY/CSKYISelLowering.cpp +++ llvm/lib/Target/CSKY/CSKYISelLowering.cpp @@ -1397,6 +1397,13 @@ // unchanged on sub targets with MULT32, since not sure it is better. if (!Subtarget.hasE2() && (-1 - Imm).isPowerOf2()) return true; + // Break (MULT x, imm) to ([IXH32|IXW32|IXD32] (LSLI32 x, i0), x) when + // imm=(1<