xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/alldiv-divdi3.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test that, for a 64 bit signed div, a libcall to alldiv is made on Windows
2*9880d681SAndroid Build Coastguard Worker; unless we have libgcc.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple i386-pc-win32 | FileCheck %s
5*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple i386-pc-cygwin | FileCheck %s -check-prefix USEDIVDI
6*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple i386-pc-mingw32 | FileCheck %s -check-prefix USEDIVDI
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 %argc, i8** nocapture %argv) nounwind readonly {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker  %conv4 = sext i32 %argc to i64
11*9880d681SAndroid Build Coastguard Worker  %div = sdiv i64 84, %conv4
12*9880d681SAndroid Build Coastguard Worker  %conv7 = trunc i64 %div to i32
13*9880d681SAndroid Build Coastguard Worker  ret i32 %conv7
14*9880d681SAndroid Build Coastguard Worker}
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker; CHECK: alldiv
17*9880d681SAndroid Build Coastguard Worker; USEDIVDI: divdi3
18