diff --git a/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll b/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll index 9976875ddf3b7..4711ff6e648a3 100644 --- a/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll +++ b/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll @@ -39,9 +39,10 @@ define zeroext i8 @test3(i8 zeroext %x, i8 zeroext %c) { ; CHECK-NEXT: ; %bb.0: ; %entry ; CHECK-NEXT: move.b (11,%sp), %d0 ; CHECK-NEXT: and.l #255, %d0 -; CHECK-NEXT: mulu #21846, %d0 +; CHECK-NEXT: mulu #-21845, %d0 ; CHECK-NEXT: lsr.l #8, %d0 ; CHECK-NEXT: lsr.l #8, %d0 +; CHECK-NEXT: lsr.w #1, %d0 ; CHECK-NEXT: and.l #65535, %d0 ; CHECK-NEXT: rts entry: @@ -126,9 +127,11 @@ define i8 @test8(i8 %x) nounwind { ; CHECK: ; %bb.0: ; CHECK-NEXT: move.b (7,%sp), %d0 ; CHECK-NEXT: and.l #255, %d0 -; CHECK-NEXT: mulu #841, %d0 +; CHECK-NEXT: lsr.w #1, %d0 +; CHECK-NEXT: mulu #26887, %d0 ; CHECK-NEXT: lsr.l #8, %d0 ; CHECK-NEXT: lsr.l #8, %d0 +; CHECK-NEXT: lsr.w #4, %d0 ; CHECK-NEXT: ; kill: def $bd0 killed $bd0 killed $d0 ; CHECK-NEXT: rts %div = udiv i8 %x, 78 @@ -140,9 +143,10 @@ define i8 @test9(i8 %x) nounwind { ; CHECK: ; %bb.0: ; CHECK-NEXT: move.b (7,%sp), %d0 ; CHECK-NEXT: and.l #255, %d0 -; CHECK-NEXT: mulu #565, %d0 +; CHECK-NEXT: mulu #18079, %d0 ; CHECK-NEXT: lsr.l #8, %d0 ; CHECK-NEXT: lsr.l #8, %d0 +; CHECK-NEXT: lsr.w #5, %d0 ; CHECK-NEXT: ; kill: def $bd0 killed $bd0 killed $d0 ; CHECK-NEXT: rts %div = udiv i8 %x, 116