1 ; RUN: llc < %s -march=nvptx -mcpu=sm_35 | FileCheck %s
3 ; 64-bit divides and rems should be split into a fast and slow path where
4 ; the fast path uses a 32-bit operation.
6 define void @sdiv64(i64 %a, i64 %b, i64* %retptr) {
12 store i64 %d, i64* %retptr
16 define void @udiv64(i64 %a, i64 %b, i64* %retptr) {
17 ; CHECK-LABEL: udiv64(
22 store i64 %d, i64* %retptr
26 define void @srem64(i64 %a, i64 %b, i64* %retptr) {
27 ; CHECK-LABEL: srem64(
32 store i64 %d, i64* %retptr
36 define void @urem64(i64 %a, i64 %b, i64* %retptr) {
37 ; CHECK-LABEL: urem64(
42 store i64 %d, i64* %retptr
46 define void @sdiv32(i32 %a, i32 %b, i32* %retptr) {
47 ; CHECK-LABEL: sdiv32(
51 store i32 %d, i32* %retptr
55 define void @udiv32(i32 %a, i32 %b, i32* %retptr) {
56 ; CHECK-LABEL: udiv32(
60 store i32 %d, i32* %retptr
64 define void @srem32(i32 %a, i32 %b, i32* %retptr) {
65 ; CHECK-LABEL: srem32(
69 store i32 %d, i32* %retptr
73 define void @urem32(i32 %a, i32 %b, i32* %retptr) {
74 ; CHECK-LABEL: urem32(
78 store i32 %d, i32* %retptr