Add compile command to each testcase
[gcc-vect-testsuite.git] / pr33804.ll
blob566aaf1c6ea73205eb045d9ca565488c2a62fb36
1 ; RUN: opt %loadPolly %defaultOpts -polly-codegen -enable-polly-vector -dce -S %s | FileCheck %s
2 ; Obtained from C source as:
3 ; clang -S -emit-llvm -O0 pr33804.c
4 ; opt -correlated-propagation -mem2reg -instcombine -loop-simplify -indvars -instnamer pr33804.s > pr33804.ll
6 ; ModuleID = 'pr33804.s'
7 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
8 target triple = "x86_64-unknown-linux-gnu"
10 define void @f(i8* %s, i8* %d, i32 %n) nounwind uwtable {
11 entry:
12   br label %for.cond
14 for.cond:                                         ; preds = %for.inc, %entry
15   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ]
16   %tmp = mul i64 %indvar, 4
17   %tmp7 = add i64 %tmp, 3
18   %arrayidx57 = getelementptr i8* %d, i64 %tmp7
19   %arrayidx50 = getelementptr i8* %s, i64 %tmp7
20   %tmp8 = add i64 %tmp, 2
21   %arrayidx41 = getelementptr i8* %d, i64 %tmp8
22   %arrayidx34 = getelementptr i8* %s, i64 %tmp8
23   %tmp9 = add i64 %tmp, 1
24   %arrayidx25 = getelementptr i8* %d, i64 %tmp9
25   %arrayidx18 = getelementptr i8* %s, i64 %tmp9
26   %arrayidx9 = getelementptr i8* %d, i64 %tmp
27   %arrayidx = getelementptr i8* %s, i64 %tmp
28   %i.0 = trunc i64 %tmp to i32
29   %cmp = icmp slt i32 %i.0, %n
30   br i1 %cmp, label %for.body, label %for.end
32 for.body:                                         ; preds = %for.cond
33   %tmp4 = load i8* %arrayidx, align 1
34   %tmp10 = load i8* %arrayidx9, align 1
35   %add12 = add i8 %tmp10, %tmp4
36   store i8 %add12, i8* %arrayidx9, align 1
37   %tmp19 = load i8* %arrayidx18, align 1
38   %tmp26 = load i8* %arrayidx25, align 1
39   %add28 = add i8 %tmp26, %tmp19
40   store i8 %add28, i8* %arrayidx25, align 1
41   %tmp35 = load i8* %arrayidx34, align 1
42   %tmp42 = load i8* %arrayidx41, align 1
43   %add44 = add i8 %tmp42, %tmp35
44   store i8 %add44, i8* %arrayidx41, align 1
45   %tmp51 = load i8* %arrayidx50, align 1
46   %tmp58 = load i8* %arrayidx57, align 1
47   %add60 = add i8 %tmp58, %tmp51
48   store i8 %add60, i8* %arrayidx57, align 1
49   br label %for.inc
51 for.inc:                                          ; preds = %for.body
52   %indvar.next = add i64 %indvar, 1
53   br label %for.cond
55 for.end:                                          ; preds = %for.cond
56   ret void
58 ; CHECK: define