Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Analysis / CostModel / SystemZ / ext-of-icmp-cost.ll
blob921c84731609ad70890f4912c99b2ce6ff0131a4
1 ; RUN: opt < %s -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output \
2 ; RUN:   -mtriple=s390x-unknown-linux -mcpu=z13  | FileCheck %s
4 ; Check that getInstructionCost() does not return TCC_Free for extensions of
5 ; i1 returned from icmp.
7 define i64 @fun1(i64 %v) {
8 ; CHECK-LABEL: 'fun1'
9 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %cmp = icmp eq i64 %v, 0
10 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %z = zext i1 %cmp to i64
11 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   ret i64 %z
12   %cmp = icmp eq i64 %v, 0
13   %z = zext i1 %cmp to i64
14   ret i64 %z
17 define i64 @fun2(i64 %v) {
18 ; CHECK-LABEL: 'fun2'
19 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %cmp = icmp eq i64 %v, 0
20 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %z = sext i1 %cmp to i64
21 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   ret i64 %z
22   %cmp = icmp eq i64 %v, 0
23   %z = sext i1 %cmp to i64
24   ret i64 %z
27 define double @fun3(i64 %v) {
28 ; CHECK-LABEL: 'fun3'
29 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %cmp = icmp eq i64 %v, 0
30 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %z = uitofp i1 %cmp to double
31 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   ret double %z
32   %cmp = icmp eq i64 %v, 0
33   %z = uitofp i1 %cmp to double
34   ret double %z
37 define double @fun4(i64 %v) {
38 ; CHECK-LABEL: 'fun4'
39 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %cmp = icmp eq i64 %v, 0
40 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %z = sitofp i1 %cmp to double
41 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   ret double %z
42   %cmp = icmp eq i64 %v, 0
43   %z = sitofp i1 %cmp to double
44   ret double %z
47 define i64 @fun5(i1 %v) {
48 ; CHECK-LABEL: 'fun5'
49 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %z = zext i1 %v to i64
50 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   ret i64 %z
51   %z = zext i1 %v to i64
52   ret i64 %z