llvm/llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll

; RUN: opt -S -passes='require<profile-summary>,function(codegenprepare)' < %s | FileCheck %s

target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
target triple = "nvptx64-nvidia-cuda"

; Check that the smaller-width division that the BypassSlowDivision pass
; creates is not marked as "exact" (that is, it doesn't claim that the
; numerator is a multiple of the denominator).
;
; CHECK-LABEL: @test
define void @test(i64 %a, i64 %b, ptr %retptr) {
  ; CHECK: udiv i32
  %d = sdiv i64 %a, %b
  store i64 %d, ptr %retptr
  ret void
}