forked from OSchip/llvm-project
35 lines
1022 B
LLVM
35 lines
1022 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc -mtriple=m68k-linux -verify-machineinstrs < %s | FileCheck %s
|
|
|
|
define i32 @test1(i32 %x) {
|
|
; CHECK-LABEL: test1:
|
|
; CHECK: .cfi_startproc
|
|
; CHECK-NEXT: ; %bb.0:
|
|
; CHECK-NEXT: suba.l #12, %sp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset -16
|
|
; CHECK-NEXT: move.l #-1030792151, (4,%sp)
|
|
; CHECK-NEXT: move.l (16,%sp), (%sp)
|
|
; CHECK-NEXT: jsr __mulsi3@PLT
|
|
; CHECK-NEXT: adda.l #12, %sp
|
|
; CHECK-NEXT: rts
|
|
%div = sdiv exact i32 %x, 25
|
|
ret i32 %div
|
|
}
|
|
|
|
define i32 @test2(i32 %x) {
|
|
; CHECK-LABEL: test2:
|
|
; CHECK: .cfi_startproc
|
|
; CHECK-NEXT: ; %bb.0:
|
|
; CHECK-NEXT: suba.l #12, %sp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset -16
|
|
; CHECK-NEXT: move.l (16,%sp), %d0
|
|
; CHECK-NEXT: asr.l #3, %d0
|
|
; CHECK-NEXT: move.l %d0, (%sp)
|
|
; CHECK-NEXT: move.l #-1431655765, (4,%sp)
|
|
; CHECK-NEXT: jsr __mulsi3@PLT
|
|
; CHECK-NEXT: adda.l #12, %sp
|
|
; CHECK-NEXT: rts
|
|
%div = sdiv exact i32 %x, 24
|
|
ret i32 %div
|
|
}
|