brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 0bcaa10 Raw
68 lines · plain
1; RUN: llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m23 | \2; RUN:     FileCheck %s -check-prefix=CHECK3 4define i32 @f1(i32 %a, i32 %b) {5entry:6; CHECK-LABEL: f17 8; CHECK: sdiv9        %tmp1 = sdiv i32 %a, %b         ; <i32> [#uses=1]10        ret i32 %tmp111}12 13define i32 @f2(i32 %a, i32 %b) {14entry:15; CHECK-LABEL: f216; CHECK: udiv17        %tmp1 = udiv i32 %a, %b         ; <i32> [#uses=1]18        ret i32 %tmp119}20 21define i32 @f3(i32 %a, i32 %b) {22entry:23; CHECK-LABEL: f324 25 26        %tmp1 = srem i32 %a, %b         ; <i32> [#uses=1]27        ret i32 %tmp128; CHECK: sdiv29; CHECK-NEXT: muls30; CHECK-NEXT: subs31}32 33define i32 @f4(i32 %a, i32 %b) {34entry:35; CHECK-LABEL: f436 37; CHECK: udiv38; CHECK-NEXT: muls39; CHECK-NEXT: subs40        %tmp1 = urem i32 %a, %b         ; <i32> [#uses=1]41        ret i32 %tmp142}43 44 45define i64 @f5(i64 %a, i64 %b) {46entry:47; CHECK-LABEL: f548 49; EABI MODE = Remainder in R2-R3, quotient in R0-R150; CHECK: __aeabi_ldivmod51; CHECK-NEXT: mov r0, r252; CHECK-NEXT: mov r1, r353        %tmp1 = srem i64 %a, %b         ; <i64> [#uses=1]54        ret i64 %tmp155}56 57define i64 @f6(i64 %a, i64 %b) {58entry:59; CHECK-LABEL: f660 61; EABI MODE = Remainder in R2-R3, quotient in R0-R162; CHECK: __aeabi_uldivmod63; CHECK: mov r0, r264; CHECK: mov r1, r365        %tmp1 = urem i64 %a, %b         ; <i64> [#uses=1]66        ret i64 %tmp167}68