llvm-project/llvm/test/CodeGen/M68k/Arith
Douglas Chen 78b16ccf2b [M68k] Instruction selection to choose neg x when mul x -1 (Fix issue 48588)
This patch is trying to fix issue 48588(https://github.com/llvm/llvm-project/issues/48588)

I found the results of Instruction Selection between SelectionDAG and FastISEL for the `%mul = mul i32 %A, 4294967295`:
(seldag-isel) mul --> sub --> SUB32dp
(fast-isel)   mul --> sub --> NEG32d

My patch to fix this issue is by overriding a virtual function M68kDAGToDAGISel::IsProfitableToFold(). Return `false` when it was trying to match with SUB, then it will match with NEG.

Reviewed By: myhsu

Differential Revision: https://reviews.llvm.org/D116886
2022-06-03 13:20:30 +08:00
..
add-with-overflow.ll
add.ll
bitwise.ll
divide-by-constant.ll
imul-neg.ll [M68k] Instruction selection to choose neg x when mul x -1 (Fix issue 48588) 2022-06-03 13:20:30 +08:00
imul.ll
lshr.ll
mul64.ll
sdiv-exact.ll
smul-with-overflow.ll
sub-with-overflow.ll
sub.ll
umul-with-overflow.ll