| ; 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 |
| } |