blob: edd150b7d9d71667c64325b44202f251738dccac [file]
; 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
}