1 ; RUN: opt < %s -scalar-evolution -analyze | FileCheck %s
3 define i8 @foo(i8 %a) {
6 ; CHECK: %t0 = urem i8 %a, 27
7 ; CHECK-NEXT: --> ((-27 * (%a /u 27)) + %a)
11 define i8 @bar(i8 %a) {
14 ; CHECK: %t1 = urem i8 %a, 1
19 define i8 @baz(i8 %a) {
22 ; CHECK: %t2 = urem i8 %a, 32
23 ; CHECK-NEXT: --> (zext i5 (trunc i8 %a to i5) to i8)
27 define i8 @qux(i8 %a) {
30 ; CHECK: %t3 = urem i8 %a, 2
31 ; CHECK-NEXT: --> (zext i1 (trunc i8 %a to i1) to i8)