1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - \ 2*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-THUMB 3*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-m3 -mattr=+thumb2 %s -o - \ 4*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-THUMBV7M 5*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=swift %s -o - \ 6*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV 7*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r4 %s -o - \ 8*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV 9*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r4f %s -o - \ 10*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV 11*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r5 %s -o - \ 12*9880d681SAndroid Build Coastguard Worker; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine i32 @f1(i32 %a, i32 %b) { 15*9880d681SAndroid Build Coastguard Workerentry: 16*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: f1 17*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: __divsi3 18*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: f1 19*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: sdiv 20*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: f1 21*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: sdiv 22*9880d681SAndroid Build Coastguard Worker %tmp1 = sdiv i32 %a, %b ; <i32> [#uses=1] 23*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 24*9880d681SAndroid Build Coastguard Worker} 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerdefine i32 @f2(i32 %a, i32 %b) { 27*9880d681SAndroid Build Coastguard Workerentry: 28*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: f2 29*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: __udivsi3 30*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: f2 31*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: udiv 32*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: f2 33*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: udiv 34*9880d681SAndroid Build Coastguard Worker %tmp1 = udiv i32 %a, %b ; <i32> [#uses=1] 35*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerdefine i32 @f3(i32 %a, i32 %b) { 39*9880d681SAndroid Build Coastguard Workerentry: 40*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: f3 41*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: __modsi3 42*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: f3 43*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: sdiv 44*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: f3 45*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: sdiv 46*9880d681SAndroid Build Coastguard Worker %tmp1 = srem i32 %a, %b ; <i32> [#uses=1] 47*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 48*9880d681SAndroid Build Coastguard Worker} 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Workerdefine i32 @f4(i32 %a, i32 %b) { 51*9880d681SAndroid Build Coastguard Workerentry: 52*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: f4 53*9880d681SAndroid Build Coastguard Worker; CHECK-THUMB: __umodsi3 54*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: f4 55*9880d681SAndroid Build Coastguard Worker; CHECK-THUMBV7M: udiv 56*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: f4 57*9880d681SAndroid Build Coastguard Worker; CHECK-HWDIV: udiv 58*9880d681SAndroid Build Coastguard Worker %tmp1 = urem i32 %a, %b ; <i32> [#uses=1] 59*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 60*9880d681SAndroid Build Coastguard Worker} 61*9880d681SAndroid Build Coastguard Worker 62