; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ; RUN: llc < %s -mtriple=m68k-linux | FileCheck %s define i32 @minimized() { ; CHECK-LABEL: minimized: ; CHECK: .cfi_startproc ; CHECK-NEXT: ; %bb.0: ; %start ; CHECK-NEXT: suba.l #12, %sp ; CHECK-NEXT: .cfi_def_cfa_offset -16 ; CHECK-NEXT: movem.l %a2, (8,%sp) ; 8-byte Folded Spill ; CHECK-NEXT: suba.l %a2, %a2 ; CHECK-NEXT: move.l (%a2), %d0 ; CHECK-NEXT: move.l %d0, (%sp) ; CHECK-NEXT: move.l #65521, (4,%sp) ; CHECK-NEXT: jsr __umodsi3 ; CHECK-NEXT: move.w %d0, (%a2) ; CHECK-NEXT: move.l (%a2), %d0 ; CHECK-NEXT: move.l %d0, (%sp) ; CHECK-NEXT: move.l #65521, (4,%sp) ; CHECK-NEXT: jsr __mulsi3 ; CHECK-NEXT: movem.l (8,%sp), %a2 ; 8-byte Folded Reload ; CHECK-NEXT: adda.l #12, %sp ; CHECK-NEXT: rts start: %_137 = load i32, ptr null, align 2 %_136 = urem i32 %_137, 65521 %0 = trunc i32 %_136 to i16 store i16 %0, ptr null, align 2 %_140 = load i32, ptr null, align 2 %_139 = mul i32 %_140, 65521 ret i32 %_139 }