brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 2ea95ab Raw
89 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; Test that libcalls used only by return are tail called.3; This tests non-float libcalls4; RUN: llc -march=hexagon -verify-machineinstrs < %s | FileCheck %s5 6define i32 @udiv(i32 %a, i32 %b) nounwind {7; CHECK-LABEL: udiv:8; CHECK:       // %bb.0:9; CHECK-NEXT:    {10; CHECK-NEXT:     jump __hexagon_udivsi311; CHECK-NEXT:    }12  %1 = udiv i32 %a, %b13  ret i32 %114}15 16define i32 @udivconstby(i32 %a) nounwind {17; CHECK-LABEL: udivconstby:18; CHECK:       // %bb.0:19; CHECK-NEXT:    {20; CHECK-NEXT:     r1:0 = combine(r0,#10)21; CHECK-NEXT:     jump __hexagon_udivsi322; CHECK-NEXT:    }23  %1 = udiv i32 10, %a24  ret i32 %125}26 27define i32 @sdiv(i32 %a, i32 %b) nounwind {28; CHECK-LABEL: sdiv:29; CHECK:       // %bb.0:30; CHECK-NEXT:    {31; CHECK-NEXT:     jump __hexagon_divsi332; CHECK-NEXT:    }33  %1 = sdiv i32 %a, %b34  ret i32 %135}36 37define i32 @sdivconstby(i32 %a) nounwind {38; CHECK-LABEL: sdivconstby:39; CHECK:       // %bb.0:40; CHECK-NEXT:    {41; CHECK-NEXT:     r1:0 = combine(r0,#10)42; CHECK-NEXT:     jump __hexagon_divsi343; CHECK-NEXT:    }44  %1 = sdiv i32 10, %a45  ret i32 %146}47 48define i32 @urem(i32 %a, i32 %b) nounwind {49; CHECK-LABEL: urem:50; CHECK:       // %bb.0:51; CHECK-NEXT:    {52; CHECK-NEXT:     jump __hexagon_umodsi353; CHECK-NEXT:    }54  %1 = urem i32 %a, %b55  ret i32 %156}57 58define i32 @uremconstby(i32 %a) nounwind {59; CHECK-LABEL: uremconstby:60; CHECK:       // %bb.0:61; CHECK-NEXT:    {62; CHECK-NEXT:     r1:0 = combine(r0,#10)63; CHECK-NEXT:     jump __hexagon_umodsi364; CHECK-NEXT:    }65  %1 = urem i32 10, %a66  ret i32 %167}68 69define i32 @srem(i32 %a, i32 %b) nounwind {70; CHECK-LABEL: srem:71; CHECK:       // %bb.0:72; CHECK-NEXT:    {73; CHECK-NEXT:     jump __hexagon_modsi374; CHECK-NEXT:    }75  %1 = srem i32 %a, %b76  ret i32 %177}78 79define i32 @sremconstby(i32 %a) nounwind {80; CHECK-LABEL: sremconstby:81; CHECK:       // %bb.0:82; CHECK-NEXT:    {83; CHECK-NEXT:     r1:0 = combine(r0,#10)84; CHECK-NEXT:     jump __hexagon_modsi385; CHECK-NEXT:    }86  %1 = srem i32 10, %a87  ret i32 %188}89