|
| 1 | +; RUN: opt < %s -mtriple=systemz-unknown -mcpu=z15 -passes="print<cost-model>" \ |
| 2 | +; RUN: -disable-output 2>&1 | FileCheck %s |
| 3 | + |
| 4 | +; Check bitcast from scalar to vector. |
| 5 | + |
| 6 | +@Glob = dso_local local_unnamed_addr global i32 0, align 4 |
| 7 | + |
| 8 | +define dso_local void @fun() { |
| 9 | +entry: |
| 10 | + %d.sroa.0 = alloca i64, align 8 |
| 11 | + store i64 0, ptr %d.sroa.0, align 8 |
| 12 | + store i32 2, ptr @Glob, align 4 |
| 13 | + br label %for.cond1 |
| 14 | + |
| 15 | +for.cond1: ; preds = %for.cond1, %entry |
| 16 | + %L = load i64, ptr %d.sroa.0, align 8 |
| 17 | + %A0 = and i64 %L, 4294967295 |
| 18 | + store i64 %A0, ptr %d.sroa.0, align 8 |
| 19 | + %BC = bitcast i64 %A0 to <2 x i32> |
| 20 | + %0 = and <2 x i32> %BC, splat (i32 10) |
| 21 | + store <2 x i32> %0, ptr %d.sroa.0, align 8 |
| 22 | + br label %for.cond1 |
| 23 | + |
| 24 | +; CHECK: Printing analysis 'Cost Model Analysis' for function 'fun': |
| 25 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %d.sroa.0 = alloca i64, align 8 |
| 26 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 0, ptr %d.sroa.0, align 8 |
| 27 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 2, ptr @Glob, align 4 |
| 28 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %for.cond1 |
| 29 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %L = load i64, ptr %d.sroa.0, align 8 |
| 30 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %A0 = and i64 %L, 4294967295 |
| 31 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %A0, ptr %d.sroa.0, align 8 |
| 32 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %BC = bitcast i64 %A0 to <2 x i32> |
| 33 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %0 = and <2 x i32> %BC, splat (i32 10) |
| 34 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> %0, ptr %d.sroa.0, align 8 |
| 35 | +; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %for.cond1 |
| 36 | +} |
0 commit comments