[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Analysis / ScalarEvolution / undefined.ll
blobb1f44460af6bd0fadc4741fca9acc84dd6bc8738
1 ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
3 ; ScalarEvolution shouldn't attempt to interpret expressions which have
4 ; undefined results.
6 define void @foo(i64 %x) {
8   %a = udiv i64 %x, 0
9 ; CHECK: -->  (%x /u 0)
11   %B = shl i64 %x, 64
12 ; CHECK: -->  %B
14   %b = ashr i64 %B, 64
15 ; CHECK: -->  %b
17   %c = lshr i64 %x, 64
18 ; CHECK: -->  %c
20   %d = shl i64 %x, 64
21 ; CHECK: -->  %d
23   %E = shl i64 %x, -1
24 ; CHECK: -->  %E
26   %e = ashr i64 %E, -1
27 ; CHECK: -->  %e
29   %f = lshr i64 %x, -1
30 ; CHECK: -->  %f
32   %g = shl i64 %x, -1
33 ; CHECK: -->  %g
35   %h = bitcast i64 undef to i64
36 ; CHECK: -->  undef
38   ret void