[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / urem-0.ll
blob25998fa340f7f6c5d79538ad1a47798ca2784431
1 ; RUN: opt < %s -scalar-evolution -analyze -enable-new-pm=0 | FileCheck %s
2 ; RUN: opt < %s "-passes=print<scalar-evolution>" -disable-output 2>&1 | FileCheck %s
4 define i8 @foo(i8 %a) {
5 ; CHECK-LABEL: @foo
6         %t0 = urem i8 %a, 27
7 ; CHECK: %t0 = urem i8 %a, 27
8 ; CHECK-NEXT: -->  ((-27 * (%a /u 27)) + %a)
9         ret i8 %t0
12 define i8 @bar(i8 %a) {
13 ; CHECK-LABEL: @bar
14         %t1 = urem i8 %a, 1
15 ; CHECK: %t1 = urem i8 %a, 1
16 ; CHECK-NEXT: -->  0
17         ret i8 %t1
20 define i8 @baz(i8 %a) {
21 ; CHECK-LABEL: @baz
22         %t2 = urem i8 %a, 32
23 ; CHECK: %t2 = urem i8 %a, 32
24 ; CHECK-NEXT: -->  (zext i5 (trunc i8 %a to i5) to i8)
25         ret i8 %t2
28 define i8 @qux(i8 %a) {
29 ; CHECK-LABEL: @qux
30         %t3 = urem i8 %a, 2
31 ; CHECK: %t3 = urem i8 %a, 2
32 ; CHECK-NEXT: -->  (zext i1 (trunc i8 %a to i1) to i8)
33         ret i8 %t3