45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=sparcv9 | FileCheck %s3 4define i64 @test1(i64 %X, i64 %Y) {5; CHECK-LABEL: test1:6; CHECK: .cfi_startproc7; CHECK-NEXT: ! %bb.0:8; CHECK-NEXT: sdivx %o0, %o1, %o29; CHECK-NEXT: mulx %o2, %o1, %o110; CHECK-NEXT: retl11; CHECK-NEXT: sub %o0, %o1, %o012 %tmp1 = srem i64 %X, %Y13 ret i64 %tmp114}15 16define i64 @test2(i64 %X, i64 %Y) {17; CHECK-LABEL: test2:18; CHECK: .cfi_startproc19; CHECK-NEXT: ! %bb.0:20; CHECK-NEXT: udivx %o0, %o1, %o221; CHECK-NEXT: mulx %o2, %o1, %o122; CHECK-NEXT: retl23; CHECK-NEXT: sub %o0, %o1, %o024 %tmp1 = urem i64 %X, %Y25 ret i64 %tmp126}27 28; PR1815029define i64 @test3(i64 %b) {30; CHECK-LABEL: test3:31; CHECK: .cfi_startproc32; CHECK-NEXT: ! %bb.0: ! %entry33; CHECK-NEXT: sethi 2545, %o134; CHECK-NEXT: or %o1, 379, %o135; CHECK-NEXT: mulx %o0, %o1, %o036; CHECK-NEXT: udivx %o0, 1021, %o137; CHECK-NEXT: mulx %o1, 1021, %o138; CHECK-NEXT: retl39; CHECK-NEXT: sub %o0, %o1, %o040entry:41 %mul = mul i64 %b, 260645942 %rem = urem i64 %mul, 102143 ret i64 %rem44}45