Skip to content

Instantly share code, notes, and snippets.

@mohamedadaly
Created June 7, 2018 23:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mohamedadaly/57d62a71f6acee21be0883b487cf2e7d to your computer and use it in GitHub Desktop.
Save mohamedadaly/57d62a71f6acee21be0883b487cf2e7d to your computer and use it in GitHub Desktop.
"for conv.s1.r$x.r$x": ; preds = %"for conv.s1.r$x.r$x", %"for conv.s1.r$x.r$x.preheader"
%conv20.sroa.0.0 = phi <4 x i32> [ %303, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.4.0 = phi <4 x i32> [ %304, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.8.0 = phi <4 x i32> [ %305, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.12.0 = phi <4 x i32> [ %311, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.16.0 = phi <4 x i32> [ %312, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.20.0 = phi <4 x i32> [ %313, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.24.0 = phi <4 x i32> [ %319, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.28.0 = phi <4 x i32> [ %320, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.32.0 = phi <4 x i32> [ %321, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.36.0 = phi <4 x i32> [ %327, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.40.0 = phi <4 x i32> [ %328, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%conv20.sroa.44.0 = phi <4 x i32> [ %329, %"for conv.s1.r$x.r$x" ], [ zeroinitializer, %"for conv.s1.r$x.r$x.preheader" ]
%"conv.s1.r$x.r$x" = phi i32 [ %330, %"for conv.s1.r$x.r$x" ], [ 0, %"for conv.s1.r$x.r$x.preheader" ]
%264 = add nsw i32 %"conv.s1.r$x.r$x", %t398
%265 = getelementptr inbounds i8, i8* %right_in_elwise, i32 %264
%266 = load i8, i8* %265, align 1, !tbaa !42
%267 = insertelement <12 x i8> undef, i8 %266, i32 0
%268 = shufflevector <12 x i8> %267, <12 x i8> undef, <12 x i32> zeroinitializer
%269 = zext <12 x i8> %268 to <12 x i16>
%270 = mul nsw i32 %"conv.s1.r$x.r$x", %t337
%271 = add nsw i32 %t413, %270
%272 = getelementptr inbounds i8, i8* %left_global_wrapper, i32 %271
%273 = bitcast i8* %272 to <12 x i8>*
%274 = load <12 x i8>, <12 x i8>* %273, align 1, !tbaa !46
%275 = zext <12 x i8> %274 to <12 x i16>
%276 = mul nuw <12 x i16> %269, %275
%277 = add nsw i32 %"conv.s1.r$x.r$x", %t399
%278 = getelementptr inbounds i8, i8* %right_in_elwise, i32 %277
%279 = load i8, i8* %278, align 1, !tbaa !42
%280 = insertelement <12 x i8> undef, i8 %279, i32 0
%281 = shufflevector <12 x i8> %280, <12 x i8> undef, <12 x i32> zeroinitializer
%282 = zext <12 x i8> %281 to <12 x i16>
%283 = mul nuw <12 x i16> %282, %275
%284 = add nsw i32 %"conv.s1.r$x.r$x", %t400
%285 = getelementptr inbounds i8, i8* %right_in_elwise, i32 %284
%286 = load i8, i8* %285, align 1, !tbaa !42
%287 = insertelement <12 x i8> undef, i8 %286, i32 0
%288 = shufflevector <12 x i8> %287, <12 x i8> undef, <12 x i32> zeroinitializer
%289 = zext <12 x i8> %288 to <12 x i16>
%290 = mul nuw <12 x i16> %289, %275
%291 = add nsw i32 %"conv.s1.r$x.r$x", %t401
%292 = getelementptr inbounds i8, i8* %right_in_elwise, i32 %291
%293 = load i8, i8* %292, align 1, !tbaa !42
%294 = insertelement <12 x i8> undef, i8 %293, i32 0
%295 = shufflevector <12 x i8> %294, <12 x i8> undef, <12 x i32> zeroinitializer
%296 = zext <12 x i8> %295 to <12 x i16>
%297 = mul nuw <12 x i16> %296, %275
%298 = zext <12 x i16> %276 to <12 x i32>
%299 = shufflevector <4 x i32> %conv20.sroa.0.0, <4 x i32> %conv20.sroa.4.0, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
%300 = shufflevector <4 x i32> %conv20.sroa.8.0, <4 x i32> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%301 = shufflevector <8 x i32> %299, <8 x i32> %300, <12 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
%302 = add <12 x i32> %301, %298
%303 = shufflevector <12 x i32> %302, <12 x i32> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%304 = shufflevector <12 x i32> %302, <12 x i32> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
%305 = shufflevector <12 x i32> %302, <12 x i32> undef, <4 x i32> <i32 8, i32 9, i32 10, i32 11>
%306 = zext <12 x i16> %283 to <12 x i32>
%307 = shufflevector <4 x i32> %conv20.sroa.12.0, <4 x i32> %conv20.sroa.16.0, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
%308 = shufflevector <4 x i32> %conv20.sroa.20.0, <4 x i32> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%309 = shufflevector <8 x i32> %307, <8 x i32> %308, <12 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
%310 = add <12 x i32> %309, %306
%311 = shufflevector <12 x i32> %310, <12 x i32> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%312 = shufflevector <12 x i32> %310, <12 x i32> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
%313 = shufflevector <12 x i32> %310, <12 x i32> undef, <4 x i32> <i32 8, i32 9, i32 10, i32 11>
%314 = zext <12 x i16> %290 to <12 x i32>
%315 = shufflevector <4 x i32> %conv20.sroa.24.0, <4 x i32> %conv20.sroa.28.0, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
%316 = shufflevector <4 x i32> %conv20.sroa.32.0, <4 x i32> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%317 = shufflevector <8 x i32> %315, <8 x i32> %316, <12 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
%318 = add <12 x i32> %317, %314
%319 = shufflevector <12 x i32> %318, <12 x i32> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%320 = shufflevector <12 x i32> %318, <12 x i32> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
%321 = shufflevector <12 x i32> %318, <12 x i32> undef, <4 x i32> <i32 8, i32 9, i32 10, i32 11>
%322 = zext <12 x i16> %297 to <12 x i32>
%323 = shufflevector <4 x i32> %conv20.sroa.36.0, <4 x i32> %conv20.sroa.40.0, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
%324 = shufflevector <4 x i32> %conv20.sroa.44.0, <4 x i32> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%325 = shufflevector <8 x i32> %323, <8 x i32> %324, <12 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
%326 = add <12 x i32> %325, %322
%327 = shufflevector <12 x i32> %326, <12 x i32> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%328 = shufflevector <12 x i32> %326, <12 x i32> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
%329 = shufflevector <12 x i32> %326, <12 x i32> undef, <4 x i32> <i32 8, i32 9, i32 10, i32 11>
%330 = add nuw nsw i32 %"conv.s1.r$x.r$x", 1
%331 = icmp eq i32 %330, %lhs.extent.1
br i1 %331, label %"consume conv", label %"for conv.s1.r$x.r$x"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment