xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/allrem-moddi3.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test that, for a 64 bit signed rem, a libcall to allrem 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 USEMODDI
6*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple i386-pc-mingw32 | FileCheck %s -check-prefix USEMODDI
7*9880d681SAndroid Build Coastguard Worker; PR10305
8*9880d681SAndroid Build Coastguard Worker; END.
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 %argc, i8** nocapture %argv) nounwind readonly {
11*9880d681SAndroid Build Coastguard Workerentry:
12*9880d681SAndroid Build Coastguard Worker  %conv4 = sext i32 %argc to i64
13*9880d681SAndroid Build Coastguard Worker  %div = srem i64 84, %conv4
14*9880d681SAndroid Build Coastguard Worker  %conv7 = trunc i64 %div to i32
15*9880d681SAndroid Build Coastguard Worker  ret i32 %conv7
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker; CHECK: allrem
19*9880d681SAndroid Build Coastguard Worker; USEMODDI: moddi3
20