xref: /llvm-project/llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll (revision f1ec0d12bb0843f0deab83ef2b5cf1339cbc4f0b)
1; RUN: opt -S -passes='require<profile-summary>,function(codegenprepare)' < %s | FileCheck %s
2
3target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
4target triple = "nvptx64-nvidia-cuda"
5
6; Check that the smaller-width division that the BypassSlowDivision pass
7; creates is not marked as "exact" (that is, it doesn't claim that the
8; numerator is a multiple of the denominator).
9;
10; CHECK-LABEL: @test
11define void @test(i64 %a, i64 %b, ptr %retptr) {
12  ; CHECK: udiv i32
13  %d = sdiv i64 %a, %b
14  store i64 %d, ptr %retptr
15  ret void
16}
17