brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · ae851e3 Raw
60 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=slp-vectorizer,dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 | FileCheck %s3 4target 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-S128"5target triple = "x86_64-apple-macosx10.8.0"6 7%struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334 = type { %struct._CLzmaProps.0.27.54.81.102.123.144.165.180.195.228.258.333, ptr, ptr, ptr, i32, i32, i64, i64, i32, i32, i32, [4 x i32], i32, i32, i32, i32, i32, [20 x i8] }8%struct._CLzmaProps.0.27.54.81.102.123.144.165.180.195.228.258.333 = type { i32, i32, i32, i32 }9 10define fastcc void @LzmaDec_DecodeReal2(ptr %p, i1 %arg) {11; CHECK-LABEL: @LzmaDec_DecodeReal2(12; CHECK-NEXT:  entry:13; CHECK-NEXT:    [[RANGE20_I:%.*]] = getelementptr inbounds [[STRUCT_CLZMADEC_1_28_55_82_103_124_145_166_181_196_229_259_334:%.*]], ptr [[P:%.*]], i64 0, i32 414; CHECK-NEXT:    br label [[DO_BODY66_I:%.*]]15; CHECK:       do.body66.i:16; CHECK-NEXT:    [[TMP0:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[DO_COND_I:%.*]] ], [ zeroinitializer, [[ENTRY:%.*]] ]17; CHECK-NEXT:    [[TMP1:%.*]] = select <2 x i1> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> [[TMP0]]18; CHECK-NEXT:    [[TMP5:%.*]] = shufflevector <2 x i32> [[TMP1]], <2 x i32> <i32 0, i32 poison>, <2 x i32> <i32 2, i32 1>19; CHECK-NEXT:    br i1 [[ARG:%.*]], label [[DO_COND_I]], label [[IF_ELSE_I:%.*]]20; CHECK:       if.else.i:21; CHECK-NEXT:    [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], zeroinitializer22; CHECK-NEXT:    br label [[DO_COND_I]]23; CHECK:       do.cond.i:24; CHECK-NEXT:    [[TMP3]] = phi <2 x i32> [ [[TMP2]], [[IF_ELSE_I]] ], [ [[TMP5]], [[DO_BODY66_I]] ]25; CHECK-NEXT:    br i1 [[ARG]], label [[DO_BODY66_I]], label [[DO_END1006_I:%.*]]26; CHECK:       do.end1006.i:27; CHECK-NEXT:    [[TMP4:%.*]] = select <2 x i1> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> [[TMP3]]28; CHECK-NEXT:    store <2 x i32> [[TMP4]], ptr [[RANGE20_I]], align 429; CHECK-NEXT:    ret void30;31entry:32  %range20.i = getelementptr inbounds %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334, ptr %p, i64 0, i32 433  %code21.i = getelementptr inbounds %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334, ptr %p, i64 0, i32 534  br label %do.body66.i35 36do.body66.i:                                      ; preds = %do.cond.i, %entry37  %range.2.i = phi i32 [ %range.4.i, %do.cond.i ], [ zeroinitializer, %entry ]38  %code.2.i = phi i32 [ %code.4.i, %do.cond.i ], [ zeroinitializer, %entry ]39  %.range.2.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %range.2.i40  %.code.2.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %code.2.i41  br i1 %arg, label %do.cond.i, label %if.else.i42 43if.else.i:                                        ; preds = %do.body66.i44  %sub91.i = sub i32 %.range.2.i, zeroinitializer45  %sub92.i = sub i32 %.code.2.i, zeroinitializer46  br label %do.cond.i47 48do.cond.i:                                        ; preds = %if.else.i, %do.body66.i49  %range.4.i = phi i32 [ %sub91.i, %if.else.i ], [ zeroinitializer, %do.body66.i ]50  %code.4.i = phi i32 [ %sub92.i, %if.else.i ], [ %.code.2.i, %do.body66.i ]51  br i1 %arg, label %do.body66.i, label %do.end1006.i52 53do.end1006.i:                                     ; preds = %do.cond.i54  %.range.4.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %range.4.i55  %.code.4.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %code.4.i56  store i32 %.range.4.i, ptr %range20.i, align 457  store i32 %.code.4.i, ptr %code21.i, align 458  ret void59}60