94
94
for.body: ; preds = %for.body, %entry
95
95
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
96
96
%arrayidx8 = getelementptr inbounds [4 x i32]* %m1, i64 %indvars.iv, i64 0
97
%tmp = load i32* %arrayidx8, align 4, !tbaa !0
97
%tmp = load i32* %arrayidx8, align 4
98
98
%arrayidx12 = getelementptr inbounds [4 x i32]* %m2, i64 0, i64 0
99
%tmp1 = load i32* %arrayidx12, align 4, !tbaa !0
99
%tmp1 = load i32* %arrayidx12, align 4
100
100
%arrayidx8.1 = getelementptr inbounds [4 x i32]* %m1, i64 %indvars.iv, i64 1
101
%tmp2 = load i32* %arrayidx8.1, align 4, !tbaa !0
101
%tmp2 = load i32* %arrayidx8.1, align 4
102
102
%arrayidx12.1 = getelementptr inbounds [4 x i32]* %m2, i64 1, i64 0
103
%tmp3 = load i32* %arrayidx12.1, align 4, !tbaa !0
103
%tmp3 = load i32* %arrayidx12.1, align 4
104
104
%arrayidx8.2 = getelementptr inbounds [4 x i32]* %m1, i64 %indvars.iv, i64 2
105
%tmp4 = load i32* %arrayidx8.2, align 4, !tbaa !0
105
%tmp4 = load i32* %arrayidx8.2, align 4
106
106
%arrayidx12.2 = getelementptr inbounds [4 x i32]* %m2, i64 2, i64 0
107
%tmp5 = load i32* %arrayidx12.2, align 4, !tbaa !0
107
%tmp5 = load i32* %arrayidx12.2, align 4
108
108
%arrayidx8.3 = getelementptr inbounds [4 x i32]* %m1, i64 %indvars.iv, i64 3
109
%tmp6 = load i32* %arrayidx8.3, align 4, !tbaa !0
109
%tmp6 = load i32* %arrayidx8.3, align 4
110
110
%arrayidx12.3 = getelementptr inbounds [4 x i32]* %m2, i64 3, i64 0
111
%tmp8 = load i32* %arrayidx8, align 4, !tbaa !0
111
%tmp8 = load i32* %arrayidx8, align 4
112
112
%arrayidx12.137 = getelementptr inbounds [4 x i32]* %m2, i64 0, i64 1
113
%tmp9 = load i32* %arrayidx12.137, align 4, !tbaa !0
114
%tmp10 = load i32* %arrayidx8.1, align 4, !tbaa !0
113
%tmp9 = load i32* %arrayidx12.137, align 4
114
%tmp10 = load i32* %arrayidx8.1, align 4
115
115
%arrayidx12.1.1 = getelementptr inbounds [4 x i32]* %m2, i64 1, i64 1
116
%tmp11 = load i32* %arrayidx12.1.1, align 4, !tbaa !0
117
%tmp12 = load i32* %arrayidx8.2, align 4, !tbaa !0
116
%tmp11 = load i32* %arrayidx12.1.1, align 4
117
%tmp12 = load i32* %arrayidx8.2, align 4
118
118
%arrayidx12.2.1 = getelementptr inbounds [4 x i32]* %m2, i64 2, i64 1
119
%tmp13 = load i32* %arrayidx12.2.1, align 4, !tbaa !0
120
%tmp14 = load i32* %arrayidx8.3, align 4, !tbaa !0
119
%tmp13 = load i32* %arrayidx12.2.1, align 4
120
%tmp14 = load i32* %arrayidx8.3, align 4
121
121
%arrayidx12.3.1 = getelementptr inbounds [4 x i32]* %m2, i64 3, i64 1
122
%tmp15 = load i32* %arrayidx12.3.1, align 4, !tbaa !0
123
%tmp16 = load i32* %arrayidx8, align 4, !tbaa !0
122
%tmp15 = load i32* %arrayidx12.3.1, align 4
123
%tmp16 = load i32* %arrayidx8, align 4
124
124
%arrayidx12.239 = getelementptr inbounds [4 x i32]* %m2, i64 0, i64 2
125
%tmp17 = load i32* %arrayidx12.239, align 4, !tbaa !0
126
%tmp18 = load i32* %arrayidx8.1, align 4, !tbaa !0
125
%tmp17 = load i32* %arrayidx12.239, align 4
126
%tmp18 = load i32* %arrayidx8.1, align 4
127
127
%arrayidx12.1.2 = getelementptr inbounds [4 x i32]* %m2, i64 1, i64 2
128
%tmp19 = load i32* %arrayidx12.1.2, align 4, !tbaa !0
129
%tmp20 = load i32* %arrayidx8.2, align 4, !tbaa !0
128
%tmp19 = load i32* %arrayidx12.1.2, align 4
129
%tmp20 = load i32* %arrayidx8.2, align 4
130
130
%arrayidx12.2.2 = getelementptr inbounds [4 x i32]* %m2, i64 2, i64 2
131
%tmp21 = load i32* %arrayidx12.2.2, align 4, !tbaa !0
132
%tmp22 = load i32* %arrayidx8.3, align 4, !tbaa !0
131
%tmp21 = load i32* %arrayidx12.2.2, align 4
132
%tmp22 = load i32* %arrayidx8.3, align 4
133
133
%arrayidx12.3.2 = getelementptr inbounds [4 x i32]* %m2, i64 3, i64 2
134
%tmp23 = load i32* %arrayidx12.3.2, align 4, !tbaa !0
135
%tmp24 = load i32* %arrayidx8, align 4, !tbaa !0
134
%tmp23 = load i32* %arrayidx12.3.2, align 4
135
%tmp24 = load i32* %arrayidx8, align 4
136
136
%arrayidx12.341 = getelementptr inbounds [4 x i32]* %m2, i64 0, i64 3
137
%tmp25 = load i32* %arrayidx12.341, align 4, !tbaa !0
138
%tmp26 = load i32* %arrayidx8.1, align 4, !tbaa !0
137
%tmp25 = load i32* %arrayidx12.341, align 4
138
%tmp26 = load i32* %arrayidx8.1, align 4
139
139
%arrayidx12.1.3 = getelementptr inbounds [4 x i32]* %m2, i64 1, i64 3
140
%tmp27 = load i32* %arrayidx12.1.3, align 4, !tbaa !0
141
%tmp28 = load i32* %arrayidx8.2, align 4, !tbaa !0
140
%tmp27 = load i32* %arrayidx12.1.3, align 4
141
%tmp28 = load i32* %arrayidx8.2, align 4
142
142
%arrayidx12.2.3 = getelementptr inbounds [4 x i32]* %m2, i64 2, i64 3
143
%tmp29 = load i32* %arrayidx12.2.3, align 4, !tbaa !0
144
%tmp30 = load i32* %arrayidx8.3, align 4, !tbaa !0
143
%tmp29 = load i32* %arrayidx12.2.3, align 4
144
%tmp30 = load i32* %arrayidx8.3, align 4
145
145
%arrayidx12.3.3 = getelementptr inbounds [4 x i32]* %m2, i64 3, i64 3
146
%tmp31 = load i32* %arrayidx12.3.3, align 4, !tbaa !0
147
%tmp7 = load i32* %arrayidx12.3, align 4, !tbaa !0
146
%tmp31 = load i32* %arrayidx12.3.3, align 4
147
%tmp7 = load i32* %arrayidx12.3, align 4
148
148
%mul = mul nsw i32 %tmp1, %tmp
149
149
%mul.1 = mul nsw i32 %tmp3, %tmp2
150
150
%mul.2 = mul nsw i32 %tmp5, %tmp4
174
174
%add.2.3 = add nsw i32 %mul.2.3, %add.1.3
175
175
%add.3.3 = add nsw i32 %mul.3.3, %add.2.3
176
176
%arrayidx16 = getelementptr inbounds [4 x i32]* %m3, i64 %indvars.iv, i64 0
177
store i32 %add.3, i32* %arrayidx16, align 4, !tbaa !0
177
store i32 %add.3, i32* %arrayidx16, align 4
178
178
%arrayidx16.1 = getelementptr inbounds [4 x i32]* %m3, i64 %indvars.iv, i64 1
179
store i32 %add.3.1, i32* %arrayidx16.1, align 4, !tbaa !0
179
store i32 %add.3.1, i32* %arrayidx16.1, align 4
180
180
%arrayidx16.2 = getelementptr inbounds [4 x i32]* %m3, i64 %indvars.iv, i64 2
181
store i32 %add.3.2, i32* %arrayidx16.2, align 4, !tbaa !0
181
store i32 %add.3.2, i32* %arrayidx16.2, align 4
182
182
%arrayidx16.3 = getelementptr inbounds [4 x i32]* %m3, i64 %indvars.iv, i64 3
183
store i32 %add.3.3, i32* %arrayidx16.3, align 4, !tbaa !0
183
store i32 %add.3.3, i32* %arrayidx16.3, align 4
184
184
%indvars.iv.next = add i64 %indvars.iv, 1
185
185
%lftr.wideiv = trunc i64 %indvars.iv.next to i32
186
186
%exitcond = icmp eq i32 %lftr.wideiv, 4