xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/2011-03-08-SRemMinusOneBadOpt.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; PR9346
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i32 @test(i64 %x) nounwind {
5*9880d681SAndroid Build Coastguard Worker; CHECK: ret i32 0
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker  %or = or i64 %x, 4294967294
8*9880d681SAndroid Build Coastguard Worker  %conv = trunc i64 %or to i32
9*9880d681SAndroid Build Coastguard Worker  %rem.i = srem i32 %conv, -1
10*9880d681SAndroid Build Coastguard Worker  ret i32 %rem.i
11*9880d681SAndroid Build Coastguard Worker}
12*9880d681SAndroid Build Coastguard Worker
13