~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/PowerPC/2008-07-15-Bswap.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s
 
2
target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128"
 
3
target triple = "powerpc-apple-darwin9"
 
4
        %struct.BiPartSrcDescriptor = type <{ %"struct.BiPartSrcDescriptor::$_105" }>
 
5
        %"struct.BiPartSrcDescriptor::$_105" = type { %struct.BiPartSrcDescriptor_NO_VECTOR_ALIGNMENT_size_is_16 }
 
6
        %struct.BiPartSrcDescriptor_NO_VECTOR_ALIGNMENT_size_is_16 = type { [2 x %struct.MotionVectors], [2 x i8], %struct.Map4x4ToPartIdx, [2 x i8], i8, i8 }
 
7
        %struct.Condv = type opaque
 
8
        %struct.DHBFLayerId = type { i8 }
 
9
        %struct.DecodeComplexityInfo = type { i32, i32, i32, i32, %"struct.DecodeComplexityInfo::IntraStats", %"struct.DecodeComplexityInfo::InterStats" }
 
10
        %"struct.DecodeComplexityInfo::InterStats" = type { i32, i32, i32, i32, [5 x i32], [3 x i32], [4 x [4 x i32]], [4 x i32], i32, %struct.MotionVectors, %struct.MotionVectors }
 
11
        %"struct.DecodeComplexityInfo::IntraStats" = type { i32, i32, i32, [5 x i32], [3 x i32], [4 x i32], [3 x i32] }
 
12
        %struct.DecodeComplexityOptions = type { i8, i8, i32, double, i8, float, i8, float, i8, i8, i8, i8, i8 }
 
13
        %struct.DescriptorAllocator = type { %struct.Mutex*, %struct.Mutex*, i8**, i32, i32, i8**, i32, i32, i8**, i32, i32 }
 
14
        %struct.DetailsFromSliceType = type <{ i8 }>
 
15
        %struct.FlatnessAnalysis = type { i16, i16, i32, i32*, i8*, [512 x i32], [256 x i32] }
 
16
        %struct.Frame = type <{ i8, i8, i8, i8, i8, [3 x i8], i32, i32, %struct.Mutex*, %struct.Condv*, [8 x i8], %struct.FramePixels, %struct.FrameMotionVectorCache, %struct.FrameIndex, i32, i8*, i8*, i8*, i8*, i16*, %struct.FlatnessAnalysis, %struct.NoiseAnalysis, %struct.VisualActivity, %struct.FrameMotionInfo, %struct.FrameMotionAnalysis, %struct.FrameDataRateParameters, %struct.FrameEncoderTags, %struct.DecodeComplexityInfo, %struct.DecodeComplexityOptions, %struct.MotionInfoFor16x16_FasterSP*, [1 x i32] }>
 
17
        %struct.FrameDataRateParameters = type { i32, float, i8, i8 }
 
18
        %struct.FrameEncoderTags = type { i8, i8, i32, i8, i8, float }
 
19
        %struct.FrameIndex = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i32, i32, %struct.Frame*, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, %struct.DHBFLayerId }
 
20
        %struct.FrameMotionAnalysis = type { i32, i32, i32, %struct.MoEstMotion16x16*, %struct.MbAnalysis*, i32, i32, i16, i16, i32, i32, i32, i32, i8, i8 }
 
21
        %struct.FrameMotionInfo = type { i32, i32, %struct.MoEstMbMotionInfo*, i32, i32, i32, i32, i32 }
 
22
        %struct.FrameMotionVectorCache = type <{ %struct.ThreadAllocator**, i32, i32, i32, %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor, [3 x %struct.BiPartSrcDescriptor*], %struct.BiPartSrcDescriptor** }>
 
23
        %struct.FramePixels = type <{ i8, i8, i8, i8, i8, i8, i8, i8, i8*, i8*, i32, [4 x i8*], [4 x i8*], [2 x [4 x i32]], [2 x [4 x i32]], %struct.PixelData, %struct.InterpolationCache*, %struct.InterpolationCache*, %struct.InterpolationCache*, [16 x i16], [16 x i16], [12 x i8], %"struct.PortableSInt32Array<4>", %"struct.PortableSInt32Array<8>", %struct.ICOffsetArraysY, %struct.UVSrcOffsetEtcX_Struct*, i32*, i32*, [3 x i32] }>
 
24
        %struct.ICOffsetArraysY = type { [21 x i32], [21 x i32], [4 x [21 x i32]] }
 
25
        %struct.InterpolationCache = type opaque
 
26
        %struct.LoopFilterInfo = type { %struct.BiPartSrcDescriptor**, i32, i32, i32, i32, i32*, i32, %"struct.LoopFilterInfo::SliceInfoStruct"*, i32, %struct.Mutex*, i16*, %struct.FramePixels*, i8*, i8*, i8*, i8*, i8*, %struct.PerMacroblockBoundaryStrengths*, %struct.Mutex*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8*, i8*, i8, void (i8*, i8*, i32, i32, i32, i32, i32, i8*, i32)*, void (i8*, i8*, i32, i32, i32, i32, i32, i8*, i32, i8*)*, i32 }
 
27
        %"struct.LoopFilterInfo::SliceInfoStruct" = type { %"struct.LoopFilterInfo::SliceInfoStruct::LFDisableStats", i8, i8, i8, i8, [17 x %struct.Frame*], [17 x %struct.Frame*] }
 
28
        %"struct.LoopFilterInfo::SliceInfoStruct::LFDisableStats" = type { i32, i32 }
 
29
        %struct.LoopFilterParam = type { i32, %struct.LoopFilterInfo*, %struct.FramePixels*, %struct.FrameMotionVectorCache* }
 
30
        %struct.Map4x4ToPartIdx = type { i16 }
 
31
        %struct.MbAnalysis = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, %struct.RdCost, %struct.RdCost, i32 }
 
32
        %struct.MoEstMbMotionInfo = type { i32, i32, i32, i32, [16 x %struct.MoEstPartMotionInfo] }
 
33
        %struct.MoEstMotion16x16 = type { [2 x i8], [2 x %struct.MotionVectors], i8, [3 x %struct.MoEstPredCost] }
 
34
        %struct.MoEstPartMotionInfo = type { i32, %struct.PartGeom, i32, i32, [2 x %struct.MotionVectors], [2 x i8], i16 }
 
35
        %struct.MoEstPredCost = type { i32, i16, i16 }
 
36
        %struct.MotionInfoFor16x16_FasterSP = type { [2 x %struct.MotionVectors], [2 x i8], i8, [2 x i32], i32, i32 }
 
37
        %struct.MotionVectors = type { %"struct.MotionVectors::$_103" }
 
38
        %"struct.MotionVectors::$_103" = type { i32 }
 
39
        %struct.Mutex = type opaque
 
40
        %struct.NoiseAnalysis = type { i16, i16, i32, i8*, i8*, i8*, [512 x i32] }
 
41
        %struct.PartGeom = type { %struct.Map4x4ToPartIdx }
 
42
        %struct.PerMacroblockBoundaryStrengths = type { [16 x i8], [16 x i8], [4 x i8], [4 x i8], [2 x i32] }
 
43
        %struct.PixelData = type { i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8 }
 
44
        %"struct.PortableSInt32Array<4>" = type { [4 x i32] }
 
45
        %"struct.PortableSInt32Array<8>" = type { [8 x i32] }
 
46
        %struct.RdCost = type { i32, i32, i32, double }
 
47
        %struct.ThreadAllocator = type { %struct.DescriptorAllocator*, %struct.BiPartSrcDescriptor*, [256 x %struct.BiPartSrcDescriptor*], i32, i32, i32 }
 
48
        %struct.ThreadedBatch = type opaque
 
49
        %struct.UVSrcOffsetEtcX_Struct = type <{ i16 }>
 
50
        %struct.VisualActivity = type { i16, i16, i32, i32, i32*, i32*, i32, i32, i32*, i32, i32, i32, i32, i32, i8*, i32, [2 x i32], i32, i32, i32, i16*, i16, i16, i16, i16, float, i8*, i32*, i32, i32, i8 }
 
51
@_ZL33table_8_14_indexA_to_alpha_scalar = external constant [64 x i8]           ; <[64 x i8]*> [#uses=0]
 
52
@_ZL32table_8_14_indexB_to_beta_scalar = external constant [64 x i8]            ; <[64 x i8]*> [#uses=0]
 
53
@_ZL34table_8_15_indexA_bS_to_tc0_scalar = external constant [64 x [4 x i8]]            ; <[64 x [4 x i8]]*> [#uses=0]
 
54
@gkDummy = external global i32          ; <i32*> [#uses=0]
 
55
@gkDetailsFromSliceTypeArray = external constant [10 x %struct.DetailsFromSliceType]            ; <[10 x %struct.DetailsFromSliceType]*> [#uses=0]
 
56
 
 
57
declare i32 @_Z20LoopFilter_ConstructP14LoopFilterInfojj(%struct.LoopFilterInfo*, i32, i32)
 
58
 
 
59
declare i32 @_Z25LF_Threading2_assert_doneP14LoopFilterInfo(%struct.LoopFilterInfo*) nounwind 
 
60
 
 
61
declare i32 @_Z54S_CalcIfLargeMVDeltaForBMbBothPredictionsFromSameFramePK19BiPartSrcDescriptorS1_ijj(%struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor*, i32, i32, i32) nounwind 
 
62
 
 
63
declare void @_Z30LoopFilter_Internal_FilterLumaPhiiiiii(i8*, i32, i32, i32, i32, i32, i32) nounwind 
 
64
 
 
65
declare void @_Z33LoopFilter_Internal_FilterChromaVPhiiiiiiiiii(i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) nounwind 
 
66
 
 
67
declare void @_Z33LoopFilter_Internal_FilterChromaHPhiiiiii(i8*, i32, i32, i32, i32, i32, i32) nounwind 
 
68
 
 
69
declare void @_Z42LoopFilter_Internal_filter_macroblock_lumaPK14LoopFilterInfoPhS2_iiiPK30PerMacroblockBoundaryStrengthsjj(%struct.LoopFilterInfo*, i8*, i8*, i32, i32, i32, %struct.PerMacroblockBoundaryStrengths*, i32, i32) nounwind 
 
70
 
 
71
declare void @llvm.memcpy.i32(i8*, i8*, i32, i32) nounwind 
 
72
 
 
73
declare i32 @_Z40LoopFilter_Internal_FilterLumaPlaneMBAFFPK14LoopFilterInfojjj(%struct.LoopFilterInfo*, i32, i32, i32) nounwind 
 
74
 
 
75
declare void @_Z18LoopFilter_DestroyP14LoopFilterInfo(%struct.LoopFilterInfo*)
 
76
 
 
77
declare void @MutexDispose(%struct.Mutex*)
 
78
 
 
79
declare void @_ZdaPv(i8*) nounwind 
 
80
 
 
81
declare void @jvtDisposePTRVectorAligned(i8*)
 
82
 
 
83
declare void @jvtDisposePTR(i8*)
 
84
 
 
85
declare void @jvtDisposePTRMemAligned(i8*)
 
86
 
 
87
declare void @_Z31LoopFilter_Internal_ResetTablesP14LoopFilterInfo(%struct.LoopFilterInfo*) nounwind 
 
88
 
 
89
declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind 
 
90
 
 
91
define i32 @_Z60LoopFilter_Internal_CalculateBoundaryStrengths_MbaffFramePicPK14LoopFilterInfoP22FrameMotionVectorCachejj(%struct.LoopFilterInfo* %lfiPtr, %struct.FrameMotionVectorCache* %frameMotionVectorCachePtr, i32 %mbY_min, i32 %mbY_maxPlus1) nounwind  {
 
92
entry:
 
93
        icmp ult i32 %mbY_min, %mbY_maxPlus1            ; <i1>:0 [#uses=1]
 
94
        br i1 %0, label %bb16, label %bb642
 
95
 
 
96
bb16:           ; preds = %entry
 
97
        bitcast %struct.PerMacroblockBoundaryStrengths* null to i32*            ; <i32*>:1 [#uses=3]
 
98
        getelementptr i32* %1, i32 1            ; <i32*>:2 [#uses=0]
 
99
        getelementptr i32* %1, i32 2            ; <i32*>:3 [#uses=0]
 
100
        getelementptr i32* %1, i32 3            ; <i32*>:4 [#uses=0]
 
101
        bitcast [16 x i8]* null to i32*         ; <i32*>:5 [#uses=3]
 
102
        getelementptr i32* %5, i32 1            ; <i32*>:6 [#uses=0]
 
103
        getelementptr i32* %5, i32 2            ; <i32*>:7 [#uses=0]
 
104
        getelementptr i32* %5, i32 3            ; <i32*>:8 [#uses=0]
 
105
        icmp eq i32 0, 0                ; <i1>:9 [#uses=0]
 
106
        lshr i32 0, 30          ; <i32>:10 [#uses=0]
 
107
        and i32 0, 268435455            ; <i32>:11 [#uses=0]
 
108
        lshr i32 0, 28          ; <i32>:12 [#uses=1]
 
109
        and i32 %12, 3          ; <i32>:13 [#uses=0]
 
110
        and i32 0, 1            ; <i32>:14 [#uses=1]
 
111
        icmp eq i32 %14, 0              ; <i1>:15 [#uses=0]
 
112
        zext i8 0 to i32                ; <i32>:16 [#uses=1]
 
113
        %.not656 = icmp ne i32 0, 0             ; <i1> [#uses=1]
 
114
        icmp eq i8 0, 0         ; <i1>:17 [#uses=0]
 
115
        trunc i32 0 to i8               ; <i8>:18 [#uses=2]
 
116
        add i32 0, 1            ; <i32>:19 [#uses=1]
 
117
        %.not658 = icmp ne i32 0, 0             ; <i1> [#uses=1]
 
118
        and i32 0, 268369920            ; <i32>:20 [#uses=1]
 
119
        icmp eq i32 %20, 268369920              ; <i1>:21 [#uses=2]
 
120
        getelementptr %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2                ; <[4 x i8]*>:22 [#uses=1]
 
121
        getelementptr %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2, i32 0         ; <i8*>:23 [#uses=0]
 
122
        and i32 0, -2           ; <i32>:24 [#uses=1]
 
123
        add i32 %24, -1         ; <i32>:25 [#uses=0]
 
124
        bitcast [4 x i8]* %22 to i32*           ; <i32*>:26 [#uses=3]
 
125
        getelementptr i32* %26, i32 1           ; <i32*>:27 [#uses=0]
 
126
        getelementptr i32* %26, i32 2           ; <i32*>:28 [#uses=0]
 
127
        getelementptr i32* %26, i32 3           ; <i32*>:29 [#uses=0]
 
128
        br label %bb144
 
129
 
 
130
bb144:          ; preds = %bb395, %bb16
 
131
        %idxEachField11.0773 = phi i32 [ 0, %bb16 ], [ %162, %bb395 ]           ; <i32> [#uses=3]
 
132
        %mbYLeft.2776 = phi i32 [ 0, %bb16 ], [ %mbYLeft.2776, %bb395 ]         ; <i32> [#uses=3]
 
133
        %mbXYLeft.2775 = phi i32 [ 0, %bb16 ], [ %mbXYLeft.2775, %bb395 ]               ; <i32> [#uses=1]
 
134
        %mixedModeLeftEdgeOfMbFlag.2774 = phi i32 [ 0, %bb16 ], [ 0, %bb395 ]           ; <i32> [#uses=0]
 
135
        %mbIndexLeft.2772 = phi i32 [ 0, %bb16 ], [ %mbIndexLeft.2772, %bb395 ]         ; <i32> [#uses=2]
 
136
        %boundaryStrengthsV.1771 = phi i8* [ null, %bb16 ], [ %158, %bb395 ]            ; <i8*> [#uses=2]
 
137
        %numEdgesToTest.1770 = phi i32 [ 4, %bb16 ], [ %numEdgesToTest.2, %bb395 ]              ; <i32> [#uses=1]
 
138
        icmp eq i32 %idxEachField11.0773, 0             ; <i1>:30 [#uses=0]
 
139
        getelementptr %struct.BiPartSrcDescriptor** null, i32 %mbIndexLeft.2772         ; <%struct.BiPartSrcDescriptor**>:31 [#uses=1]
 
140
        load %struct.BiPartSrcDescriptor** %31, align 4         ; <%struct.BiPartSrcDescriptor*>:32 [#uses=0]
 
141
        %fMacroblockHasNonZeroBS.4 = select i1 %21, i32 1, i32 0                ; <i32> [#uses=1]
 
142
        %numEdgesToTest.2 = select i1 %21, i32 1, i32 %numEdgesToTest.1770              ; <i32> [#uses=2]
 
143
        store i8 32, i8* %boundaryStrengthsV.1771, align 1
 
144
        br label %labelContinueEdgesLoopV
 
145
 
 
146
bb200:          ; preds = %labelContinueEdgesLoopV
 
147
        lshr i32 %159, 28               ; <i32>:33 [#uses=2]
 
148
        and i32 %160, %16               ; <i32>:34 [#uses=1]
 
149
        icmp eq i32 %34, 0              ; <i1>:35 [#uses=0]
 
150
        icmp eq i32 %160, 0             ; <i1>:36 [#uses=3]
 
151
        zext i1 %36 to i32              ; <i32>:37 [#uses=1]
 
152
        or i32 %37, -1          ; <i32>:38 [#uses=1]
 
153
        or i32 %38, %33         ; <i32>:39 [#uses=1]
 
154
        icmp eq i32 %39, 0              ; <i1>:40 [#uses=1]
 
155
        br i1 %40, label %bb205, label %bb206
 
156
 
 
157
bb205:          ; preds = %bb200
 
158
        store i8 32, i8* %158, align 1
 
159
        br label %labelContinueEdgesLoopV
 
160
 
 
161
bb206:          ; preds = %bb200
 
162
        icmp eq i32 %33, 15             ; <i1>:41 [#uses=1]
 
163
        br i1 %41, label %labelContinueEdgesLoopV, label %bb210.preheader
 
164
 
 
165
bb210.preheader:                ; preds = %bb206
 
166
        add i32 %160, 0         ; <i32>:42 [#uses=2]
 
167
        %bothcond657 = and i1 %36, %.not656             ; <i1> [#uses=0]
 
168
        shl i32 %idxEachField11.0773, 1         ; <i32>:43 [#uses=1]
 
169
        add i32 %43, 0          ; <i32>:44 [#uses=0]
 
170
        shl i32 %mbYLeft.2776, 2                ; <i32>:45 [#uses=0]
 
171
        add i32 %42, -1         ; <i32>:46 [#uses=1]
 
172
        icmp eq i32 0, 0                ; <i1>:47 [#uses=1]
 
173
        %brmerge689.not = and i1 %47, false             ; <i1> [#uses=0]
 
174
        %bothcond659 = and i1 %36, %.not658             ; <i1> [#uses=0]
 
175
        shl i32 %mbYLeft.2776, 1                ; <i32>:48 [#uses=1]
 
176
        or i32 %48, 0           ; <i32>:49 [#uses=1]
 
177
        shl i32 %49, 1          ; <i32>:50 [#uses=0]
 
178
        add i32 0, 0            ; <i32>:51 [#uses=2]
 
179
        mul i32 %51, 0          ; <i32>:52 [#uses=1]
 
180
        add i32 %52, %42                ; <i32>:53 [#uses=1]
 
181
        mul i32 %51, 0          ; <i32>:54 [#uses=1]
 
182
        add i32 %46, %54                ; <i32>:55 [#uses=1]
 
183
        getelementptr %struct.BiPartSrcDescriptor** null, i32 %53               ; <%struct.BiPartSrcDescriptor**>:56 [#uses=1]
 
184
        load %struct.BiPartSrcDescriptor** %56, align 4         ; <%struct.BiPartSrcDescriptor*>:57 [#uses=7]
 
185
        getelementptr %struct.BiPartSrcDescriptor** null, i32 %55               ; <%struct.BiPartSrcDescriptor**>:58 [#uses=1]
 
186
        load %struct.BiPartSrcDescriptor** %58, align 4         ; <%struct.BiPartSrcDescriptor*>:59 [#uses=5]
 
187
        icmp slt i32 %159, 0            ; <i1>:60 [#uses=0]
 
188
        icmp eq %struct.BiPartSrcDescriptor* %57, %59           ; <i1>:61 [#uses=0]
 
189
        bitcast %struct.BiPartSrcDescriptor* %57 to i16*                ; <i16*>:62 [#uses=5]
 
190
        load i16* %62, align 2          ; <i16>:63 [#uses=2]
 
191
        getelementptr i16* %62, i32 1           ; <i16*>:64 [#uses=1]
 
192
        load i16* %64, align 2          ; <i16>:65 [#uses=2]
 
193
        getelementptr i16* %62, i32 2           ; <i16*>:66 [#uses=1]
 
194
        load i16* %66, align 2          ; <i16>:67 [#uses=2]
 
195
        getelementptr i16* %62, i32 3           ; <i16*>:68 [#uses=1]
 
196
        load i16* %68, align 2          ; <i16>:69 [#uses=2]
 
197
        getelementptr i16* %62, i32 6           ; <i16*>:70 [#uses=1]
 
198
        load i16* %70, align 2          ; <i16>:71 [#uses=2]
 
199
        bitcast %struct.BiPartSrcDescriptor* %59 to i16*                ; <i16*>:72 [#uses=5]
 
200
        load i16* %72, align 2          ; <i16>:73 [#uses=2]
 
201
        getelementptr i16* %72, i32 1           ; <i16*>:74 [#uses=1]
 
202
        load i16* %74, align 2          ; <i16>:75 [#uses=2]
 
203
        getelementptr i16* %72, i32 2           ; <i16*>:76 [#uses=1]
 
204
        load i16* %76, align 2          ; <i16>:77 [#uses=2]
 
205
        getelementptr i16* %72, i32 3           ; <i16*>:78 [#uses=1]
 
206
        load i16* %78, align 2          ; <i16>:79 [#uses=2]
 
207
        getelementptr i16* %72, i32 6           ; <i16*>:80 [#uses=1]
 
208
        load i16* %80, align 2          ; <i16>:81 [#uses=2]
 
209
        sub i16 %63, %73                ; <i16>:82 [#uses=3]
 
210
        sub i16 %65, %75                ; <i16>:83 [#uses=3]
 
211
        sub i16 %67, %77                ; <i16>:84 [#uses=3]
 
212
        sub i16 %69, %79                ; <i16>:85 [#uses=3]
 
213
        sub i16 %71, %81                ; <i16>:86 [#uses=3]
 
214
        sub i16 0, %82          ; <i16>:87 [#uses=1]
 
215
        icmp slt i16 %82, 0             ; <i1>:88 [#uses=1]
 
216
        %. = select i1 %88, i16 %87, i16 %82            ; <i16> [#uses=1]
 
217
        sub i16 0, %83          ; <i16>:89 [#uses=1]
 
218
        icmp slt i16 %83, 0             ; <i1>:90 [#uses=1]
 
219
        %.660 = select i1 %90, i16 %89, i16 %83         ; <i16> [#uses=1]
 
220
        sub i16 0, %84          ; <i16>:91 [#uses=1]
 
221
        icmp slt i16 %84, 0             ; <i1>:92 [#uses=1]
 
222
        %.661 = select i1 %92, i16 %91, i16 %84         ; <i16> [#uses=1]
 
223
        sub i16 0, %85          ; <i16>:93 [#uses=1]
 
224
        icmp slt i16 %85, 0             ; <i1>:94 [#uses=1]
 
225
        %.662 = select i1 %94, i16 %93, i16 %85         ; <i16> [#uses=1]
 
226
        sub i16 0, %86          ; <i16>:95 [#uses=1]
 
227
        icmp slt i16 %86, 0             ; <i1>:96 [#uses=1]
 
228
        %.663 = select i1 %96, i16 %95, i16 %86         ; <i16> [#uses=1]
 
229
        getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 0               ; <i8*>:97 [#uses=1]
 
230
        load i8* %97, align 1           ; <i8>:98 [#uses=1]
 
231
        zext i8 %98 to i32              ; <i32>:99 [#uses=1]
 
232
        getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 1               ; <i8*>:100 [#uses=1]
 
233
        load i8* %100, align 1          ; <i8>:101 [#uses=1]
 
234
        zext i8 %101 to i32             ; <i32>:102 [#uses=1]
 
235
        getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 0               ; <i8*>:103 [#uses=1]
 
236
        load i8* %103, align 1          ; <i8>:104 [#uses=2]
 
237
        zext i8 %104 to i32             ; <i32>:105 [#uses=1]
 
238
        getelementptr %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 0               ; <i8*>:106 [#uses=1]
 
239
        load i8* %106, align 1          ; <i8>:107 [#uses=2]
 
240
        zext i8 %107 to i32             ; <i32>:108 [#uses=1]
 
241
        getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 1               ; <i8*>:109 [#uses=1]
 
242
        load i8* %109, align 1          ; <i8>:110 [#uses=1]
 
243
        zext i8 %110 to i32             ; <i32>:111 [#uses=1]
 
244
        getelementptr %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 1               ; <i8*>:112 [#uses=1]
 
245
        load i8* %112, align 1          ; <i8>:113 [#uses=1]
 
246
        zext i8 %113 to i32             ; <i32>:114 [#uses=1]
 
247
        lshr i32 %99, 4         ; <i32>:115 [#uses=1]
 
248
        and i32 %115, 2         ; <i32>:116 [#uses=1]
 
249
        lshr i32 %102, 5                ; <i32>:117 [#uses=1]
 
250
        or i32 %116, %117               ; <i32>:118 [#uses=3]
 
251
        icmp eq i32 %118, 0             ; <i1>:119 [#uses=0]
 
252
        icmp eq i32 %118, 1             ; <i1>:120 [#uses=1]
 
253
        br i1 %120, label %bb297, label %bb298
 
254
 
 
255
bb297:          ; preds = %bb210.preheader
 
256
        br label %bb298
 
257
 
 
258
bb298:          ; preds = %bb297, %bb210.preheader
 
259
        %vu8Mask_0.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]           ; <i8> [#uses=1]
 
260
        %vu8Mask_1.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]           ; <i8> [#uses=1]
 
261
        %vu8Mask_2.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]           ; <i8> [#uses=0]
 
262
        %vu8Mask_3.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]           ; <i8> [#uses=1]
 
263
        %vu8Mask_4.1 = phi i8 [ 0, %bb297 ], [ 0, %bb210.preheader ]            ; <i8> [#uses=0]
 
264
        %vu8Mask_5.1 = phi i8 [ 0, %bb297 ], [ 0, %bb210.preheader ]            ; <i8> [#uses=1]
 
265
        %vu8Mask_6.1 = phi i8 [ 0, %bb297 ], [ 0, %bb210.preheader ]            ; <i8> [#uses=0]
 
266
        %vu8Mask_7.1 = phi i8 [ 0, %bb297 ], [ 0, %bb210.preheader ]            ; <i8> [#uses=1]
 
267
        %vu8Mask_12.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]          ; <i8> [#uses=0]
 
268
        %vu8Mask_13.1 = phi i8 [ -1, %bb297 ], [ 0, %bb210.preheader ]          ; <i8> [#uses=0]
 
269
        icmp eq i32 %118, 2             ; <i1>:121 [#uses=0]
 
270
        and i8 %vu8Mask_1.1, 3          ; <i8>:122 [#uses=0]
 
271
        and i8 %vu8Mask_5.1, 3          ; <i8>:123 [#uses=0]
 
272
        and i8 %vu8Mask_3.1, %18                ; <i8>:124 [#uses=0]
 
273
        and i8 %vu8Mask_7.1, %18                ; <i8>:125 [#uses=0]
 
274
        icmp eq i8 %104, %107           ; <i1>:126 [#uses=1]
 
275
        br i1 %126, label %bb328, label %bb303
 
276
 
 
277
bb303:          ; preds = %bb298
 
278
        call i16 @llvm.bswap.i16( i16 %81 )             ; <i16>:127 [#uses=1]
 
279
        sub i16 %63, %77                ; <i16>:128 [#uses=3]
 
280
        sub i16 %65, %79                ; <i16>:129 [#uses=3]
 
281
        sub i16 %67, %73                ; <i16>:130 [#uses=3]
 
282
        sub i16 %69, %75                ; <i16>:131 [#uses=3]
 
283
        sub i16 %71, %127               ; <i16>:132 [#uses=3]
 
284
        sub i16 0, %128         ; <i16>:133 [#uses=1]
 
285
        icmp slt i16 %128, 0            ; <i1>:134 [#uses=1]
 
286
        %.673 = select i1 %134, i16 %133, i16 %128              ; <i16> [#uses=1]
 
287
        sub i16 0, %129         ; <i16>:135 [#uses=1]
 
288
        icmp slt i16 %129, 0            ; <i1>:136 [#uses=1]
 
289
        %.674 = select i1 %136, i16 %135, i16 %129              ; <i16> [#uses=1]
 
290
        sub i16 0, %130         ; <i16>:137 [#uses=1]
 
291
        icmp slt i16 %130, 0            ; <i1>:138 [#uses=1]
 
292
        %.675 = select i1 %138, i16 %137, i16 %130              ; <i16> [#uses=1]
 
293
        sub i16 0, %131         ; <i16>:139 [#uses=1]
 
294
        icmp slt i16 %131, 0            ; <i1>:140 [#uses=1]
 
295
        %.676 = select i1 %140, i16 %139, i16 %131              ; <i16> [#uses=1]
 
296
        sub i16 0, %132         ; <i16>:141 [#uses=1]
 
297
        icmp slt i16 %132, 0            ; <i1>:142 [#uses=1]
 
298
        %.677 = select i1 %142, i16 %141, i16 %132              ; <i16> [#uses=1]
 
299
        br label %bb328
 
300
 
 
301
bb328:          ; preds = %bb303, %bb298
 
302
        %vu16Delta_0.0 = phi i16 [ %.673, %bb303 ], [ %., %bb298 ]              ; <i16> [#uses=1]
 
303
        %vu16Delta_1.0 = phi i16 [ %.674, %bb303 ], [ %.660, %bb298 ]           ; <i16> [#uses=0]
 
304
        %vu16Delta_2.0 = phi i16 [ %.675, %bb303 ], [ %.661, %bb298 ]           ; <i16> [#uses=0]
 
305
        %vu16Delta_3.0 = phi i16 [ %.676, %bb303 ], [ %.662, %bb298 ]           ; <i16> [#uses=0]
 
306
        %vu16Delta_6.0 = phi i16 [ %.677, %bb303 ], [ %.663, %bb298 ]           ; <i16> [#uses=0]
 
307
        lshr i16 %vu16Delta_0.0, 8              ; <i16>:143 [#uses=1]
 
308
        trunc i16 %143 to i8            ; <i8>:144 [#uses=1]
 
309
        and i8 %144, %vu8Mask_0.1               ; <i8>:145 [#uses=1]
 
310
        icmp eq i8 %145, 0              ; <i1>:146 [#uses=0]
 
311
        sub i32 %105, %114              ; <i32>:147 [#uses=1]
 
312
        sub i32 %111, %108              ; <i32>:148 [#uses=1]
 
313
        or i32 %147, %148               ; <i32>:149 [#uses=1]
 
314
        icmp eq i32 %149, 0             ; <i1>:150 [#uses=0]
 
315
        call i32 @_Z54S_CalcIfLargeMVDeltaForBMbBothPredictionsFromSameFramePK19BiPartSrcDescriptorS1_ijj( %struct.BiPartSrcDescriptor* %57, %struct.BiPartSrcDescriptor* %59, i32 %19, i32 0, i32 0 ) nounwind                 ; <i32>:151 [#uses=0]
 
316
        unreachable
 
317
 
 
318
labelContinueEdgesLoopV:                ; preds = %bb206, %bb205, %bb144
 
319
        %fEdgeHasNonZeroBS.0 = phi i32 [ 0, %bb205 ], [ 0, %bb144 ], [ 1, %bb206 ]              ; <i32> [#uses=2]
 
320
        %fMacroblockHasNonZeroBS.6 = phi i32 [ %152, %bb205 ], [ %fMacroblockHasNonZeroBS.4, %bb144 ], [ %152, %bb206 ]         ; <i32> [#uses=1]
 
321
        %ixEdge.1 = phi i32 [ %160, %bb205 ], [ 0, %bb144 ], [ %160, %bb206 ]           ; <i32> [#uses=1]
 
322
        %bfNZ12.2 = phi i32 [ %159, %bb205 ], [ 0, %bb144 ], [ %159, %bb206 ]           ; <i32> [#uses=1]
 
323
        %boundaryStrengthsV.3 = phi i8* [ %158, %bb205 ], [ %boundaryStrengthsV.1771, %bb144 ], [ %158, %bb206 ]                ; <i8*> [#uses=3]
 
324
        or i32 %fMacroblockHasNonZeroBS.6, %fEdgeHasNonZeroBS.0         ; <i32>:152 [#uses=2]
 
325
        load i8* %boundaryStrengthsV.3, align 1         ; <i8>:153 [#uses=1]
 
326
        trunc i32 %fEdgeHasNonZeroBS.0 to i8            ; <i8>:154 [#uses=1]
 
327
        shl i8 %154, 5          ; <i8>:155 [#uses=1]
 
328
        xor i8 %155, 32         ; <i8>:156 [#uses=1]
 
329
        or i8 %153, %156                ; <i8>:157 [#uses=1]
 
330
        store i8 %157, i8* %boundaryStrengthsV.3, align 1
 
331
        getelementptr i8* %boundaryStrengthsV.3, i32 4          ; <i8*>:158 [#uses=4]
 
332
        shl i32 %bfNZ12.2, 4            ; <i32>:159 [#uses=4]
 
333
        add i32 %ixEdge.1, 1            ; <i32>:160 [#uses=6]
 
334
        icmp ult i32 %160, %numEdgesToTest.2            ; <i1>:161 [#uses=1]
 
335
        br i1 %161, label %bb200, label %bb395
 
336
 
 
337
bb395:          ; preds = %labelContinueEdgesLoopV
 
338
        add i32 %idxEachField11.0773, 1         ; <i32>:162 [#uses=2]
 
339
        icmp ugt i32 %162, 0            ; <i1>:163 [#uses=1]
 
340
        br i1 %163, label %bb398, label %bb144
 
341
 
 
342
bb398:          ; preds = %bb395
 
343
        call void asm sideeffect "dcbt $0, $1", "b%,r,~{memory}"( i32 19, i32* null ) nounwind 
 
344
        unreachable
 
345
 
 
346
bb642:          ; preds = %entry
 
347
        ret i32 0
 
348
}
 
349
 
 
350
declare i16 @llvm.bswap.i16(i16) nounwind readnone 
 
351
 
 
352
declare i8* @jvtNewPtrVectorAligned(i32)
 
353
 
 
354
declare i8* @jvtNewPtr(i32)
 
355
 
 
356
declare i8* @jvtNewPtrMemAligned(i32)
 
357
 
 
358
declare %struct.Mutex* @MutexNew()
 
359
 
 
360
declare i8* @_Znam(i32)
 
361
 
 
362
declare i32 @_Z24LoopFilter_FilterMbGroupP14LoopFilterInfoP11FramePixelsP22FrameMotionVectorCacheP19ThreadedBatchStructjjij(%struct.LoopFilterInfo*, %struct.FramePixels*, %struct.FrameMotionVectorCache*, %struct.ThreadedBatch*, i32, i32, i32, i32)
 
363
 
 
364
declare void @MutexLock(%struct.Mutex*)
 
365
 
 
366
declare void @MutexUnlock(%struct.Mutex*)
 
367
 
 
368
declare i32 @_Z35LoopFilter_Internal_FilterLumaPlanePK14LoopFilterInfojjjjj(%struct.LoopFilterInfo*, i32, i32, i32, i32, i32)
 
369
 
 
370
declare i32 @_Z37LoopFilter_Internal_FilterChromaPlanePK14LoopFilterInfojjjjj(%struct.LoopFilterInfo*, i32, i32, i32, i32, i32)
 
371
 
 
372
declare void @_Z44LoopFilter_Internal_filter_macroblock_chromaPK14LoopFilterInfoPhS2_iiiPK30PerMacroblockBoundaryStrengthsjj(%struct.LoopFilterInfo*, i8*, i8*, i32, i32, i32, %struct.PerMacroblockBoundaryStrengths*, i32, i32) nounwind 
 
373
 
 
374
declare i32 @_Z42LoopFilter_Internal_FilterChromaPlaneMBAFFPK14LoopFilterInfojjj(%struct.LoopFilterInfo*, i32, i32, i32) nounwind 
 
375
 
 
376
declare i32 @_Z26LF_Threading2_ProcessTasksP14LoopFilterInfoP11FramePixelsP22FrameMotionVectorCacheij(%struct.LoopFilterInfo*, %struct.FramePixels*, %struct.FrameMotionVectorCache*, i32, i32)
 
377
 
 
378
declare i32 @_Z46LoopFilter_Internal_CalculateBoundaryStrengthsPK14LoopFilterInfoP22FrameMotionVectorCachejj(%struct.LoopFilterInfo*, %struct.FrameMotionVectorCache*, i32, i32)
 
379
 
 
380
declare i32 @_Z44LoopFilter_Internal_FilterLumaChromaPlane_PPP14LoopFilterInfojjjjj(%struct.LoopFilterInfo*, i32, i32, i32, i32, i32)
 
381
 
 
382
declare i32 @_Z22LoopFilter_FilterFrameP14LoopFilterInfoP11FramePixelsP22FrameMotionVectorCacheP19ThreadedBatchStructij(%struct.LoopFilterInfo*, %struct.FramePixels*, %struct.FrameMotionVectorCache*, %struct.ThreadedBatch*, i32, i32)
 
383
 
 
384
declare void @_Z34LF_Threading2_ProcessTasks_WrapperPv(i8*)
 
385
 
 
386
declare void @llvm.memset.i64(i8*, i8, i64, i32) nounwind