From d5278d89f75e3981463ba1d63166320d6f72aba4 Mon Sep 17 00:00:00 2001 From: Yingwei Zheng Date: Wed, 10 Apr 2024 04:07:29 +0800 Subject: [PATCH 1/2] pre-commit: test PR88183 PR Link: https://github.com/llvm/llvm-project/pull/88183 --- scripts/setup_pre_commit_patch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index e65287a7be9..9caf1b11e47 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID="llvm/llvm-project/pull/88183" # Please rebase manually # git fetch origin From 5f85243fb1a70df41d3732d810495eda52f25eee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:45:19 +0800 Subject: [PATCH 2/2] pre-commit: Update --- bench/cmake/optimized/cfilters.c.ll | 2 +- bench/curl/optimized/libcurl_la-cfilters.ll | 2 +- bench/darktable/optimized/image.c.ll | 355 +- bench/jemalloc/optimized/jemalloc.ll | 23 +- bench/jemalloc/optimized/jemalloc.pic.ll | 23 +- bench/jemalloc/optimized/jemalloc.sym.ll | 23 +- bench/libquic/optimized/time_posix.cc.ll | 18 +- .../optimized/intel_display_power_well.ll | 59 +- bench/linux/optimized/intel_hdcp.ll | 1450 +- bench/linux/optimized/pcm_misc.ll | 17 +- bench/linux/optimized/trace_sched_switch.ll | 62 +- bench/linux/optimized/vgaarb.ll | 2 +- .../optimized/filter_color_projection.cpp.ll | 22 +- bench/meshlab/optimized/filter_texture.cpp.ll | 22 +- .../optimized/texture_rendering.cpp.ll | 24 +- bench/mitsuba3/optimized/x86assembler.cpp.ll | 14082 ++++++++-------- .../optimized/libssl-lib-quic_reactor.ll | 21 +- .../optimized/libssl-shlib-quic_reactor.ll | 21 +- bench/postgres/optimized/inv_api.ll | 163 +- bench/postgres/optimized/spgutils.ll | 320 +- bench/qemu/optimized/hw_usb_dev-hub.c.ll | 33 +- bench/qemu/optimized/tcg.c.ll | 2965 ++-- bench/redis/optimized/jemalloc.ll | 23 +- bench/redis/optimized/jemalloc.sym.ll | 23 +- bench/sqlite/optimized/sqlite3.ll | 12 +- 25 files changed, 9880 insertions(+), 9887 deletions(-) diff --git a/bench/cmake/optimized/cfilters.c.ll b/bench/cmake/optimized/cfilters.c.ll index db973f6570e..e7ccf172b97 100644 --- a/bench/cmake/optimized/cfilters.c.ll +++ b/bench/cmake/optimized/cfilters.c.ll @@ -1817,7 +1817,7 @@ define dso_local void @Curl_pollset_set(ptr nocapture noundef readnone %0, ptr n br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !20 ._crit_edge.i: ; preds = %43, %.preheader.i - %44 = icmp ne i32 %8, 0 + %44 = or i1 %3, %4 %45 = icmp ult i32 %15, 5 %or.cond.i = and i1 %44, %45 br i1 %or.cond.i, label %46, label %Curl_pollset_change.exit diff --git a/bench/curl/optimized/libcurl_la-cfilters.ll b/bench/curl/optimized/libcurl_la-cfilters.ll index c388af8a057..0130cfe73a0 100644 --- a/bench/curl/optimized/libcurl_la-cfilters.ll +++ b/bench/curl/optimized/libcurl_la-cfilters.ll @@ -1867,7 +1867,7 @@ for.inc.i: ; preds = %for.body.i br i1 %exitcond.not.i, label %for.end.i, label %for.body.i, !llvm.loop !19 for.end.i: ; preds = %for.inc.i, %for.cond.preheader.i - %tobool56.i = icmp ne i32 %or, 0 + %tobool56.i = or i1 %do_in, %do_out %cmp60.i = icmp ult i32 %0, 5 %or.cond.i = and i1 %tobool56.i, %cmp60.i br i1 %or.cond.i, label %if.then62.i, label %Curl_pollset_change.exit diff --git a/bench/darktable/optimized/image.c.ll b/bench/darktable/optimized/image.c.ll index 30f8b838537..b43905bb8da 100644 --- a/bench/darktable/optimized/image.c.ll +++ b/bench/darktable/optimized/image.c.ll @@ -1406,7 +1406,7 @@ define internal fastcc void @_execute_metadata(ptr nocapture readonly %0, i32 no %9 = load i32, ptr %8, align 8, !tbaa !13 %10 = tail call ptr @dt_act_on_get_images(i32 noundef 0, i32 noundef 1, i32 noundef 0) #9 %11 = icmp eq ptr %10, null - br i1 %11, label %121, label %12 + br i1 %11, label %122, label %12 12: ; preds = %2 %13 = icmp eq i32 %3, 0 @@ -1421,199 +1421,200 @@ define internal fastcc void @_execute_metadata(ptr nocapture readonly %0, i32 no %22 = zext i1 %21 to i32 %23 = or disjoint i32 %20, %22 %24 = icmp eq i32 %7, 0 - %25 = select i1 %24, i32 0, i32 32 - %26 = or disjoint i32 %23, %25 - %27 = icmp eq i32 %26, 0 - br i1 %27, label %30, label %28 - -28: ; preds = %12 - %29 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 27), align 8, !tbaa !73 - tail call void @dt_undo_start_group(ptr noundef %29, i32 noundef %26) #9 - br label %30 + %25 = or i32 %23, %7 + %26 = icmp eq i32 %25, 0 + br i1 %26, label %31, label %27 + +27: ; preds = %12 + %28 = select i1 %24, i32 0, i32 32 + %29 = or disjoint i32 %23, %28 + %30 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 27), align 8, !tbaa !73 + tail call void @dt_undo_start_group(ptr noundef %30, i32 noundef %29) #9 + br label %31 + +31: ; preds = %27, %12 + br i1 %13, label %38, label %32 + +32: ; preds = %31 + %33 = icmp eq i32 %1, 2 + br i1 %33, label %36, label %34 + +34: ; preds = %32 + %35 = tail call i32 @dt_ratings_get(i32 noundef %9) #9 + br label %36 -30: ; preds = %28, %12 - br i1 %13, label %37, label %31 - -31: ; preds = %30 - %32 = icmp eq i32 %1, 2 - br i1 %32, label %35, label %33 - -33: ; preds = %31 - %34 = tail call i32 @dt_ratings_get(i32 noundef %9) #9 - br label %35 - -35: ; preds = %33, %31 - %36 = phi i32 [ %34, %33 ], [ 0, %31 ] - tail call void @dt_ratings_apply_on_list(ptr noundef nonnull %10, i32 noundef %36, i32 noundef 1) #9 - br label %37 - -37: ; preds = %35, %30 - br i1 %15, label %46, label %38 - -38: ; preds = %37 - %39 = icmp eq i32 %1, 2 - br i1 %39, label %42, label %40 - -40: ; preds = %38 - %41 = tail call i32 @dt_colorlabels_get_labels(i32 noundef %9) #9 - br label %42 - -42: ; preds = %40, %38 - %43 = phi i32 [ %41, %40 ], [ 0, %38 ] - %44 = icmp ne i32 %1, 1 - %45 = zext i1 %44 to i32 - tail call void @dt_colorlabels_set_labels(ptr noundef nonnull %10, i32 noundef %43, i32 noundef %45, i32 noundef 1) #9 - br label %46 - -46: ; preds = %42, %37 - br i1 %18, label %68, label %47 - -47: ; preds = %46 - %48 = icmp eq i32 %1, 2 - br i1 %48, label %51, label %49 - -49: ; preds = %47 - %50 = tail call ptr @dt_metadata_get_list_id(i32 noundef %9) #9 - br label %51 - -51: ; preds = %49, %47 - %52 = phi ptr [ %50, %49 ], [ null, %47 ] - %53 = icmp ne i32 %1, 1 - %54 = zext i1 %53 to i32 - tail call void @dt_metadata_set_list_id(ptr noundef nonnull %10, ptr noundef %52, i32 noundef %54, i32 noundef 1) #9 - %55 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 - %56 = and i32 %55, 1 - %57 = icmp ne i32 %56, 0 - %58 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53), align 4 - %59 = icmp ne i32 %58, 0 - %60 = select i1 %57, i1 %59, i1 false - br i1 %60, label %61, label %66 - -61: ; preds = %51 - %62 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 - %63 = and i32 %62, 1048576 - %64 = icmp eq i32 %63, 0 - br i1 %64, label %66, label %65 - -65: ; preds = %61 +36: ; preds = %34, %32 + %37 = phi i32 [ %35, %34 ], [ 0, %32 ] + tail call void @dt_ratings_apply_on_list(ptr noundef nonnull %10, i32 noundef %37, i32 noundef 1) #9 + br label %38 + +38: ; preds = %36, %31 + br i1 %15, label %47, label %39 + +39: ; preds = %38 + %40 = icmp eq i32 %1, 2 + br i1 %40, label %43, label %41 + +41: ; preds = %39 + %42 = tail call i32 @dt_colorlabels_get_labels(i32 noundef %9) #9 + br label %43 + +43: ; preds = %41, %39 + %44 = phi i32 [ %42, %41 ], [ 0, %39 ] + %45 = icmp ne i32 %1, 1 + %46 = zext i1 %45 to i32 + tail call void @dt_colorlabels_set_labels(ptr noundef nonnull %10, i32 noundef %44, i32 noundef %46, i32 noundef 1) #9 + br label %47 + +47: ; preds = %43, %38 + br i1 %18, label %69, label %48 + +48: ; preds = %47 + %49 = icmp eq i32 %1, 2 + br i1 %49, label %52, label %50 + +50: ; preds = %48 + %51 = tail call ptr @dt_metadata_get_list_id(i32 noundef %9) #9 + br label %52 + +52: ; preds = %50, %48 + %53 = phi ptr [ %51, %50 ], [ null, %48 ] + %54 = icmp ne i32 %1, 1 + %55 = zext i1 %54 to i32 + tail call void @dt_metadata_set_list_id(ptr noundef nonnull %10, ptr noundef %53, i32 noundef %55, i32 noundef 1) #9 + %56 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 + %57 = and i32 %56, 1 + %58 = icmp ne i32 %57, 0 + %59 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53), align 4 + %60 = icmp ne i32 %59, 0 + %61 = select i1 %58, i1 %60, i1 false + br i1 %61, label %62, label %67 + +62: ; preds = %52 + %63 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 + %64 = and i32 %63, 1048576 + %65 = icmp eq i32 %64, 0 + br i1 %65, label %67, label %66 + +66: ; preds = %62 tail call void (ptr, ...) @dt_print_ext(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef nonnull @__FUNCTION__._execute_metadata, ptr noundef nonnull @.str.72) #9 - br label %66 + br label %67 -66: ; preds = %65, %61, %51 - %67 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 - tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %67, i32 noundef 0) #9 - tail call void @g_list_free_full(ptr noundef %52, ptr noundef nonnull @g_free) #9 - br label %68 +67: ; preds = %66, %62, %52 + %68 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 + tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %68, i32 noundef 0) #9 + tail call void @g_list_free_full(ptr noundef %53, ptr noundef nonnull @g_free) #9 + br label %69 -68: ; preds = %66, %46 - br i1 %21, label %69, label %90 +69: ; preds = %67, %47 + br i1 %21, label %70, label %91 + +70: ; preds = %69 + %71 = tail call noalias dereferenceable_or_null(24) ptr @malloc(i64 noundef 24) #12 + %72 = icmp eq i32 %1, 2 + br i1 %72, label %73, label %75 + +73: ; preds = %70 + %74 = getelementptr inbounds i8, ptr %71, i64 16 + store double 0x7FF8000000000000, ptr %74, align 8, !tbaa !74 + store <2 x double> , ptr %71, align 8, !tbaa !75 + br label %76 + +75: ; preds = %70 + tail call void @dt_image_get_location(i32 noundef %9, ptr noundef %71) #9 + br label %76 + +76: ; preds = %75, %73 + tail call void @dt_image_set_locations(ptr noundef nonnull %10, ptr noundef %71, i32 noundef 1) #9 + %77 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 + %78 = and i32 %77, 1 + %79 = icmp ne i32 %78, 0 + %80 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53, i64 10), align 4 + %81 = icmp ne i32 %80, 0 + %82 = select i1 %79, i1 %81, i1 false + br i1 %82, label %83, label %88 + +83: ; preds = %76 + %84 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 + %85 = and i32 %84, 1048576 + %86 = icmp eq i32 %85, 0 + br i1 %86, label %88, label %87 + +87: ; preds = %83 + tail call void (ptr, ...) @dt_print_ext(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef nonnull @__FUNCTION__._execute_metadata, ptr noundef nonnull @.str.79) #9 + br label %88 -69: ; preds = %68 - %70 = tail call noalias dereferenceable_or_null(24) ptr @malloc(i64 noundef 24) #12 - %71 = icmp eq i32 %1, 2 - br i1 %71, label %72, label %74 +88: ; preds = %87, %83, %76 + %89 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 + %90 = tail call ptr @g_list_copy(ptr noundef nonnull %10) #9 + tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %89, i32 noundef 10, ptr noundef %90, i32 noundef 0) #9 + tail call void @g_free(ptr noundef %71) #9 + br label %91 -72: ; preds = %69 - %73 = getelementptr inbounds i8, ptr %70, i64 16 - store double 0x7FF8000000000000, ptr %73, align 8, !tbaa !74 - store <2 x double> , ptr %70, align 8, !tbaa !75 - br label %75 +91: ; preds = %88, %69 + br i1 %24, label %117, label %92 -74: ; preds = %69 - tail call void @dt_image_get_location(i32 noundef %9, ptr noundef %70) #9 - br label %75 - -75: ; preds = %74, %72 - tail call void @dt_image_set_locations(ptr noundef nonnull %10, ptr noundef %70, i32 noundef 1) #9 - %76 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 - %77 = and i32 %76, 1 - %78 = icmp ne i32 %77, 0 - %79 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53, i64 10), align 4 - %80 = icmp ne i32 %79, 0 - %81 = select i1 %78, i1 %80, i1 false - br i1 %81, label %82, label %87 - -82: ; preds = %75 - %83 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 - %84 = and i32 %83, 1048576 - %85 = icmp eq i32 %84, 0 - br i1 %85, label %87, label %86 - -86: ; preds = %82 - tail call void (ptr, ...) @dt_print_ext(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef nonnull @__FUNCTION__._execute_metadata, ptr noundef nonnull @.str.79) #9 - br label %87 - -87: ; preds = %86, %82, %75 - %88 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 - %89 = tail call ptr @g_list_copy(ptr noundef nonnull %10) #9 - tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %88, i32 noundef 10, ptr noundef %89, i32 noundef 0) #9 - tail call void @g_free(ptr noundef %70) #9 - br label %90 - -90: ; preds = %87, %68 - br i1 %24, label %116, label %91 - -91: ; preds = %90 - %92 = icmp eq i32 %1, 2 - br i1 %92, label %95, label %93 - -93: ; preds = %91 - %94 = tail call ptr @dt_tag_get_tags(i32 noundef %9, i32 noundef 1) #9 - br label %95 - -95: ; preds = %93, %91 - %96 = phi ptr [ %94, %93 ], [ null, %91 ] - %97 = icmp ne i32 %1, 1 - %98 = zext i1 %97 to i32 - %99 = tail call i32 @dt_tag_set_tags(ptr noundef %96, ptr noundef nonnull %10, i32 noundef 1, i32 noundef %98, i32 noundef 1) #9 - %100 = icmp eq i32 %99, 0 - br i1 %100, label %115, label %101 - -101: ; preds = %95 - %102 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 - %103 = and i32 %102, 1 - %104 = icmp ne i32 %103, 0 - %105 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53, i64 9), align 8 - %106 = icmp ne i32 %105, 0 - %107 = select i1 %104, i1 %106, i1 false - br i1 %107, label %108, label %113 - -108: ; preds = %101 - %109 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 - %110 = and i32 %109, 1048576 - %111 = icmp eq i32 %110, 0 - br i1 %111, label %113, label %112 - -112: ; preds = %108 - tail call void (ptr, ...) @dt_print_ext(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 379, ptr noundef nonnull @__FUNCTION__._execute_metadata, ptr noundef nonnull @.str.80) #9 - br label %113 +92: ; preds = %91 + %93 = icmp eq i32 %1, 2 + br i1 %93, label %96, label %94 + +94: ; preds = %92 + %95 = tail call ptr @dt_tag_get_tags(i32 noundef %9, i32 noundef 1) #9 + br label %96 -113: ; preds = %112, %108, %101 - %114 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 - tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %114, i32 noundef 9) #9 - br label %115 +96: ; preds = %94, %92 + %97 = phi ptr [ %95, %94 ], [ null, %92 ] + %98 = icmp ne i32 %1, 1 + %99 = zext i1 %98 to i32 + %100 = tail call i32 @dt_tag_set_tags(ptr noundef %97, ptr noundef nonnull %10, i32 noundef 1, i32 noundef %99, i32 noundef 1) #9 + %101 = icmp eq i32 %100, 0 + br i1 %101, label %116, label %102 + +102: ; preds = %96 + %103 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 52), align 8, !tbaa !64 + %104 = and i32 %103, 1 + %105 = icmp ne i32 %104, 0 + %106 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 53, i64 9), align 8 + %107 = icmp ne i32 %106, 0 + %108 = select i1 %105, i1 %107, i1 false + br i1 %108, label %109, label %114 + +109: ; preds = %102 + %110 = load i32, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 2), align 8, !tbaa !54 + %111 = and i32 %110, 1048576 + %112 = icmp eq i32 %111, 0 + br i1 %112, label %114, label %113 + +113: ; preds = %109 + tail call void (ptr, ...) @dt_print_ext(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 379, ptr noundef nonnull @__FUNCTION__._execute_metadata, ptr noundef nonnull @.str.80) #9 + br label %114 -115: ; preds = %113, %95 - tail call void @g_list_free(ptr noundef %96) #9 +114: ; preds = %113, %109, %102 + %115 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 13), align 8, !tbaa !65 + tail call void (ptr, i32, ...) @dt_control_signal_raise(ptr noundef %115, i32 noundef 9) #9 br label %116 -116: ; preds = %115, %90 - br i1 %27, label %120, label %117 +116: ; preds = %114, %96 + tail call void @g_list_free(ptr noundef %97) #9 + br label %117 + +117: ; preds = %116, %91 + br i1 %26, label %121, label %118 -117: ; preds = %116 - %118 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 27), align 8, !tbaa !73 - tail call void @dt_undo_end_group(ptr noundef %118) #9 +118: ; preds = %117 + %119 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 27), align 8, !tbaa !73 + tail call void @dt_undo_end_group(ptr noundef %119) #9 tail call void @dt_image_synch_xmps(ptr noundef nonnull %10) #9 - %119 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 21), align 8, !tbaa !72 - tail call void @dt_collection_update_query(ptr noundef %119, i32 noundef 3, i32 noundef 19, ptr noundef nonnull %10) #9 + %120 = load ptr, ptr getelementptr inbounds (%struct.darktable_t, ptr @darktable, i64 0, i32 21), align 8, !tbaa !72 + tail call void @dt_collection_update_query(ptr noundef %120, i32 noundef 3, i32 noundef 19, ptr noundef nonnull %10) #9 tail call void (...) @dt_control_queue_redraw_center() #9 - br label %121 + br label %122 -120: ; preds = %116 +121: ; preds = %117 tail call void @g_list_free(ptr noundef nonnull %10) #9 - br label %121 + br label %122 -121: ; preds = %120, %117, %2 +122: ; preds = %121, %118, %2 ret void } diff --git a/bench/jemalloc/optimized/jemalloc.ll b/bench/jemalloc/optimized/jemalloc.ll index 570cb437709..4ec4070ec1f 100644 --- a/bench/jemalloc/optimized/jemalloc.ll +++ b/bench/jemalloc/optimized/jemalloc.ll @@ -14165,11 +14165,12 @@ if.end22: ; preds = %if.end18 %or11.i.i = or i8 %or8.i.i, %46 %or12.i.i = or i8 %or11.i.i, %cond10.i.i store i8 %or12.i.i, ptr @malloc_slow_flags, align 1 - %cmp.i.i62 = icmp ne i8 %or12.i.i, 0 + %47 = icmp ne i8 %or11.i.i, 0 + %cmp.i.i62 = or i1 %47, %tobool9.i.i %frombool.i.i = zext i1 %cmp.i.i62 to i8 store i8 %frombool.i.i, ptr @malloc_slow, align 1 - %47 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 - %dec.i.i = add i8 %47, -1 + %48 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 + %dec.i.i = add i8 %48, -1 store i8 %dec.i.i, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 %cmp.i.i64 = icmp eq i8 %dec.i.i, 0 br i1 %cmp.i.i64, label %if.then.i.i65, label %post_reentrancy.exit @@ -14182,20 +14183,20 @@ post_reentrancy.exit: ; preds = %if.end22, %if.then. store atomic i8 0, ptr getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 1, i32 0) monotonic, align 8 %call1.i66 = call i32 @pthread_mutex_unlock(ptr noundef nonnull getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 2, i32 0, i32 0)) #19 call void @malloc_tsd_boot1() #19 - %48 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) - %state.i.i = getelementptr inbounds i8, ptr %48, i64 824 - %49 = load i8, ptr %state.i.i, align 8 - %cmp6.i.not = icmp eq i8 %49, 0 + %49 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) + %state.i.i = getelementptr inbounds i8, ptr %49, i64 824 + %50 = load i8, ptr %state.i.i, align 8 + %cmp6.i.not = icmp eq i8 %50, 0 br i1 %cmp6.i.not, label %tsd_fetch_impl.exit, label %if.then11.i if.then11.i: ; preds = %post_reentrancy.exit - %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %48, i1 noundef zeroext false) #19 + %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %49, i1 noundef zeroext false) #19 br label %tsd_fetch_impl.exit tsd_fetch_impl.exit: ; preds = %post_reentrancy.exit, %if.then11.i - %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %48, %post_reentrancy.exit ] - %50 = load i8, ptr @opt_background_thread, align 1 - %tobool = trunc i8 %50 to i1 + %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %49, %post_reentrancy.exit ] + %51 = load i8, ptr @opt_background_thread, align 1 + %tobool = trunc i8 %51 to i1 br i1 %tobool, label %do.end, label %if.end32 do.end: ; preds = %tsd_fetch_impl.exit diff --git a/bench/jemalloc/optimized/jemalloc.pic.ll b/bench/jemalloc/optimized/jemalloc.pic.ll index a8989cbd0fa..968ce280a7b 100644 --- a/bench/jemalloc/optimized/jemalloc.pic.ll +++ b/bench/jemalloc/optimized/jemalloc.pic.ll @@ -14165,11 +14165,12 @@ if.end22: ; preds = %if.end18 %or11.i.i = or i8 %or8.i.i, %46 %or12.i.i = or i8 %or11.i.i, %cond10.i.i store i8 %or12.i.i, ptr @malloc_slow_flags, align 1 - %cmp.i.i62 = icmp ne i8 %or12.i.i, 0 + %47 = icmp ne i8 %or11.i.i, 0 + %cmp.i.i62 = or i1 %47, %tobool9.i.i %frombool.i.i = zext i1 %cmp.i.i62 to i8 store i8 %frombool.i.i, ptr @malloc_slow, align 1 - %47 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 - %dec.i.i = add i8 %47, -1 + %48 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 + %dec.i.i = add i8 %48, -1 store i8 %dec.i.i, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 %cmp.i.i64 = icmp eq i8 %dec.i.i, 0 br i1 %cmp.i.i64, label %if.then.i.i65, label %post_reentrancy.exit @@ -14182,20 +14183,20 @@ post_reentrancy.exit: ; preds = %if.end22, %if.then. store atomic i8 0, ptr getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 1, i32 0) monotonic, align 8 %call1.i66 = call i32 @pthread_mutex_unlock(ptr noundef nonnull getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 2, i32 0, i32 0)) #19 call void @malloc_tsd_boot1() #19 - %48 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) - %state.i.i = getelementptr inbounds i8, ptr %48, i64 824 - %49 = load i8, ptr %state.i.i, align 8 - %cmp6.i.not = icmp eq i8 %49, 0 + %49 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) + %state.i.i = getelementptr inbounds i8, ptr %49, i64 824 + %50 = load i8, ptr %state.i.i, align 8 + %cmp6.i.not = icmp eq i8 %50, 0 br i1 %cmp6.i.not, label %tsd_fetch_impl.exit, label %if.then11.i if.then11.i: ; preds = %post_reentrancy.exit - %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %48, i1 noundef zeroext false) #19 + %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %49, i1 noundef zeroext false) #19 br label %tsd_fetch_impl.exit tsd_fetch_impl.exit: ; preds = %post_reentrancy.exit, %if.then11.i - %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %48, %post_reentrancy.exit ] - %50 = load i8, ptr @opt_background_thread, align 1 - %tobool = trunc i8 %50 to i1 + %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %49, %post_reentrancy.exit ] + %51 = load i8, ptr @opt_background_thread, align 1 + %tobool = trunc i8 %51 to i1 br i1 %tobool, label %do.end, label %if.end32 do.end: ; preds = %tsd_fetch_impl.exit diff --git a/bench/jemalloc/optimized/jemalloc.sym.ll b/bench/jemalloc/optimized/jemalloc.sym.ll index f2503d419a3..44ed458b0fa 100644 --- a/bench/jemalloc/optimized/jemalloc.sym.ll +++ b/bench/jemalloc/optimized/jemalloc.sym.ll @@ -14165,11 +14165,12 @@ if.end22: ; preds = %if.end18 %or11.i.i = or i8 %or8.i.i, %46 %or12.i.i = or i8 %or11.i.i, %cond10.i.i store i8 %or12.i.i, ptr @malloc_slow_flags, align 1 - %cmp.i.i62 = icmp ne i8 %or12.i.i, 0 + %47 = icmp ne i8 %or11.i.i, 0 + %cmp.i.i62 = or i1 %47, %tobool9.i.i %frombool.i.i = zext i1 %cmp.i.i62 to i8 store i8 %frombool.i.i, ptr @malloc_slow, align 1 - %47 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 - %dec.i.i = add i8 %47, -1 + %48 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 + %dec.i.i = add i8 %48, -1 store i8 %dec.i.i, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 %cmp.i.i64 = icmp eq i8 %dec.i.i, 0 br i1 %cmp.i.i64, label %if.then.i.i65, label %post_reentrancy.exit @@ -14182,20 +14183,20 @@ post_reentrancy.exit: ; preds = %if.end22, %if.then. store atomic i8 0, ptr getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 1, i32 0) monotonic, align 8 %call1.i66 = call i32 @pthread_mutex_unlock(ptr noundef nonnull getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 2, i32 0, i32 0)) #19 call void @malloc_tsd_boot1() #19 - %48 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) - %state.i.i = getelementptr inbounds i8, ptr %48, i64 824 - %49 = load i8, ptr %state.i.i, align 8 - %cmp6.i.not = icmp eq i8 %49, 0 + %49 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) + %state.i.i = getelementptr inbounds i8, ptr %49, i64 824 + %50 = load i8, ptr %state.i.i, align 8 + %cmp6.i.not = icmp eq i8 %50, 0 br i1 %cmp6.i.not, label %tsd_fetch_impl.exit, label %if.then11.i if.then11.i: ; preds = %post_reentrancy.exit - %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %48, i1 noundef zeroext false) #19 + %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %49, i1 noundef zeroext false) #19 br label %tsd_fetch_impl.exit tsd_fetch_impl.exit: ; preds = %post_reentrancy.exit, %if.then11.i - %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %48, %post_reentrancy.exit ] - %50 = load i8, ptr @opt_background_thread, align 1 - %tobool = trunc i8 %50 to i1 + %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %49, %post_reentrancy.exit ] + %51 = load i8, ptr @opt_background_thread, align 1 + %tobool = trunc i8 %51 to i1 br i1 %tobool, label %do.end, label %if.end32 do.end: ; preds = %tsd_fetch_impl.exit diff --git a/bench/libquic/optimized/time_posix.cc.ll b/bench/libquic/optimized/time_posix.cc.ll index 3788a5ee2ec..25e1590b8ab 100644 --- a/bench/libquic/optimized/time_posix.cc.ll +++ b/bench/libquic/optimized/time_posix.cc.ll @@ -394,11 +394,10 @@ if.else.i.i.i.i.i: ; preds = %if.end.i %cmp26.i.i.i.i.i = icmp eq i32 %cond10.sink.i.i.i.i.i, 0 %mul.i.i.i.i.i = mul nsw i64 %ts.val.i, 1000000 %cond27.i.i.i.i.i = select i1 %cmp26.i.i.i.i.i, i64 %mul.i.i.i.i.i, i64 0 - %1 = trunc i32 %cond10.sink.i.i.i.i.i to i8 br label %_ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i _ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i: ; preds = %if.else.i.i.i.i.i, %if.end.i - %validity.0.i.i.i.i = phi i8 [ %1, %if.else.i.i.i.i.i ], [ 0, %if.end.i ] + %validity.0.i.i.i.i = phi i1 [ %cmp26.i.i.i.i.i, %if.else.i.i.i.i.i ], [ true, %if.end.i ] %retval.0.i.i.i.i.i = phi i64 [ %cond27.i.i.i.i.i, %if.else.i.i.i.i.i ], [ 0, %if.end.i ] %div.i.i = sdiv i64 %ts.val1.i, 1000 %add.i.i.i.i.i = add i64 %retval.0.i.i.i.i.i, %div.i.i @@ -406,12 +405,8 @@ _ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i: ; preds = %if.else.i. %xor1.i.i.i.i.i = xor i64 %add.i.i.i.i.i, %div.i.i %and.i.i.i.i.i = and i64 %xor.i.i.i.i.i, %xor1.i.i.i.i.i %tobool.i.i.i.i.i.i = icmp sgt i64 %and.i.i.i.i.i, -1 - %tobool.i7.i.i.i.i.i = icmp slt i64 %add.i.i.i.i.i, 0 - %cond.i.i.i2.i.i = select i1 %tobool.i7.i.i.i.i.i, i8 2, i8 1 - %storemerge.i.i.i.i.i = select i1 %tobool.i.i.i.i.i.i, i8 0, i8 %cond.i.i.i2.i.i - %or5.i.i.i.i = or i8 %storemerge.i.i.i.i.i, %validity.0.i.i.i.i call void @llvm.lifetime.start.p0(i64 408, ptr nonnull %ref.tmp2.i.i.i) - %cmp.i.i.i.i = icmp eq i8 %or5.i.i.i.i, 0 + %cmp.i.i.i.i = and i1 %validity.0.i.i.i.i, %tobool.i.i.i.i.i.i br i1 %cmp.i.i.i.i, label %_ZN12_GLOBAL__N_123ConvertTimespecToMicrosERK8timespec.exit.i, label %cond.false.i.i.i cond.false.i.i.i: ; preds = %_ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i @@ -474,11 +469,10 @@ if.else.i.i.i.i.i: ; preds = %if.end.i %cmp26.i.i.i.i.i = icmp eq i32 %cond10.sink.i.i.i.i.i, 0 %mul.i.i.i.i.i = mul nsw i64 %ts.val.i, 1000000 %cond27.i.i.i.i.i = select i1 %cmp26.i.i.i.i.i, i64 %mul.i.i.i.i.i, i64 0 - %1 = trunc i32 %cond10.sink.i.i.i.i.i to i8 br label %_ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i _ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i: ; preds = %if.else.i.i.i.i.i, %if.end.i - %validity.0.i.i.i.i = phi i8 [ %1, %if.else.i.i.i.i.i ], [ 0, %if.end.i ] + %validity.0.i.i.i.i = phi i1 [ %cmp26.i.i.i.i.i, %if.else.i.i.i.i.i ], [ true, %if.end.i ] %retval.0.i.i.i.i.i = phi i64 [ %cond27.i.i.i.i.i, %if.else.i.i.i.i.i ], [ 0, %if.end.i ] %div.i.i = sdiv i64 %ts.val1.i, 1000 %add.i.i.i.i.i = add i64 %retval.0.i.i.i.i.i, %div.i.i @@ -486,12 +480,8 @@ _ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i: ; preds = %if.else.i. %xor1.i.i.i.i.i = xor i64 %add.i.i.i.i.i, %div.i.i %and.i.i.i.i.i = and i64 %xor.i.i.i.i.i, %xor1.i.i.i.i.i %tobool.i.i.i.i.i.i = icmp sgt i64 %and.i.i.i.i.i, -1 - %tobool.i7.i.i.i.i.i = icmp slt i64 %add.i.i.i.i.i, 0 - %cond.i.i.i2.i.i = select i1 %tobool.i7.i.i.i.i.i, i8 2, i8 1 - %storemerge.i.i.i.i.i = select i1 %tobool.i.i.i.i.i.i, i8 0, i8 %cond.i.i.i2.i.i - %or5.i.i.i.i = or i8 %storemerge.i.i.i.i.i, %validity.0.i.i.i.i call void @llvm.lifetime.start.p0(i64 408, ptr nonnull %ref.tmp2.i.i.i) - %cmp.i.i.i.i = icmp eq i8 %or5.i.i.i.i, 0 + %cmp.i.i.i.i = and i1 %validity.0.i.i.i.i, %tobool.i.i.i.i.i.i br i1 %cmp.i.i.i.i, label %_ZN12_GLOBAL__N_123ConvertTimespecToMicrosERK8timespec.exit.i, label %cond.false.i.i.i cond.false.i.i.i: ; preds = %_ZN4base8internal14CheckedNumericIlEmLIlEERS2_T_.exit.i.i diff --git a/bench/linux/optimized/intel_display_power_well.ll b/bench/linux/optimized/intel_display_power_well.ll index b7c2694f788..f680c981a67 100644 --- a/bench/linux/optimized/intel_display_power_well.ll +++ b/bench/linux/optimized/intel_display_power_well.ll @@ -4905,9 +4905,9 @@ define internal fastcc void @hsw_wait_for_power_well_disable(ptr noundef %0, ptr %31 = icmp eq i32 %30, 0 br i1 %31, label %.thread2, label %.lr.ph -.lr.ph: ; preds = %2, %67 - %.pn = phi i64 [ %71, %67 ], [ %26, %2 ] - %32 = phi i64 [ %70, %67 ], [ 10, %2 ] +.lr.ph: ; preds = %2, %65 + %.pn = phi i64 [ %69, %65 ], [ %26, %2 ] + %32 = phi i64 [ %68, %65 ], [ 10, %2 ] %33 = icmp sgt i64 %.pn, %16 %34 = load i32, ptr %5, align 4 %35 = load ptr, ptr %20, align 8 @@ -4941,38 +4941,39 @@ define internal fastcc void @hsw_wait_for_power_well_disable(ptr noundef %0, ptr %59 = load ptr, ptr %20, align 8 %60 = tail call i32 %59(ptr noundef %19, i32 %58, i1 noundef zeroext true) #9 %61 = and i32 %60, %23 - %62 = icmp eq i32 %61, 0 - %63 = select i1 %62, i32 0, i32 8 - %64 = or i32 %63, %57 - %65 = icmp ne i32 %64, 0 - %66 = select i1 %65, i1 true, i1 %33 - br i1 %66, label %77, label %67 - -67: ; preds = %56 - %68 = shl i64 %32, 1 - tail call void @usleep_range_state(i64 noundef %32, i64 noundef %68, i32 noundef 2) #9 - %69 = icmp slt i64 %32, 1000 - %70 = select i1 %69, i64 %68, i64 %32 - %71 = tail call i64 @ktime_get_raw() #9 + %62 = or i32 %61, %57 + %63 = icmp ne i32 %62, 0 + %64 = select i1 %63, i1 true, i1 %33 + br i1 %64, label %75, label %65 + +65: ; preds = %56 + %66 = shl i64 %32, 1 + tail call void @usleep_range_state(i64 noundef %32, i64 noundef %66, i32 noundef 2) #9 + %67 = icmp slt i64 %32, 1000 + %68 = select i1 %67, i64 %66, i64 %32 + %69 = tail call i64 @ktime_get_raw() #9 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #9, !srcloc !183 - %72 = load i32, ptr %18, align 4 - %73 = load ptr, ptr %20, align 8 - %74 = tail call i32 %73(ptr noundef %19, i32 %72, i1 noundef zeroext true) #9 - %75 = and i32 %74, %22 - %76 = icmp eq i32 %75, 0 - br i1 %76, label %.thread2, label %.lr.ph - -77: ; preds = %56 + %70 = load i32, ptr %18, align 4 + %71 = load ptr, ptr %20, align 8 + %72 = tail call i32 %71(ptr noundef %19, i32 %70, i1 noundef zeroext true) #9 + %73 = and i32 %72, %22 + %74 = icmp eq i32 %73, 0 + br i1 %74, label %.thread2, label %.lr.ph + +75: ; preds = %56 + %.not.le = icmp eq i32 %61, 0 + %76 = select i1 %.not.le, i32 0, i32 8 + %77 = or i32 %76, %57 %78 = icmp eq ptr %0, null br i1 %78, label %82, label %79 -79: ; preds = %77 +79: ; preds = %75 %80 = getelementptr inbounds i8, ptr %0, i64 8 %81 = load ptr, ptr %80, align 8 br label %82 -82: ; preds = %79, %77 - %83 = phi ptr [ %81, %79 ], [ null, %77 ] +82: ; preds = %79, %75 + %83 = phi ptr [ %81, %79 ], [ null, %75 ] %84 = load ptr, ptr %1, align 8 %85 = getelementptr inbounds i8, ptr %84, i64 8 %86 = load ptr, ptr %85, align 8 @@ -4985,11 +4986,11 @@ define internal fastcc void @hsw_wait_for_power_well_disable(ptr noundef %0, ptr %93 = lshr i32 %57, 1 %94 = and i32 %93, 1 %95 = lshr i32 %57, 2 - %96 = lshr i32 %64, 3 + %96 = lshr i32 %77, 3 tail call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %83, i32 noundef 2, ptr noundef nonnull @.str.55, ptr noundef %91, i32 noundef %92, i32 noundef %94, i32 noundef %95, i32 noundef %96) #9 br label %.thread2 -.thread2: ; preds = %67, %2, %82 +.thread2: ; preds = %65, %2, %82 ret void } diff --git a/bench/linux/optimized/intel_hdcp.ll b/bench/linux/optimized/intel_hdcp.ll index 54136bdbabe..b98eae41109 100644 --- a/bench/linux/optimized/intel_hdcp.ll +++ b/bench/linux/optimized/intel_hdcp.ll @@ -4899,7 +4899,7 @@ define internal fastcc i32 @intel_hdcp1_enable(ptr noundef %0) unnamed_addr #0 a 42: ; preds = %39, %38 %43 = phi ptr [ %41, %39 ], [ null, %38 ] tail call void (ptr, ptr, ...) @_dev_err(ptr noundef %43, ptr noundef nonnull @.str.81) #12 - br label %947 + br label %946 44: ; preds = %85, %32 %45 = phi i32 [ 0, %32 ], [ %88, %85 ] @@ -5006,10 +5006,10 @@ define internal fastcc i32 @intel_hdcp1_enable(ptr noundef %0) unnamed_addr #0 a 100: ; preds = %98, %97 %101 = phi ptr [ %99, %98 ], [ null, %97 ] call void (ptr, ptr, ...) @_dev_err(ptr noundef %101, ptr noundef nonnull @.str.82, i32 noundef %.ph) #12 - br label %947 + br label %946 -102: ; preds = %937, %.loopexit96 - %103 = phi i32 [ 0, %.loopexit96 ], [ %940, %937 ] +102: ; preds = %936, %.loopexit96 + %103 = phi i32 [ 0, %.loopexit96 ], [ %939, %936 ] %104 = load ptr, ptr %90, align 8 %105 = getelementptr inbounds i8, ptr %104, i64 128 %106 = load i32, ptr %105, align 8 @@ -5694,7 +5694,7 @@ intel_hdcp_get_repeater_ctl.exit: ; preds = %279, %280, %281, %2 472: ; preds = %470, %440 %473 = load i8, ptr %8, align 1, !range !11, !noundef !12 %474 = icmp eq i8 %473, 0 - br i1 %474, label %922, label %475 + br i1 %474, label %921, label %475 475: ; preds = %472 %476 = load ptr, ptr %90, align 8 @@ -5760,755 +5760,755 @@ intel_hdcp_get_repeater_ctl.exit: ; preds = %279, %280, %281, %2 ._crit_edge: ; preds = %.lr.ph, %483 %513 = phi i8 [ %496, %483 ], [ %509, %.lr.ph ] - %.lcssa109 = phi i32 [ %494, %483 ], [ %507, %.lr.ph ] + %.lcssa110 = phi i32 [ %494, %483 ], [ %507, %.lr.ph ] + %.lcssa109 = phi i1 [ %497, %483 ], [ %510, %.lr.ph ] %.lcssa108 = phi i1 [ %498, %483 ], [ %511, %.lr.ph ] - %514 = select i1 %.lcssa108, i32 0, i32 -110 - %515 = or i32 %514, %.lcssa109 - %516 = icmp eq i32 %515, 0 - %517 = select i1 %.lcssa108, i32 %.lcssa109, i32 -110 - %518 = icmp eq i8 %513, 0 - %519 = select i1 %518, i32 -110, i32 0 - %520 = select i1 %516, i32 %519, i32 %517 + %514 = icmp eq i32 %.lcssa110, 0 + %515 = select i1 %514, i1 %.lcssa109, i1 false + %516 = select i1 %.lcssa108, i32 %.lcssa110, i32 -110 + %517 = icmp eq i8 %513, 0 + %518 = select i1 %517, i32 -110, i32 0 + %519 = select i1 %515, i32 %518, i32 %516 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #9 - %521 = icmp eq i32 %520, 0 - br i1 %521, label %529, label %522 + %520 = icmp eq i32 %519, 0 + br i1 %520, label %528, label %521 -522: ; preds = %._crit_edge - %523 = icmp eq ptr %485, null - br i1 %523, label %527, label %524 +521: ; preds = %._crit_edge + %522 = icmp eq ptr %485, null + br i1 %522, label %526, label %523 -524: ; preds = %522 - %525 = getelementptr inbounds i8, ptr %485, i64 8 - %526 = load ptr, ptr %525, align 8 - br label %527 +523: ; preds = %521 + %524 = getelementptr inbounds i8, ptr %485, i64 8 + %525 = load ptr, ptr %524, align 8 + br label %526 -527: ; preds = %524, %522 - %528 = phi ptr [ %526, %524 ], [ null, %522 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %528, i32 noundef 2, ptr noundef nonnull @.str.110, i32 noundef %520) #9 +526: ; preds = %523, %521 + %527 = phi ptr [ %525, %523 ], [ null, %521 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %527, i32 noundef 2, ptr noundef nonnull @.str.110, i32 noundef %519) #9 br label %.thread86 -529: ; preds = %._crit_edge - %530 = getelementptr inbounds i8, ptr %486, i64 16 - %531 = load ptr, ptr %530, align 8 - %532 = call i32 %531(ptr noundef %484, ptr noundef nonnull %4) #9 - %533 = icmp eq i32 %532, 0 - br i1 %533, label %534, label %.thread86 - -534: ; preds = %529 - %535 = load i8, ptr %4, align 2 - %536 = icmp sgt i8 %535, -1 - br i1 %536, label %537, label %541 - -537: ; preds = %534 - %538 = load i8, ptr %96, align 1 - %539 = and i8 %538, 8 - %540 = icmp eq i8 %539, 0 - br i1 %540, label %548, label %541 - -541: ; preds = %537, %534 - %542 = icmp eq ptr %485, null - br i1 %542, label %546, label %543 - -543: ; preds = %541 - %544 = getelementptr inbounds i8, ptr %485, i64 8 - %545 = load ptr, ptr %544, align 8 - br label %546 - -546: ; preds = %543, %541 - %547 = phi ptr [ %545, %543 ], [ null, %541 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %547, i32 noundef 2, ptr noundef nonnull @.str.111) #9 +528: ; preds = %._crit_edge + %529 = getelementptr inbounds i8, ptr %486, i64 16 + %530 = load ptr, ptr %529, align 8 + %531 = call i32 %530(ptr noundef %484, ptr noundef nonnull %4) #9 + %532 = icmp eq i32 %531, 0 + br i1 %532, label %533, label %.thread86 + +533: ; preds = %528 + %534 = load i8, ptr %4, align 2 + %535 = icmp sgt i8 %534, -1 + br i1 %535, label %536, label %540 + +536: ; preds = %533 + %537 = load i8, ptr %96, align 1 + %538 = and i8 %537, 8 + %539 = icmp eq i8 %538, 0 + br i1 %539, label %547, label %540 + +540: ; preds = %536, %533 + %541 = icmp eq ptr %485, null + br i1 %541, label %545, label %542 + +542: ; preds = %540 + %543 = getelementptr inbounds i8, ptr %485, i64 8 + %544 = load ptr, ptr %543, align 8 + br label %545 + +545: ; preds = %542, %540 + %546 = phi ptr [ %544, %542 ], [ null, %540 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %546, i32 noundef 2, ptr noundef nonnull @.str.111) #9 br label %.thread86 -548: ; preds = %537 - %549 = zext nneg i8 %535 to i32 - %550 = icmp eq i8 %535, 0 - br i1 %550, label %551, label %558 +547: ; preds = %536 + %548 = zext nneg i8 %534 to i32 + %549 = icmp eq i8 %534, 0 + br i1 %549, label %550, label %557 -551: ; preds = %548 - %552 = icmp eq ptr %485, null - br i1 %552, label %556, label %553 +550: ; preds = %547 + %551 = icmp eq ptr %485, null + br i1 %551, label %555, label %552 -553: ; preds = %551 - %554 = getelementptr inbounds i8, ptr %485, i64 8 - %555 = load ptr, ptr %554, align 8 - br label %556 +552: ; preds = %550 + %553 = getelementptr inbounds i8, ptr %485, i64 8 + %554 = load ptr, ptr %553, align 8 + br label %555 -556: ; preds = %553, %551 - %557 = phi ptr [ %555, %553 ], [ null, %551 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %557, i32 noundef 2, ptr noundef nonnull @.str.112) #9 +555: ; preds = %552, %550 + %556 = phi ptr [ %554, %552 ], [ null, %550 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %556, i32 noundef 2, ptr noundef nonnull @.str.112) #9 br label %.thread86 -558: ; preds = %548 - %559 = zext nneg i8 %535 to i64 - %560 = mul nuw nsw i64 %559, 5 - %561 = call noalias align 8 ptr @__kmalloc(i64 noundef %560, i32 noundef 3520) #11 - %562 = icmp eq ptr %561, null - br i1 %562, label %563, label %570 - -563: ; preds = %558 - %564 = icmp eq ptr %485, null - br i1 %564, label %568, label %565 - -565: ; preds = %563 - %566 = getelementptr inbounds i8, ptr %485, i64 8 - %567 = load ptr, ptr %566, align 8 - br label %568 - -568: ; preds = %565, %563 - %569 = phi ptr [ %567, %565 ], [ null, %563 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %569, i32 noundef 2, ptr noundef nonnull @.str.113) #9 +557: ; preds = %547 + %558 = zext nneg i8 %534 to i64 + %559 = mul nuw nsw i64 %558, 5 + %560 = call noalias align 8 ptr @__kmalloc(i64 noundef %559, i32 noundef 3520) #11 + %561 = icmp eq ptr %560, null + br i1 %561, label %562, label %569 + +562: ; preds = %557 + %563 = icmp eq ptr %485, null + br i1 %563, label %567, label %564 + +564: ; preds = %562 + %565 = getelementptr inbounds i8, ptr %485, i64 8 + %566 = load ptr, ptr %565, align 8 + br label %567 + +567: ; preds = %564, %562 + %568 = phi ptr [ %566, %564 ], [ null, %562 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %568, i32 noundef 2, ptr noundef nonnull @.str.113) #9 br label %.thread86 -570: ; preds = %558 - %571 = getelementptr inbounds i8, ptr %486, i64 48 - %572 = load ptr, ptr %571, align 8 - %573 = call i32 %572(ptr noundef %484, i32 noundef %549, ptr noundef nonnull %561) #9 - %574 = icmp eq i32 %573, 0 - br i1 %574, label %575, label %.thread89 - -575: ; preds = %570 - %576 = call i32 @drm_hdcp_check_ksvs_revoked(ptr noundef %485, ptr noundef nonnull %561, i32 noundef %549) #9 - %577 = icmp sgt i32 %576, 0 - br i1 %577, label %582, label %578 - -578: ; preds = %575 - %579 = getelementptr inbounds i8, ptr %486, i64 56 - %580 = mul nuw nsw i32 %549, 40 - %581 = add nuw nsw i32 %580, 80 - br label %589 - -582: ; preds = %575 - %583 = icmp eq ptr %485, null - br i1 %583, label %587, label %584 - -584: ; preds = %582 - %585 = getelementptr inbounds i8, ptr %485, i64 8 - %586 = load ptr, ptr %585, align 8 - br label %587 - -587: ; preds = %584, %582 - %588 = phi ptr [ %586, %584 ], [ null, %582 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %588, ptr noundef nonnull @.str.114) #12 +569: ; preds = %557 + %570 = getelementptr inbounds i8, ptr %486, i64 48 + %571 = load ptr, ptr %570, align 8 + %572 = call i32 %571(ptr noundef %484, i32 noundef %548, ptr noundef nonnull %560) #9 + %573 = icmp eq i32 %572, 0 + br i1 %573, label %574, label %.thread89 + +574: ; preds = %569 + %575 = call i32 @drm_hdcp_check_ksvs_revoked(ptr noundef %485, ptr noundef nonnull %560, i32 noundef %548) #9 + %576 = icmp sgt i32 %575, 0 + br i1 %576, label %581, label %577 + +577: ; preds = %574 + %578 = getelementptr inbounds i8, ptr %486, i64 56 + %579 = mul nuw nsw i32 %548, 40 + %580 = add nuw nsw i32 %579, 80 + br label %588 + +581: ; preds = %574 + %582 = icmp eq ptr %485, null + br i1 %582, label %586, label %583 + +583: ; preds = %581 + %584 = getelementptr inbounds i8, ptr %485, i64 8 + %585 = load ptr, ptr %584, align 8 + br label %586 + +586: ; preds = %583, %581 + %587 = phi ptr [ %585, %583 ], [ null, %581 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %587, ptr noundef nonnull @.str.114) #12 br label %.thread89 -589: ; preds = %.loopexit91, %578 - %590 = phi i32 [ 0, %578 ], [ %906, %.loopexit91 ] - %591 = load ptr, ptr %90, align 8 - %592 = getelementptr inbounds i8, ptr %591, i64 128 - %593 = load i32, ptr %592, align 8 - switch i32 %593, label %597 [ - i32 10, label %598 - i32 7, label %598 - i32 8, label %598 - i32 6, label %598 - i32 11, label %594 +588: ; preds = %.loopexit91, %577 + %589 = phi i32 [ 0, %577 ], [ %905, %.loopexit91 ] + %590 = load ptr, ptr %90, align 8 + %591 = getelementptr inbounds i8, ptr %590, i64 128 + %592 = load i32, ptr %591, align 8 + switch i32 %592, label %596 [ + i32 10, label %597 + i32 7, label %597 + i32 8, label %597 + i32 6, label %597 + i32 11, label %593 ] -594: ; preds = %589 - %595 = getelementptr inbounds i8, ptr %591, i64 392 - %596 = load ptr, ptr %595, align 8 - br label %598 +593: ; preds = %588 + %594 = getelementptr inbounds i8, ptr %590, i64 392 + %595 = load ptr, ptr %594, align 8 + br label %597 -597: ; preds = %589 - br label %598 +596: ; preds = %588 + br label %597 -598: ; preds = %597, %594, %589, %589, %589, %589 - %599 = phi ptr [ %596, %594 ], [ %591, %589 ], [ %591, %589 ], [ %591, %589 ], [ %591, %589 ], [ null, %597 ] - %600 = load ptr, ptr %0, align 8 - %601 = load i32, ptr %92, align 8 - %602 = getelementptr inbounds i8, ptr %599, i64 132 - %603 = load i32, ptr %602, align 4 +597: ; preds = %596, %593, %588, %588, %588, %588 + %598 = phi ptr [ %595, %593 ], [ %590, %588 ], [ %590, %588 ], [ %590, %588 ], [ %590, %588 ], [ null, %596 ] + %599 = load ptr, ptr %0, align 8 + %600 = load i32, ptr %92, align 8 + %601 = getelementptr inbounds i8, ptr %598, i64 132 + %602 = load i32, ptr %601, align 4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #9 store i32 0, ptr %2, align 4, !annotation !5 - %604 = getelementptr inbounds i8, ptr %600, i64 7368 - %605 = getelementptr inbounds i8, ptr %600, i64 7544 - br label %606 - -606: ; preds = %611, %598 - %607 = phi i32 [ 0, %598 ], [ %616, %611 ] - %608 = load ptr, ptr %579, align 8 - %609 = call i32 %608(ptr noundef %599, i32 noundef %607, ptr noundef nonnull %2) #9 - %610 = icmp eq i32 %609, 0 - br i1 %610, label %611, label %.loopexit91 - -611: ; preds = %606 - %612 = shl nuw nsw i32 %607, 2 - %613 = add nuw nsw i32 %612, 421124 - %614 = load i32, ptr %2, align 4 - %615 = load ptr, ptr %605, align 8 - call void %615(ptr noundef %604, i32 %613, i32 noundef %614, i1 noundef zeroext true) #9 - %616 = add nuw nsw i32 %607, 1 - %617 = icmp eq i32 %616, 5 - br i1 %617, label %618, label %606, !llvm.loop !95 - -618: ; preds = %611 - %619 = call fastcc i32 @intel_hdcp_get_repeater_ctl(ptr noundef %600, i32 noundef %601, i32 noundef %603), !range !96 - %620 = or i32 %619, 2 - %621 = load ptr, ptr %605, align 8 - call void %621(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - %622 = icmp eq ptr %600, null - %623 = getelementptr inbounds i8, ptr %600, i64 8 - br label %624 - -624: ; preds = %618, %.thread54 - %625 = phi i64 [ 0, %618 ], [ %693, %.thread54 ] - %626 = phi i32 [ 0, %618 ], [ %.ph60, %.thread54 ] - %627 = phi i32 [ 0, %618 ], [ %.ph59, %.thread54 ] - %628 = phi i32 [ 0, %618 ], [ %.ph58, %.thread54 ] - %629 = mul nuw nsw i64 %625, 5 - %630 = getelementptr i8, ptr %561, i64 %629 - %631 = sub nuw nsw i32 4, %627 - br label %632 - -632: ; preds = %632, %624 - %633 = phi i32 [ %644, %632 ], [ %626, %624 ] - %634 = phi i32 [ %645, %632 ], [ 0, %624 ] - %635 = sext i32 %634 to i64 - %636 = add i32 %634, %627 - %637 = shl i32 %636, 3 - %638 = sub i32 24, %637 - %639 = getelementptr i8, ptr %630, i64 %635 - %640 = load i8, ptr %639, align 1 - %641 = zext i8 %640 to i32 - %642 = and i32 %638, 248 - %643 = shl i32 %641, %642 - %644 = or i32 %643, %633 - %645 = add nuw i32 %634, 1 - %646 = icmp eq i32 %645, %631 - br i1 %646, label %647, label %632, !llvm.loop !97 - -647: ; preds = %632 - %648 = load ptr, ptr %605, align 8 - call void %648(ptr noundef %604, i32 421144, i32 noundef %644, i1 noundef zeroext true) #9 - %649 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %650 = icmp eq i32 %649, 0 - br i1 %650, label %656, label %651 - -651: ; preds = %647 - br i1 %622, label %654, label %652 - -652: ; preds = %651 - %653 = load ptr, ptr %623, align 8 - br label %654 - -654: ; preds = %651, %652 - %655 = phi ptr [ %653, %652 ], [ null, %651 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %655, ptr noundef nonnull @.str.120) #12 + %603 = getelementptr inbounds i8, ptr %599, i64 7368 + %604 = getelementptr inbounds i8, ptr %599, i64 7544 + br label %605 + +605: ; preds = %610, %597 + %606 = phi i32 [ 0, %597 ], [ %615, %610 ] + %607 = load ptr, ptr %578, align 8 + %608 = call i32 %607(ptr noundef %598, i32 noundef %606, ptr noundef nonnull %2) #9 + %609 = icmp eq i32 %608, 0 + br i1 %609, label %610, label %.loopexit91 + +610: ; preds = %605 + %611 = shl nuw nsw i32 %606, 2 + %612 = add nuw nsw i32 %611, 421124 + %613 = load i32, ptr %2, align 4 + %614 = load ptr, ptr %604, align 8 + call void %614(ptr noundef %603, i32 %612, i32 noundef %613, i1 noundef zeroext true) #9 + %615 = add nuw nsw i32 %606, 1 + %616 = icmp eq i32 %615, 5 + br i1 %616, label %617, label %605, !llvm.loop !95 + +617: ; preds = %610 + %618 = call fastcc i32 @intel_hdcp_get_repeater_ctl(ptr noundef %599, i32 noundef %600, i32 noundef %602), !range !96 + %619 = or i32 %618, 2 + %620 = load ptr, ptr %604, align 8 + call void %620(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + %621 = icmp eq ptr %599, null + %622 = getelementptr inbounds i8, ptr %599, i64 8 + br label %623 + +623: ; preds = %617, %.thread54 + %624 = phi i64 [ 0, %617 ], [ %692, %.thread54 ] + %625 = phi i32 [ 0, %617 ], [ %.ph60, %.thread54 ] + %626 = phi i32 [ 0, %617 ], [ %.ph59, %.thread54 ] + %627 = phi i32 [ 0, %617 ], [ %.ph58, %.thread54 ] + %628 = mul nuw nsw i64 %624, 5 + %629 = getelementptr i8, ptr %560, i64 %628 + %630 = sub nuw nsw i32 4, %626 + br label %631 + +631: ; preds = %631, %623 + %632 = phi i32 [ %643, %631 ], [ %625, %623 ] + %633 = phi i32 [ %644, %631 ], [ 0, %623 ] + %634 = sext i32 %633 to i64 + %635 = add i32 %633, %626 + %636 = shl i32 %635, 3 + %637 = sub i32 24, %636 + %638 = getelementptr i8, ptr %629, i64 %634 + %639 = load i8, ptr %638, align 1 + %640 = zext i8 %639 to i32 + %641 = and i32 %637, 248 + %642 = shl i32 %640, %641 + %643 = or i32 %642, %632 + %644 = add nuw i32 %633, 1 + %645 = icmp eq i32 %644, %630 + br i1 %645, label %646, label %631, !llvm.loop !97 + +646: ; preds = %631 + %647 = load ptr, ptr %604, align 8 + call void %647(ptr noundef %603, i32 421144, i32 noundef %643, i1 noundef zeroext true) #9 + %648 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %649 = icmp eq i32 %648, 0 + br i1 %649, label %655, label %650 + +650: ; preds = %646 + br i1 %621, label %653, label %651 + +651: ; preds = %650 + %652 = load ptr, ptr %622, align 8 + br label %653 + +653: ; preds = %650, %651 + %654 = phi ptr [ %652, %651 ], [ null, %650 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %654, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -656: ; preds = %647 - %657 = add i32 %628, 4 - %658 = and i32 %657, 63 - %659 = icmp eq i32 %658, 0 - br i1 %659, label %660, label %662 - -660: ; preds = %656 - %661 = load ptr, ptr %605, align 8 - call void %661(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - br label %662 - -662: ; preds = %656, %660 - %663 = add nuw nsw i32 %627, 1 - %664 = zext i32 %663 to i64 - br label %665 - -665: ; preds = %665, %662 - %666 = phi i64 [ 0, %662 ], [ %678, %665 ] - %667 = phi i32 [ 0, %662 ], [ %677, %665 ] - %668 = trunc i64 %666 to i32 - %669 = add i32 %631, %668 - %670 = zext i32 %669 to i64 - %671 = getelementptr i8, ptr %630, i64 %670 - %672 = load i8, ptr %671, align 1 - %673 = zext i8 %672 to i32 - %674 = shl i32 %668, 3 - %675 = sub i32 24, %674 - %676 = shl nuw i32 %673, %675 - %677 = or i32 %676, %667 - %678 = add nuw nsw i64 %666, 1 - %679 = icmp eq i64 %678, %664 - br i1 %679, label %680, label %665, !llvm.loop !98 - -680: ; preds = %665 - %681 = icmp ult i32 %627, 3 - br i1 %681, label %.thread54, label %682 - -682: ; preds = %680 - %683 = load ptr, ptr %605, align 8 - call void %683(ptr noundef %604, i32 421144, i32 noundef %677, i1 noundef zeroext true) #9 - %684 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %685 = icmp eq i32 %684, 0 - br i1 %685, label %691, label %686 - -686: ; preds = %682 - br i1 %622, label %689, label %687 - -687: ; preds = %686 - %688 = load ptr, ptr %623, align 8 - br label %689 - -689: ; preds = %686, %687 - %690 = phi ptr [ %688, %687 ], [ null, %686 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %690, ptr noundef nonnull @.str.120) #12 +655: ; preds = %646 + %656 = add i32 %627, 4 + %657 = and i32 %656, 63 + %658 = icmp eq i32 %657, 0 + br i1 %658, label %659, label %661 + +659: ; preds = %655 + %660 = load ptr, ptr %604, align 8 + call void %660(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + br label %661 + +661: ; preds = %655, %659 + %662 = add nuw nsw i32 %626, 1 + %663 = zext i32 %662 to i64 + br label %664 + +664: ; preds = %664, %661 + %665 = phi i64 [ 0, %661 ], [ %677, %664 ] + %666 = phi i32 [ 0, %661 ], [ %676, %664 ] + %667 = trunc i64 %665 to i32 + %668 = add i32 %630, %667 + %669 = zext i32 %668 to i64 + %670 = getelementptr i8, ptr %629, i64 %669 + %671 = load i8, ptr %670, align 1 + %672 = zext i8 %671 to i32 + %673 = shl i32 %667, 3 + %674 = sub i32 24, %673 + %675 = shl nuw i32 %672, %674 + %676 = or i32 %675, %666 + %677 = add nuw nsw i64 %665, 1 + %678 = icmp eq i64 %677, %663 + br i1 %678, label %679, label %664, !llvm.loop !98 + +679: ; preds = %664 + %680 = icmp ult i32 %626, 3 + br i1 %680, label %.thread54, label %681 + +681: ; preds = %679 + %682 = load ptr, ptr %604, align 8 + call void %682(ptr noundef %603, i32 421144, i32 noundef %676, i1 noundef zeroext true) #9 + %683 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %684 = icmp eq i32 %683, 0 + br i1 %684, label %690, label %685 + +685: ; preds = %681 + br i1 %621, label %688, label %686 + +686: ; preds = %685 + %687 = load ptr, ptr %622, align 8 + br label %688 + +688: ; preds = %685, %686 + %689 = phi ptr [ %687, %686 ], [ null, %685 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %689, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -691: ; preds = %682 - %692 = add i32 %628, 8 +690: ; preds = %681 + %691 = add i32 %627, 8 br label %.thread54 -.thread54: ; preds = %691, %680 - %.ph58 = phi i32 [ %657, %680 ], [ %692, %691 ] - %.ph59 = phi i32 [ %663, %680 ], [ 0, %691 ] - %.ph60 = phi i32 [ %677, %680 ], [ 0, %691 ] - %693 = add nuw nsw i64 %625, 1 - %694 = icmp eq i64 %693, %559 - br i1 %694, label %695, label %624, !llvm.loop !99 +.thread54: ; preds = %690, %679 + %.ph58 = phi i32 [ %656, %679 ], [ %691, %690 ] + %.ph59 = phi i32 [ %662, %679 ], [ 0, %690 ] + %.ph60 = phi i32 [ %676, %679 ], [ 0, %690 ] + %692 = add nuw nsw i64 %624, 1 + %693 = icmp eq i64 %692, %558 + br i1 %693, label %694, label %623, !llvm.loop !99 -695: ; preds = %.thread54 +694: ; preds = %.thread54 switch i32 %.ph59, label %.unreachabledefault [ - i32 0, label %696 - i32 1, label %734 - i32 2, label %776 - i32 3, label %817 + i32 0, label %695 + i32 1, label %733 + i32 2, label %775 + i32 3, label %816 ] -696: ; preds = %695 - %697 = or i32 %619, 10 - %698 = load ptr, ptr %605, align 8 - call void %698(ptr noundef %604, i32 421120, i32 noundef %697, i1 noundef zeroext true) #9 - %699 = load i8, ptr %4, align 2 - %700 = zext i8 %699 to i32 - %701 = shl nuw nsw i32 %700, 8 - %702 = load i8, ptr %96, align 1 - %703 = zext i8 %702 to i32 - %704 = or disjoint i32 %701, %703 - %705 = load ptr, ptr %605, align 8 - call void %705(ptr noundef %604, i32 421144, i32 noundef %704, i1 noundef zeroext true) #9 - %706 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %707 = icmp eq i32 %706, 0 - br i1 %707, label %713, label %708 - -708: ; preds = %696 - br i1 %622, label %711, label %709 - -709: ; preds = %708 - %710 = load ptr, ptr %623, align 8 - br label %711 - -711: ; preds = %708, %709 - %712 = phi ptr [ %710, %709 ], [ null, %708 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %712, ptr noundef nonnull @.str.120) #12 +695: ; preds = %694 + %696 = or i32 %618, 10 + %697 = load ptr, ptr %604, align 8 + call void %697(ptr noundef %603, i32 421120, i32 noundef %696, i1 noundef zeroext true) #9 + %698 = load i8, ptr %4, align 2 + %699 = zext i8 %698 to i32 + %700 = shl nuw nsw i32 %699, 8 + %701 = load i8, ptr %96, align 1 + %702 = zext i8 %701 to i32 + %703 = or disjoint i32 %700, %702 + %704 = load ptr, ptr %604, align 8 + call void %704(ptr noundef %603, i32 421144, i32 noundef %703, i1 noundef zeroext true) #9 + %705 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %706 = icmp eq i32 %705, 0 + br i1 %706, label %712, label %707 + +707: ; preds = %695 + br i1 %621, label %710, label %708 + +708: ; preds = %707 + %709 = load ptr, ptr %622, align 8 + br label %710 + +710: ; preds = %707, %708 + %711 = phi ptr [ %709, %708 ], [ null, %707 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %711, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -713: ; preds = %696 - %714 = or i32 %619, 14 - %715 = load ptr, ptr %605, align 8 - call void %715(ptr noundef %604, i32 421120, i32 noundef %714, i1 noundef zeroext true) #9 - %716 = load ptr, ptr %605, align 8 - call void %716(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %717 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %718 = icmp eq i32 %717, 0 - br i1 %718, label %724, label %719 - -719: ; preds = %713 - br i1 %622, label %722, label %720 - -720: ; preds = %719 - %721 = load ptr, ptr %623, align 8 - br label %722 - -722: ; preds = %719, %720 - %723 = phi ptr [ %721, %720 ], [ null, %719 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %723, ptr noundef nonnull @.str.120) #12 +712: ; preds = %695 + %713 = or i32 %618, 14 + %714 = load ptr, ptr %604, align 8 + call void %714(ptr noundef %603, i32 421120, i32 noundef %713, i1 noundef zeroext true) #9 + %715 = load ptr, ptr %604, align 8 + call void %715(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %716 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %717 = icmp eq i32 %716, 0 + br i1 %717, label %723, label %718 + +718: ; preds = %712 + br i1 %621, label %721, label %719 + +719: ; preds = %718 + %720 = load ptr, ptr %622, align 8 + br label %721 + +721: ; preds = %718, %719 + %722 = phi ptr [ %720, %719 ], [ null, %718 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %722, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -724: ; preds = %713 - %725 = load ptr, ptr %605, align 8 - call void %725(ptr noundef %604, i32 421120, i32 noundef %697, i1 noundef zeroext true) #9 - %726 = load ptr, ptr %605, align 8 - call void %726(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %727 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %728 = icmp eq i32 %727, 0 - br i1 %728, label %.thread64, label %729 - -729: ; preds = %724 - br i1 %622, label %732, label %730 - -730: ; preds = %729 - %731 = load ptr, ptr %623, align 8 - br label %732 - -732: ; preds = %729, %730 - %733 = phi ptr [ %731, %730 ], [ null, %729 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %733, ptr noundef nonnull @.str.120) #12 +723: ; preds = %712 + %724 = load ptr, ptr %604, align 8 + call void %724(ptr noundef %603, i32 421120, i32 noundef %696, i1 noundef zeroext true) #9 + %725 = load ptr, ptr %604, align 8 + call void %725(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %726 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %727 = icmp eq i32 %726, 0 + br i1 %727, label %.thread64, label %728 + +728: ; preds = %723 + br i1 %621, label %731, label %729 + +729: ; preds = %728 + %730 = load ptr, ptr %622, align 8 + br label %731 + +731: ; preds = %728, %729 + %732 = phi ptr [ %730, %729 ], [ null, %728 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %732, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -734: ; preds = %695 - %735 = or i32 %619, 8 - %736 = load ptr, ptr %605, align 8 - call void %736(ptr noundef %604, i32 421120, i32 noundef %735, i1 noundef zeroext true) #9 - %737 = load i8, ptr %4, align 2 - %738 = zext i8 %737 to i32 - %739 = shl nuw nsw i32 %738, 16 - %740 = load i8, ptr %96, align 1 - %741 = zext i8 %740 to i32 - %742 = shl nuw nsw i32 %741, 8 - %743 = or disjoint i32 %739, %742 - %744 = or i32 %743, %.ph60 - %745 = lshr i32 %744, 8 - %746 = load ptr, ptr %605, align 8 - call void %746(ptr noundef %604, i32 421144, i32 noundef %745, i1 noundef zeroext true) #9 - %747 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %748 = icmp eq i32 %747, 0 - br i1 %748, label %754, label %749 - -749: ; preds = %734 - br i1 %622, label %752, label %750 - -750: ; preds = %749 - %751 = load ptr, ptr %623, align 8 - br label %752 - -752: ; preds = %749, %750 - %753 = phi ptr [ %751, %750 ], [ null, %749 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %753, ptr noundef nonnull @.str.120) #12 +733: ; preds = %694 + %734 = or i32 %618, 8 + %735 = load ptr, ptr %604, align 8 + call void %735(ptr noundef %603, i32 421120, i32 noundef %734, i1 noundef zeroext true) #9 + %736 = load i8, ptr %4, align 2 + %737 = zext i8 %736 to i32 + %738 = shl nuw nsw i32 %737, 16 + %739 = load i8, ptr %96, align 1 + %740 = zext i8 %739 to i32 + %741 = shl nuw nsw i32 %740, 8 + %742 = or disjoint i32 %738, %741 + %743 = or i32 %742, %.ph60 + %744 = lshr i32 %743, 8 + %745 = load ptr, ptr %604, align 8 + call void %745(ptr noundef %603, i32 421144, i32 noundef %744, i1 noundef zeroext true) #9 + %746 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %747 = icmp eq i32 %746, 0 + br i1 %747, label %753, label %748 + +748: ; preds = %733 + br i1 %621, label %751, label %749 + +749: ; preds = %748 + %750 = load ptr, ptr %622, align 8 + br label %751 + +751: ; preds = %748, %749 + %752 = phi ptr [ %750, %749 ], [ null, %748 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %752, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -754: ; preds = %734 - %755 = or i32 %619, 14 - %756 = load ptr, ptr %605, align 8 - call void %756(ptr noundef %604, i32 421120, i32 noundef %755, i1 noundef zeroext true) #9 - %757 = load ptr, ptr %605, align 8 - call void %757(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %758 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %759 = icmp eq i32 %758, 0 - br i1 %759, label %765, label %760 - -760: ; preds = %754 - br i1 %622, label %763, label %761 - -761: ; preds = %760 - %762 = load ptr, ptr %623, align 8 - br label %763 - -763: ; preds = %760, %761 - %764 = phi ptr [ %762, %761 ], [ null, %760 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %764, ptr noundef nonnull @.str.120) #12 +753: ; preds = %733 + %754 = or i32 %618, 14 + %755 = load ptr, ptr %604, align 8 + call void %755(ptr noundef %603, i32 421120, i32 noundef %754, i1 noundef zeroext true) #9 + %756 = load ptr, ptr %604, align 8 + call void %756(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %757 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %758 = icmp eq i32 %757, 0 + br i1 %758, label %764, label %759 + +759: ; preds = %753 + br i1 %621, label %762, label %760 + +760: ; preds = %759 + %761 = load ptr, ptr %622, align 8 + br label %762 + +762: ; preds = %759, %760 + %763 = phi ptr [ %761, %760 ], [ null, %759 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %763, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -765: ; preds = %754 - %766 = or i32 %619, 12 - %767 = load ptr, ptr %605, align 8 - call void %767(ptr noundef %604, i32 421120, i32 noundef %766, i1 noundef zeroext true) #9 - %768 = load ptr, ptr %605, align 8 - call void %768(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %769 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %770 = icmp eq i32 %769, 0 - br i1 %770, label %.thread64, label %771 - -771: ; preds = %765 - br i1 %622, label %774, label %772 - -772: ; preds = %771 - %773 = load ptr, ptr %623, align 8 - br label %774 - -774: ; preds = %771, %772 - %775 = phi ptr [ %773, %772 ], [ null, %771 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %775, ptr noundef nonnull @.str.120) #12 +764: ; preds = %753 + %765 = or i32 %618, 12 + %766 = load ptr, ptr %604, align 8 + call void %766(ptr noundef %603, i32 421120, i32 noundef %765, i1 noundef zeroext true) #9 + %767 = load ptr, ptr %604, align 8 + call void %767(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %768 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %769 = icmp eq i32 %768, 0 + br i1 %769, label %.thread64, label %770 + +770: ; preds = %764 + br i1 %621, label %773, label %771 + +771: ; preds = %770 + %772 = load ptr, ptr %622, align 8 + br label %773 + +773: ; preds = %770, %771 + %774 = phi ptr [ %772, %771 ], [ null, %770 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %774, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -776: ; preds = %695 - %777 = load ptr, ptr %605, align 8 - call void %777(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - %778 = load i8, ptr %4, align 2 - %779 = zext i8 %778 to i32 - %780 = shl nuw nsw i32 %779, 8 - %781 = load i8, ptr %96, align 1 - %782 = zext i8 %781 to i32 - %783 = or disjoint i32 %780, %782 - %784 = or i32 %783, %.ph60 - %785 = load ptr, ptr %605, align 8 - call void %785(ptr noundef %604, i32 421144, i32 noundef %784, i1 noundef zeroext true) #9 - %786 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %787 = icmp eq i32 %786, 0 - br i1 %787, label %793, label %788 - -788: ; preds = %776 - br i1 %622, label %791, label %789 - -789: ; preds = %788 - %790 = load ptr, ptr %623, align 8 - br label %791 - -791: ; preds = %788, %789 - %792 = phi ptr [ %790, %789 ], [ null, %788 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %792, ptr noundef nonnull @.str.120) #12 +775: ; preds = %694 + %776 = load ptr, ptr %604, align 8 + call void %776(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + %777 = load i8, ptr %4, align 2 + %778 = zext i8 %777 to i32 + %779 = shl nuw nsw i32 %778, 8 + %780 = load i8, ptr %96, align 1 + %781 = zext i8 %780 to i32 + %782 = or disjoint i32 %779, %781 + %783 = or i32 %782, %.ph60 + %784 = load ptr, ptr %604, align 8 + call void %784(ptr noundef %603, i32 421144, i32 noundef %783, i1 noundef zeroext true) #9 + %785 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %786 = icmp eq i32 %785, 0 + br i1 %786, label %792, label %787 + +787: ; preds = %775 + br i1 %621, label %790, label %788 + +788: ; preds = %787 + %789 = load ptr, ptr %622, align 8 + br label %790 + +790: ; preds = %787, %788 + %791 = phi ptr [ %789, %788 ], [ null, %787 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %791, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -793: ; preds = %776 - %794 = or i32 %619, 14 - %795 = load ptr, ptr %605, align 8 - call void %795(ptr noundef %604, i32 421120, i32 noundef %794, i1 noundef zeroext true) #9 - br label %797 - -796: ; preds = %797 - br i1 %798, label %797, label %807, !llvm.loop !100 - -797: ; preds = %796, %793 - %798 = phi i1 [ true, %793 ], [ false, %796 ] - %799 = load ptr, ptr %605, align 8 - call void %799(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %800 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %801 = icmp eq i32 %800, 0 - br i1 %801, label %796, label %802 - -802: ; preds = %797 - br i1 %622, label %805, label %803 - -803: ; preds = %802 - %804 = load ptr, ptr %623, align 8 - br label %805 - -805: ; preds = %802, %803 - %806 = phi ptr [ %804, %803 ], [ null, %802 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %806, ptr noundef nonnull @.str.120) #12 +792: ; preds = %775 + %793 = or i32 %618, 14 + %794 = load ptr, ptr %604, align 8 + call void %794(ptr noundef %603, i32 421120, i32 noundef %793, i1 noundef zeroext true) #9 + br label %796 + +795: ; preds = %796 + br i1 %797, label %796, label %806, !llvm.loop !100 + +796: ; preds = %795, %792 + %797 = phi i1 [ true, %792 ], [ false, %795 ] + %798 = load ptr, ptr %604, align 8 + call void %798(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %799 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %800 = icmp eq i32 %799, 0 + br i1 %800, label %795, label %801 + +801: ; preds = %796 + br i1 %621, label %804, label %802 + +802: ; preds = %801 + %803 = load ptr, ptr %622, align 8 + br label %804 + +804: ; preds = %801, %802 + %805 = phi ptr [ %803, %802 ], [ null, %801 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %805, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -807: ; preds = %796 - %808 = load ptr, ptr %605, align 8 - call void %808(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - %809 = load ptr, ptr %605, align 8 - call void %809(ptr noundef %604, i32 421144, i32 noundef -2147483648, i1 noundef zeroext true) #9 - %810 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %811 = icmp eq i32 %810, 0 - br i1 %811, label %.thread64, label %812 - -812: ; preds = %807 - br i1 %622, label %815, label %813 - -813: ; preds = %812 - %814 = load ptr, ptr %623, align 8 - br label %815 - -815: ; preds = %812, %813 - %816 = phi ptr [ %814, %813 ], [ null, %812 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %816, ptr noundef nonnull @.str.120) #12 +806: ; preds = %795 + %807 = load ptr, ptr %604, align 8 + call void %807(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + %808 = load ptr, ptr %604, align 8 + call void %808(ptr noundef %603, i32 421144, i32 noundef -2147483648, i1 noundef zeroext true) #9 + %809 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %810 = icmp eq i32 %809, 0 + br i1 %810, label %.thread64, label %811 + +811: ; preds = %806 + br i1 %621, label %814, label %812 + +812: ; preds = %811 + %813 = load ptr, ptr %622, align 8 + br label %814 + +814: ; preds = %811, %812 + %815 = phi ptr [ %813, %812 ], [ null, %811 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %815, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -817: ; preds = %695 - %818 = load ptr, ptr %605, align 8 - call void %818(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - %819 = load i8, ptr %4, align 2 - %820 = zext i8 %819 to i32 - %821 = or i32 %.ph60, %820 - %822 = load ptr, ptr %605, align 8 - call void %822(ptr noundef %604, i32 421144, i32 noundef %821, i1 noundef zeroext true) #9 - %823 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %824 = icmp eq i32 %823, 0 - br i1 %824, label %830, label %825 - -825: ; preds = %817 - br i1 %622, label %828, label %826 - -826: ; preds = %825 - %827 = load ptr, ptr %623, align 8 - br label %828 - -828: ; preds = %825, %826 - %829 = phi ptr [ %827, %826 ], [ null, %825 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %829, ptr noundef nonnull @.str.120) #12 +816: ; preds = %694 + %817 = load ptr, ptr %604, align 8 + call void %817(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + %818 = load i8, ptr %4, align 2 + %819 = zext i8 %818 to i32 + %820 = or i32 %.ph60, %819 + %821 = load ptr, ptr %604, align 8 + call void %821(ptr noundef %603, i32 421144, i32 noundef %820, i1 noundef zeroext true) #9 + %822 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %823 = icmp eq i32 %822, 0 + br i1 %823, label %829, label %824 + +824: ; preds = %816 + br i1 %621, label %827, label %825 + +825: ; preds = %824 + %826 = load ptr, ptr %622, align 8 + br label %827 + +827: ; preds = %824, %825 + %828 = phi ptr [ %826, %825 ], [ null, %824 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %828, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -830: ; preds = %817 - %831 = or i32 %619, 12 - %832 = load ptr, ptr %605, align 8 - call void %832(ptr noundef %604, i32 421120, i32 noundef %831, i1 noundef zeroext true) #9 - %833 = load i8, ptr %96, align 1 - %834 = zext i8 %833 to i32 - %835 = load ptr, ptr %605, align 8 - call void %835(ptr noundef %604, i32 421144, i32 noundef %834, i1 noundef zeroext true) #9 - %836 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %837 = icmp eq i32 %836, 0 - br i1 %837, label %843, label %838 - -838: ; preds = %830 - br i1 %622, label %841, label %839 - -839: ; preds = %838 - %840 = load ptr, ptr %623, align 8 - br label %841 - -841: ; preds = %838, %839 - %842 = phi ptr [ %840, %839 ], [ null, %838 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %842, ptr noundef nonnull @.str.120) #12 +829: ; preds = %816 + %830 = or i32 %618, 12 + %831 = load ptr, ptr %604, align 8 + call void %831(ptr noundef %603, i32 421120, i32 noundef %830, i1 noundef zeroext true) #9 + %832 = load i8, ptr %96, align 1 + %833 = zext i8 %832 to i32 + %834 = load ptr, ptr %604, align 8 + call void %834(ptr noundef %603, i32 421144, i32 noundef %833, i1 noundef zeroext true) #9 + %835 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %836 = icmp eq i32 %835, 0 + br i1 %836, label %842, label %837 + +837: ; preds = %829 + br i1 %621, label %840, label %838 + +838: ; preds = %837 + %839 = load ptr, ptr %622, align 8 + br label %840 + +840: ; preds = %837, %838 + %841 = phi ptr [ %839, %838 ], [ null, %837 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %841, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -843: ; preds = %830 - %844 = or i32 %619, 14 - %845 = load ptr, ptr %605, align 8 - call void %845(ptr noundef %604, i32 421120, i32 noundef %844, i1 noundef zeroext true) #9 - %846 = load ptr, ptr %605, align 8 - call void %846(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %847 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %848 = icmp eq i32 %847, 0 - br i1 %848, label %854, label %849 - -849: ; preds = %843 - br i1 %622, label %852, label %850 - -850: ; preds = %849 - %851 = load ptr, ptr %623, align 8 - br label %852 - -852: ; preds = %849, %850 - %853 = phi ptr [ %851, %850 ], [ null, %849 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %853, ptr noundef nonnull @.str.120) #12 +842: ; preds = %829 + %843 = or i32 %618, 14 + %844 = load ptr, ptr %604, align 8 + call void %844(ptr noundef %603, i32 421120, i32 noundef %843, i1 noundef zeroext true) #9 + %845 = load ptr, ptr %604, align 8 + call void %845(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %846 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %847 = icmp eq i32 %846, 0 + br i1 %847, label %853, label %848 + +848: ; preds = %842 + br i1 %621, label %851, label %849 + +849: ; preds = %848 + %850 = load ptr, ptr %622, align 8 + br label %851 + +851: ; preds = %848, %849 + %852 = phi ptr [ %850, %849 ], [ null, %848 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %852, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -854: ; preds = %843 - %855 = or i32 %619, 8 - %856 = load ptr, ptr %605, align 8 - call void %856(ptr noundef %604, i32 421120, i32 noundef %855, i1 noundef zeroext true) #9 - %857 = call fastcc i32 @intel_write_sha_text(ptr noundef %600) - %858 = icmp slt i32 %857, 0 - br i1 %858, label %.loopexit91, label %.thread64 +853: ; preds = %842 + %854 = or i32 %618, 8 + %855 = load ptr, ptr %604, align 8 + call void %855(ptr noundef %603, i32 421120, i32 noundef %854, i1 noundef zeroext true) #9 + %856 = call fastcc i32 @intel_write_sha_text(ptr noundef %599) + %857 = icmp slt i32 %856, 0 + br i1 %857, label %.loopexit91, label %.thread64 -.unreachabledefault: ; preds = %695 +.unreachabledefault: ; preds = %694 unreachable -.thread64: ; preds = %807, %765, %724, %854 - %859 = phi i32 [ 16, %854 ], [ 12, %724 ], [ 12, %765 ], [ 16, %807 ] - %860 = add i32 %859, %.ph58 - %861 = load ptr, ptr %605, align 8 - call void %861(ptr noundef %604, i32 421120, i32 noundef %620, i1 noundef zeroext true) #9 - %862 = srem i32 %860, 64 - %863 = icmp ult i32 %862, 60 - br i1 %863, label %.preheader, label %.loopexit - -864: ; preds = %.preheader - %865 = add i32 %868, 4 - %866 = srem i32 %865, 64 - %867 = icmp ult i32 %866, 60 - br i1 %867, label %.preheader, label %.loopexit, !llvm.loop !101 - -.preheader: ; preds = %.thread64, %864 - %868 = phi i32 [ %865, %864 ], [ %860, %.thread64 ] - %869 = load ptr, ptr %605, align 8 - call void %869(ptr noundef %604, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 - %870 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %871 = icmp eq i32 %870, 0 - br i1 %871, label %864, label %872 - -872: ; preds = %.preheader - br i1 %622, label %875, label %873 - -873: ; preds = %872 - %874 = load ptr, ptr %623, align 8 - br label %875 +.thread64: ; preds = %806, %764, %723, %853 + %858 = phi i32 [ 16, %853 ], [ 12, %723 ], [ 12, %764 ], [ 16, %806 ] + %859 = add i32 %858, %.ph58 + %860 = load ptr, ptr %604, align 8 + call void %860(ptr noundef %603, i32 421120, i32 noundef %619, i1 noundef zeroext true) #9 + %861 = srem i32 %859, 64 + %862 = icmp ult i32 %861, 60 + br i1 %862, label %.preheader, label %.loopexit + +863: ; preds = %.preheader + %864 = add i32 %867, 4 + %865 = srem i32 %864, 64 + %866 = icmp ult i32 %865, 60 + br i1 %866, label %.preheader, label %.loopexit, !llvm.loop !101 + +.preheader: ; preds = %.thread64, %863 + %867 = phi i32 [ %864, %863 ], [ %859, %.thread64 ] + %868 = load ptr, ptr %604, align 8 + call void %868(ptr noundef %603, i32 421144, i32 noundef 0, i1 noundef zeroext true) #9 + %869 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %870 = icmp eq i32 %869, 0 + br i1 %870, label %863, label %871 + +871: ; preds = %.preheader + br i1 %621, label %874, label %872 -875: ; preds = %872, %873 - %876 = phi ptr [ %874, %873 ], [ null, %872 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %876, ptr noundef nonnull @.str.120) #12 +872: ; preds = %871 + %873 = load ptr, ptr %622, align 8 + br label %874 + +874: ; preds = %871, %872 + %875 = phi ptr [ %873, %872 ], [ null, %871 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %875, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -.loopexit: ; preds = %864, %.thread64 - %877 = load ptr, ptr %605, align 8 - call void %877(ptr noundef %604, i32 421144, i32 noundef %581, i1 noundef zeroext true) #9 - %878 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %879 = icmp eq i32 %878, 0 - br i1 %879, label %885, label %880 +.loopexit: ; preds = %863, %.thread64 + %876 = load ptr, ptr %604, align 8 + call void %876(ptr noundef %603, i32 421144, i32 noundef %580, i1 noundef zeroext true) #9 + %877 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 131072, i32 noundef 131072, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %878 = icmp eq i32 %877, 0 + br i1 %878, label %884, label %879 -880: ; preds = %.loopexit - br i1 %622, label %883, label %881 +879: ; preds = %.loopexit + br i1 %621, label %882, label %880 -881: ; preds = %880 - %882 = load ptr, ptr %623, align 8 - br label %883 +880: ; preds = %879 + %881 = load ptr, ptr %622, align 8 + br label %882 -883: ; preds = %880, %881 - %884 = phi ptr [ %882, %881 ], [ null, %880 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %884, ptr noundef nonnull @.str.120) #12 +882: ; preds = %879, %880 + %883 = phi ptr [ %881, %880 ], [ null, %879 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %883, ptr noundef nonnull @.str.120) #12 br label %.loopexit91 -885: ; preds = %.loopexit - %886 = or i32 %619, 4 - %887 = load ptr, ptr %605, align 8 - call void %887(ptr noundef %604, i32 421120, i32 noundef %886, i1 noundef zeroext true) #9 - %888 = call i32 @__intel_wait_for_register(ptr noundef %604, i32 421120, i32 noundef 262144, i32 noundef 262144, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 - %889 = icmp eq i32 %888, 0 - br i1 %889, label %895, label %890 +884: ; preds = %.loopexit + %885 = or i32 %618, 4 + %886 = load ptr, ptr %604, align 8 + call void %886(ptr noundef %603, i32 421120, i32 noundef %885, i1 noundef zeroext true) #9 + %887 = call i32 @__intel_wait_for_register(ptr noundef %603, i32 421120, i32 noundef 262144, i32 noundef 262144, i32 noundef 2, i32 noundef 1, ptr noundef null) #9 + %888 = icmp eq i32 %887, 0 + br i1 %888, label %894, label %889 -890: ; preds = %885 - br i1 %622, label %893, label %891 +889: ; preds = %884 + br i1 %621, label %892, label %890 -891: ; preds = %890 - %892 = load ptr, ptr %623, align 8 - br label %893 +890: ; preds = %889 + %891 = load ptr, ptr %622, align 8 + br label %892 -893: ; preds = %891, %890 - %894 = phi ptr [ %892, %891 ], [ null, %890 ] - call void (ptr, ptr, ...) @_dev_err(ptr noundef %894, ptr noundef nonnull @.str.118) #12 +892: ; preds = %890, %889 + %893 = phi ptr [ %891, %890 ], [ null, %889 ] + call void (ptr, ptr, ...) @_dev_err(ptr noundef %893, ptr noundef nonnull @.str.118) #12 br label %.loopexit91 -895: ; preds = %885 - %896 = getelementptr inbounds i8, ptr %600, i64 7512 - %897 = load ptr, ptr %896, align 8 - %898 = call i32 %897(ptr noundef %604, i32 421120, i1 noundef zeroext true) #9 - %899 = and i32 %898, 524288 - %900 = icmp eq i32 %899, 0 - br i1 %900, label %901, label %909 +894: ; preds = %884 + %895 = getelementptr inbounds i8, ptr %599, i64 7512 + %896 = load ptr, ptr %895, align 8 + %897 = call i32 %896(ptr noundef %603, i32 421120, i1 noundef zeroext true) #9 + %898 = and i32 %897, 524288 + %899 = icmp eq i32 %898, 0 + br i1 %899, label %900, label %908 -901: ; preds = %895 - br i1 %622, label %904, label %902 +900: ; preds = %894 + br i1 %621, label %903, label %901 -902: ; preds = %901 - %903 = load ptr, ptr %623, align 8 - br label %904 +901: ; preds = %900 + %902 = load ptr, ptr %622, align 8 + br label %903 -904: ; preds = %902, %901 - %905 = phi ptr [ %903, %902 ], [ null, %901 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %905, i32 noundef 2, ptr noundef nonnull @.str.119) #9 +903: ; preds = %901, %900 + %904 = phi ptr [ %902, %901 ], [ null, %900 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %904, i32 noundef 2, ptr noundef nonnull @.str.119) #9 br label %.loopexit91 -.loopexit91: ; preds = %606, %893, %904, %711, %722, %732, %752, %763, %774, %791, %815, %828, %841, %852, %854, %883, %875, %805, %654, %689 - %.ph77 = phi i32 [ -110, %689 ], [ -110, %654 ], [ -110, %805 ], [ -110, %875 ], [ -110, %883 ], [ %857, %854 ], [ -110, %852 ], [ -110, %841 ], [ -110, %828 ], [ -110, %815 ], [ -110, %791 ], [ -110, %774 ], [ -110, %763 ], [ -110, %752 ], [ -110, %732 ], [ -110, %722 ], [ -110, %711 ], [ -6, %904 ], [ -110, %893 ], [ %609, %606 ] +.loopexit91: ; preds = %605, %892, %903, %710, %721, %731, %751, %762, %773, %790, %814, %827, %840, %851, %853, %882, %874, %804, %653, %688 + %.ph77 = phi i32 [ -110, %688 ], [ -110, %653 ], [ -110, %804 ], [ -110, %874 ], [ -110, %882 ], [ %856, %853 ], [ -110, %851 ], [ -110, %840 ], [ -110, %827 ], [ -110, %814 ], [ -110, %790 ], [ -110, %773 ], [ -110, %762 ], [ -110, %751 ], [ -110, %731 ], [ -110, %721 ], [ -110, %710 ], [ -6, %903 ], [ -110, %892 ], [ %608, %605 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #9 - %906 = add nuw nsw i32 %590, 1 - %907 = icmp eq i32 %906, 3 - br i1 %907, label %.thread79, label %589, !llvm.loop !102 + %905 = add nuw nsw i32 %589, 1 + %906 = icmp eq i32 %905, 3 + br i1 %906, label %.thread79, label %588, !llvm.loop !102 .thread79: ; preds = %.loopexit91 - %908 = icmp eq ptr %485, null - br i1 %908, label %928, label %913 + %907 = icmp eq ptr %485, null + br i1 %907, label %927, label %912 -909: ; preds = %895 +908: ; preds = %894 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #9 - %910 = icmp eq i32 %590, 3 - %911 = icmp eq ptr %485, null - br i1 %910, label %912, label %917 + %909 = icmp eq i32 %589, 3 + %910 = icmp eq ptr %485, null + br i1 %909, label %911, label %916 -912: ; preds = %909 - br i1 %911, label %928, label %913 +911: ; preds = %908 + br i1 %910, label %927, label %912 -913: ; preds = %.thread79, %912 - %914 = phi i32 [ %.ph77, %.thread79 ], [ 0, %912 ] - %915 = getelementptr inbounds i8, ptr %485, i64 8 - %916 = load ptr, ptr %915, align 8 - br label %928 +912: ; preds = %.thread79, %911 + %913 = phi i32 [ %.ph77, %.thread79 ], [ 0, %911 ] + %914 = getelementptr inbounds i8, ptr %485, i64 8 + %915 = load ptr, ptr %914, align 8 + br label %927 -917: ; preds = %909 - br i1 %911, label %.thread90, label %918 +916: ; preds = %908 + br i1 %910, label %.thread90, label %917 -918: ; preds = %917 - %919 = getelementptr inbounds i8, ptr %485, i64 8 - %920 = load ptr, ptr %919, align 8 +917: ; preds = %916 + %918 = getelementptr inbounds i8, ptr %485, i64 8 + %919 = load ptr, ptr %918, align 8 br label %.thread90 -.thread90: ; preds = %917, %918 - %921 = phi ptr [ %920, %918 ], [ null, %917 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %921, i32 noundef 2, ptr noundef nonnull @.str.116, i32 noundef %549) #9 - call void @kfree(ptr noundef nonnull %561) #9 +.thread90: ; preds = %916, %917 + %920 = phi ptr [ %919, %917 ], [ null, %916 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %920, i32 noundef 2, ptr noundef nonnull @.str.116, i32 noundef %548) #9 + call void @kfree(ptr noundef nonnull %560) #9 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9 @@ -6517,18 +6517,18 @@ intel_hdcp_get_repeater_ctl.exit: ; preds = %279, %280, %281, %2 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9 br label %.loopexit95 -922: ; preds = %472 - %923 = icmp eq ptr %113, null - br i1 %923, label %.thread83, label %924 +921: ; preds = %472 + %922 = icmp eq ptr %113, null + br i1 %922, label %.thread83, label %923 -924: ; preds = %922 - %925 = getelementptr inbounds i8, ptr %113, i64 8 - %926 = load ptr, ptr %925, align 8 +923: ; preds = %921 + %924 = getelementptr inbounds i8, ptr %113, i64 8 + %925 = load ptr, ptr %924, align 8 br label %.thread83 -.thread83: ; preds = %922, %924 - %927 = phi ptr [ %926, %924 ], [ null, %922 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %927, i32 noundef 2, ptr noundef nonnull @.str.107) #9 +.thread83: ; preds = %921, %923 + %926 = phi ptr [ %925, %923 ], [ null, %921 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %926, i32 noundef 2, ptr noundef nonnull @.str.107) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #9 @@ -6543,79 +6543,79 @@ intel_hdcp_get_repeater_ctl.exit: ; preds = %279, %280, %281, %2 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9 - br label %933 + br label %932 -.thread86: ; preds = %527, %546, %556, %568, %529 - %.ph85 = phi i32 [ %532, %529 ], [ -12, %568 ], [ -22, %556 ], [ -1, %546 ], [ %520, %527 ] +.thread86: ; preds = %526, %545, %555, %567, %528 + %.ph85 = phi i32 [ %531, %528 ], [ -12, %567 ], [ -22, %555 ], [ -1, %545 ], [ %519, %526 ] call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9 - br label %933 + br label %932 -.thread89: ; preds = %570, %587 - %.ph88 = phi i32 [ -1, %587 ], [ %573, %570 ] - call void @kfree(ptr noundef nonnull %561) #9 +.thread89: ; preds = %569, %586 + %.ph88 = phi i32 [ -1, %586 ], [ %572, %569 ] + call void @kfree(ptr noundef nonnull %560) #9 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9 - br label %933 + br label %932 -928: ; preds = %912, %913, %.thread79 - %929 = phi i32 [ %914, %913 ], [ 0, %912 ], [ %.ph77, %.thread79 ] - %930 = phi ptr [ %916, %913 ], [ null, %912 ], [ null, %.thread79 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %930, i32 noundef 2, ptr noundef nonnull @.str.115, i32 noundef %929) #9 - call void @kfree(ptr noundef nonnull %561) #9 +927: ; preds = %911, %912, %.thread79 + %928 = phi i32 [ %913, %912 ], [ 0, %911 ], [ %.ph77, %.thread79 ] + %929 = phi ptr [ %915, %912 ], [ null, %911 ], [ null, %.thread79 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %929, i32 noundef 2, ptr noundef nonnull @.str.115, i32 noundef %928) #9 + call void @kfree(ptr noundef nonnull %560) #9 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #9 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9 - %931 = icmp eq i32 %929, 0 - br i1 %931, label %.loopexit95, label %933 - -.loopexit95: ; preds = %928, %.thread90, %.thread83 - %932 = getelementptr inbounds i8, ptr %0, i64 2664 - store i8 1, ptr %932, align 8 - br label %947 - -933: ; preds = %.thread89, %.thread86, %.thread82, %928 - %934 = phi i32 [ %.ph81, %.thread82 ], [ %929, %928 ], [ %.ph85, %.thread86 ], [ %.ph88, %.thread89 ] - br i1 %12, label %937, label %935 - -935: ; preds = %933 - %936 = load ptr, ptr %37, align 8 - br label %937 - -937: ; preds = %935, %933 - %938 = phi ptr [ %936, %935 ], [ null, %933 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %938, i32 noundef 2, ptr noundef nonnull @.str.83, i32 noundef %934) #9 - %939 = call fastcc i32 @_intel_hdcp_disable(ptr noundef %0) - %940 = add nuw nsw i32 %103, 1 - %941 = icmp eq i32 %940, 3 - br i1 %941, label %942, label %102, !llvm.loop !103 - -942: ; preds = %937 - br i1 %12, label %945, label %943 - -943: ; preds = %942 - %944 = load ptr, ptr %37, align 8 - br label %945 - -945: ; preds = %943, %942 - %946 = phi ptr [ %944, %943 ], [ null, %942 ] - call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %946, i32 noundef 2, ptr noundef nonnull @.str.84, i32 noundef 3, i32 noundef %934) #9 - br label %947 - -947: ; preds = %945, %.loopexit95, %100, %42 - %948 = phi i32 [ %.ph, %100 ], [ 0, %.loopexit95 ], [ %934, %945 ], [ -6, %42 ] - ret i32 %948 + %930 = icmp eq i32 %928, 0 + br i1 %930, label %.loopexit95, label %932 + +.loopexit95: ; preds = %927, %.thread90, %.thread83 + %931 = getelementptr inbounds i8, ptr %0, i64 2664 + store i8 1, ptr %931, align 8 + br label %946 + +932: ; preds = %.thread89, %.thread86, %.thread82, %927 + %933 = phi i32 [ %.ph81, %.thread82 ], [ %928, %927 ], [ %.ph85, %.thread86 ], [ %.ph88, %.thread89 ] + br i1 %12, label %936, label %934 + +934: ; preds = %932 + %935 = load ptr, ptr %37, align 8 + br label %936 + +936: ; preds = %934, %932 + %937 = phi ptr [ %935, %934 ], [ null, %932 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %937, i32 noundef 2, ptr noundef nonnull @.str.83, i32 noundef %933) #9 + %938 = call fastcc i32 @_intel_hdcp_disable(ptr noundef %0) + %939 = add nuw nsw i32 %103, 1 + %940 = icmp eq i32 %939, 3 + br i1 %940, label %941, label %102, !llvm.loop !103 + +941: ; preds = %936 + br i1 %12, label %944, label %942 + +942: ; preds = %941 + %943 = load ptr, ptr %37, align 8 + br label %944 + +944: ; preds = %942, %941 + %945 = phi ptr [ %943, %942 ], [ null, %941 ] + call void (ptr, ptr, i32, ptr, ...) @__drm_dev_dbg(ptr noundef null, ptr noundef %945, i32 noundef 2, ptr noundef nonnull @.str.84, i32 noundef 3, i32 noundef %933) #9 + br label %946 + +946: ; preds = %944, %.loopexit95, %100, %42 + %947 = phi i32 [ %.ph, %100 ], [ 0, %.loopexit95 ], [ %933, %944 ], [ -6, %42 ] + ret i32 %947 } ; Function Attrs: null_pointer_is_valid diff --git a/bench/linux/optimized/pcm_misc.ll b/bench/linux/optimized/pcm_misc.ll index f56e24da71b..65d45f8208f 100644 --- a/bench/linux/optimized/pcm_misc.ll +++ b/bench/linux/optimized/pcm_misc.ll @@ -528,22 +528,23 @@ define dso_local i32 @snd_pcm_rate_range_to_bits(i32 noundef %0, i32 noundef %1) %15 = or i1 %13, %14 %16 = shl nuw i32 1, %8 %17 = select i1 %15, i32 0, i32 %16 - %.fr2 = freeze i32 %17 - %18 = or i32 %.fr2, %9 + %18 = or i32 %17, %9 %19 = add nuw i32 %8, 1 %20 = icmp eq i32 %19, %3 br i1 %20, label %21, label %7, !llvm.loop !15 21: ; preds = %7 - %22 = icmp eq i32 %18, 0 - br i1 %22, label %.thread, label %23 + %22 = icmp eq i32 %9, 0 + %23 = and i1 %22, %15 + %cond.fr = freeze i1 %23 + br i1 %cond.fr, label %.thread, label %24 .thread: ; preds = %2, %21 - br label %23 + br label %24 -23: ; preds = %21, %.thread - %24 = phi i32 [ -2147483648, %.thread ], [ %18, %21 ] - ret i32 %24 +24: ; preds = %21, %.thread + %25 = phi i32 [ -2147483648, %.thread ], [ %18, %21 ] + ret i32 %25 } ; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) diff --git a/bench/linux/optimized/trace_sched_switch.ll b/bench/linux/optimized/trace_sched_switch.ll index 192011cdb60..ea7a624f04a 100644 --- a/bench/linux/optimized/trace_sched_switch.ll +++ b/bench/linux/optimized/trace_sched_switch.ll @@ -156,22 +156,23 @@ declare dso_local void @mutex_unlock(ptr noundef) local_unnamed_addr #1 ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid define internal void @probe_sched_wakeup(ptr nocapture readnone %0, ptr noundef %1) #0 align 16 { %3 = load i32, ptr @sched_tgid_ref, align 4 - %4 = icmp eq i32 %3, 0 - %5 = select i1 %4, i32 0, i32 2 - %6 = load i32, ptr @sched_cmdline_ref, align 4 - %7 = icmp ne i32 %6, 0 - %8 = zext i1 %7 to i32 - %9 = or disjoint i32 %5, %8 - %10 = icmp eq i32 %9, 0 - br i1 %10, label %14, label %11 - -11: ; preds = %2 - %12 = tail call i64 asm "movq %gs:${1:P}, $0", "=r,p,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @pcpu_hot) #5, !srcloc !5 - %13 = inttoptr i64 %12 to ptr - tail call void @tracing_record_taskinfo_sched_switch(ptr noundef %13, ptr noundef %1, i32 noundef %9) #3 - br label %14 - -14: ; preds = %11, %2 + %4 = load i32, ptr @sched_cmdline_ref, align 4 + %5 = or i32 %4, %3 + %.not1.not = icmp eq i32 %5, 0 + br i1 %.not1.not, label %13, label %6 + +6: ; preds = %2 + %7 = icmp ne i32 %4, 0 + %.not = icmp eq i32 %3, 0 + %8 = select i1 %.not, i32 0, i32 2 + %9 = zext i1 %7 to i32 + %10 = or disjoint i32 %8, %9 + %11 = tail call i64 asm "movq %gs:${1:P}, $0", "=r,p,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @pcpu_hot) #5, !srcloc !5 + %12 = inttoptr i64 %11 to ptr + tail call void @tracing_record_taskinfo_sched_switch(ptr noundef %12, ptr noundef %1, i32 noundef %10) #3 + br label %13 + +13: ; preds = %6, %2 ret void } @@ -181,20 +182,21 @@ declare dso_local i32 @_printk(ptr noundef, ...) local_unnamed_addr #2 ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid define internal void @probe_sched_switch(ptr nocapture readnone %0, i1 zeroext %1, ptr noundef %2, ptr noundef %3, i32 %4) #0 align 16 { %6 = load i32, ptr @sched_tgid_ref, align 4 - %7 = icmp eq i32 %6, 0 - %8 = select i1 %7, i32 0, i32 2 - %9 = load i32, ptr @sched_cmdline_ref, align 4 - %10 = icmp ne i32 %9, 0 - %11 = zext i1 %10 to i32 - %12 = or disjoint i32 %8, %11 - %13 = icmp eq i32 %12, 0 - br i1 %13, label %15, label %14 - -14: ; preds = %5 - tail call void @tracing_record_taskinfo_sched_switch(ptr noundef %2, ptr noundef %3, i32 noundef %12) #3 - br label %15 - -15: ; preds = %14, %5 + %7 = load i32, ptr @sched_cmdline_ref, align 4 + %8 = or i32 %7, %6 + %.not1.not = icmp eq i32 %8, 0 + br i1 %.not1.not, label %14, label %9 + +9: ; preds = %5 + %10 = icmp ne i32 %7, 0 + %.not = icmp eq i32 %6, 0 + %11 = select i1 %.not, i32 0, i32 2 + %12 = zext i1 %10 to i32 + %13 = or disjoint i32 %11, %12 + tail call void @tracing_record_taskinfo_sched_switch(ptr noundef %2, ptr noundef %3, i32 noundef %13) #3 + br label %14 + +14: ; preds = %9, %5 ret void } diff --git a/bench/linux/optimized/vgaarb.ll b/bench/linux/optimized/vgaarb.ll index 069255f2ade..665fac8c707 100644 --- a/bench/linux/optimized/vgaarb.ll +++ b/bench/linux/optimized/vgaarb.ll @@ -426,7 +426,7 @@ define internal fastcc ptr @__vga_tryget(ptr noundef %0, i32 noundef %1) unnamed %63 = select i1 %62, i32 0, i32 2 %64 = and i32 %61, 1 %65 = or disjoint i32 %63, %64 - %66 = icmp eq i32 %65, 0 + %66 = icmp eq i32 %61, 0 %67 = select i1 %66, i32 0, i32 2 br label %68 diff --git a/bench/meshlab/optimized/filter_color_projection.cpp.ll b/bench/meshlab/optimized/filter_color_projection.cpp.ll index 82fa7a97a03..012a6725116 100644 --- a/bench/meshlab/optimized/filter_color_projection.cpp.ll +++ b/bench/meshlab/optimized/filter_color_projection.cpp.ll @@ -5473,12 +5473,12 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %19 = add nuw nsw i32 %18, %17 %20 = select i1 %.not51, i32 0, i32 255 %21 = add nuw nsw i32 %19, %20 - %22 = select i1 %.not52, i32 0, i32 255 - %23 = or i32 %21, %22 - %.not = icmp eq i32 %23, 0 - br i1 %.not, label %95, label %24 + %22 = icmp eq i32 %21, 0 + %.not = and i1 %.not52, %22 + br i1 %.not, label %95, label %23 -24: ; preds = %10 +23: ; preds = %10 + %24 = select i1 %.not52, i32 0, i32 255 %25 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %11, i32 noundef %8) %26 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %13, i32 noundef %8) %27 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %11, i32 noundef %9) @@ -5496,9 +5496,9 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %39 = add nuw nsw i32 %38, %37 %40 = mul nuw nsw i32 %34, %20 %41 = add nuw nsw i32 %39, %40 - %42 = mul nuw nsw i32 %36, %22 + %42 = mul nuw nsw i32 %36, %24 %43 = add nuw nsw i32 %41, %42 - %44 = add nuw nsw i32 %21, %22 + %44 = add nuw nsw i32 %21, %24 %45 = udiv i32 %43, %44 %46 = lshr i32 %25, 8 %47 = and i32 %46, 255 @@ -5513,7 +5513,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %56 = add nuw nsw i32 %55, %54 %57 = mul nuw nsw i32 %51, %20 %58 = add nuw nsw i32 %56, %57 - %59 = mul nuw nsw i32 %53, %22 + %59 = mul nuw nsw i32 %53, %24 %60 = add nuw nsw i32 %58, %59 %61 = udiv i32 %60, %44 %62 = and i32 %25, 255 @@ -5525,7 +5525,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %68 = add nuw nsw i32 %67, %66 %69 = mul nuw nsw i32 %64, %20 %70 = add nuw nsw i32 %68, %69 - %71 = mul nuw nsw i32 %65, %22 + %71 = mul nuw nsw i32 %65, %24 %72 = add nuw nsw i32 %70, %71 %73 = udiv i32 %72, %44 %74 = lshr i32 %25, 24 @@ -5537,7 +5537,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %80 = add nuw nsw i32 %79, %78 %81 = mul nuw nsw i32 %76, %20 %82 = add nuw nsw i32 %80, %81 - %83 = mul nuw nsw i32 %77, %22 + %83 = mul nuw nsw i32 %77, %24 %84 = add nuw nsw i32 %82, %83 %85 = udiv i32 %84, %44 %86 = shl i32 %85, 24 @@ -5552,7 +5552,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref tail call void @_ZN6QImage8setPixelEiij(ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef %.04453, i32 noundef %.054, i32 noundef %94) br label %95 -95: ; preds = %10, %24 +95: ; preds = %10, %23 %96 = add nuw nsw i32 %.04453, 1 %97 = tail call noundef i32 @_ZNK6QImage5widthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) %98 = icmp slt i32 %96, %97 diff --git a/bench/meshlab/optimized/filter_texture.cpp.ll b/bench/meshlab/optimized/filter_texture.cpp.ll index 304460a2900..caaeae73875 100644 --- a/bench/meshlab/optimized/filter_texture.cpp.ll +++ b/bench/meshlab/optimized/filter_texture.cpp.ll @@ -2783,12 +2783,12 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %19 = add nuw nsw i32 %18, %17 %20 = select i1 %.not51, i32 0, i32 255 %21 = add nuw nsw i32 %19, %20 - %22 = select i1 %.not52, i32 0, i32 255 - %23 = or i32 %21, %22 - %.not = icmp eq i32 %23, 0 - br i1 %.not, label %95, label %24 + %22 = icmp eq i32 %21, 0 + %.not = and i1 %.not52, %22 + br i1 %.not, label %95, label %23 -24: ; preds = %10 +23: ; preds = %10 + %24 = select i1 %.not52, i32 0, i32 255 %25 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %11, i32 noundef %8) %26 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %13, i32 noundef %8) %27 = tail call noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %11, i32 noundef %9) @@ -2806,9 +2806,9 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %39 = add nuw nsw i32 %38, %37 %40 = mul nuw nsw i32 %34, %20 %41 = add nuw nsw i32 %39, %40 - %42 = mul nuw nsw i32 %36, %22 + %42 = mul nuw nsw i32 %36, %24 %43 = add nuw nsw i32 %41, %42 - %44 = add nuw nsw i32 %21, %22 + %44 = add nuw nsw i32 %21, %24 %45 = udiv i32 %43, %44 %46 = lshr i32 %25, 8 %47 = and i32 %46, 255 @@ -2823,7 +2823,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %56 = add nuw nsw i32 %55, %54 %57 = mul nuw nsw i32 %51, %20 %58 = add nuw nsw i32 %56, %57 - %59 = mul nuw nsw i32 %53, %22 + %59 = mul nuw nsw i32 %53, %24 %60 = add nuw nsw i32 %58, %59 %61 = udiv i32 %60, %44 %62 = and i32 %25, 255 @@ -2835,7 +2835,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %68 = add nuw nsw i32 %67, %66 %69 = mul nuw nsw i32 %64, %20 %70 = add nuw nsw i32 %68, %69 - %71 = mul nuw nsw i32 %65, %22 + %71 = mul nuw nsw i32 %65, %24 %72 = add nuw nsw i32 %70, %71 %73 = udiv i32 %72, %44 %74 = lshr i32 %25, 24 @@ -2847,7 +2847,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref %80 = add nuw nsw i32 %79, %78 %81 = mul nuw nsw i32 %76, %20 %82 = add nuw nsw i32 %80, %81 - %83 = mul nuw nsw i32 %77, %22 + %83 = mul nuw nsw i32 %77, %24 %84 = add nuw nsw i32 %82, %83 %85 = udiv i32 %84, %44 %86 = shl i32 %85, 24 @@ -2862,7 +2862,7 @@ define void @_ZN3vcg11PullPushMipER6QImageS1_j(ptr noundef nonnull align 8 deref tail call void @_ZN6QImage8setPixelEiij(ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef %.04453, i32 noundef %.054, i32 noundef %94) br label %95 -95: ; preds = %10, %24 +95: ; preds = %10, %23 %96 = add nuw nsw i32 %.04453, 1 %97 = tail call noundef i32 @_ZNK6QImage5widthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) %98 = icmp slt i32 %96, %97 diff --git a/bench/meshlab/optimized/texture_rendering.cpp.ll b/bench/meshlab/optimized/texture_rendering.cpp.ll index 8e3e04a6c01..2890663d161 100644 --- a/bench/meshlab/optimized/texture_rendering.cpp.ll +++ b/bench/meshlab/optimized/texture_rendering.cpp.ll @@ -1706,16 +1706,16 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl %481 = add nuw nsw i32 %480, %479 %482 = select i1 %.not51.i.i, i32 0, i32 255 %483 = add nuw nsw i32 %481, %482 - %484 = select i1 %.not52.i.i, i32 0, i32 255 - %485 = or i32 %484, %483 - %.not.i105.i = icmp eq i32 %485, 0 - br i1 %.not.i105.i, label %.noexc116.i, label %486 + %484 = icmp eq i32 %483, 0 + %.not.i105.i = and i1 %484, %.not52.i.i + br i1 %.not.i105.i, label %.noexc116.i, label %485 -486: ; preds = %.noexc111.i +485: ; preds = %.noexc111.i + %486 = select i1 %.not52.i.i, i32 0, i32 255 %487 = invoke noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %465, i32 noundef %473, i32 noundef %470) to label %.noexc112.i unwind label %.loopexit.split-lp.i.loopexit.i, !noalias !13 -.noexc112.i: ; preds = %486 +.noexc112.i: ; preds = %485 %488 = invoke noundef i32 @_ZNK6QImage5pixelEii(ptr noundef nonnull align 8 dereferenceable(32) %465, i32 noundef %475, i32 noundef %470) to label %.noexc113.i unwind label %.loopexit.split-lp.i.loopexit.i, !noalias !13 @@ -1741,9 +1741,9 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl %501 = add nuw nsw i32 %500, %499 %502 = mul nuw nsw i32 %496, %482 %503 = add nuw nsw i32 %501, %502 - %504 = mul nuw nsw i32 %498, %484 + %504 = mul nuw nsw i32 %498, %486 %505 = add nuw nsw i32 %503, %504 - %506 = add nuw nsw i32 %484, %483 + %506 = add nuw nsw i32 %486, %483 %507 = udiv i32 %505, %506 %508 = lshr i32 %487, 8 %509 = and i32 %508, 255 @@ -1758,7 +1758,7 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl %518 = add nuw nsw i32 %517, %516 %519 = mul nuw nsw i32 %513, %482 %520 = add nuw nsw i32 %518, %519 - %521 = mul nuw nsw i32 %515, %484 + %521 = mul nuw nsw i32 %515, %486 %522 = add nuw nsw i32 %520, %521 %523 = udiv i32 %522, %506 %524 = and i32 %487, 255 @@ -1770,7 +1770,7 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl %530 = add nuw nsw i32 %529, %528 %531 = mul nuw nsw i32 %526, %482 %532 = add nuw nsw i32 %530, %531 - %533 = mul nuw nsw i32 %527, %484 + %533 = mul nuw nsw i32 %527, %486 %534 = add nuw nsw i32 %532, %533 %535 = udiv i32 %534, %506 %536 = lshr i32 %487, 24 @@ -1782,7 +1782,7 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl %542 = add nuw nsw i32 %541, %540 %543 = mul nuw nsw i32 %538, %482 %544 = add nuw nsw i32 %542, %543 - %545 = mul nuw nsw i32 %539, %484 + %545 = mul nuw nsw i32 %539, %486 %546 = add nuw nsw i32 %544, %545 %547 = udiv i32 %546, %506 %548 = shl i32 %547, 24 @@ -1825,7 +1825,7 @@ _ZN7logging6BufferlsIiEERS0_RKT_.exit.i: ; preds = %_ZN7logging6Bufferl cleanup br label %.loopexit.i.i -.loopexit.split-lp.i.loopexit.i: ; preds = %.noexc116.i, %.noexc115.i, %.noexc114.i, %.noexc113.i, %.noexc112.i, %486, %.noexc110.i, %.noexc109.i, %.noexc108.i, %472 +.loopexit.split-lp.i.loopexit.i: ; preds = %.noexc116.i, %.noexc115.i, %.noexc114.i, %.noexc113.i, %.noexc112.i, %485, %.noexc110.i, %.noexc109.i, %.noexc108.i, %472 %lpad.loopexit.i = landingpad { ptr, i32 } cleanup br label %.loopexit.i.i diff --git a/bench/mitsuba3/optimized/x86assembler.cpp.ll b/bench/mitsuba3/optimized/x86assembler.cpp.ll index 0607aced5bc..d49131ba956 100644 --- a/bench/mitsuba3/optimized/x86assembler.cpp.ll +++ b/bench/mitsuba3/optimized/x86assembler.cpp.ll @@ -194,10 +194,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 53: ; preds = %49 %54 = tail call noundef i32 @_ZN6asmjit9_abi_1_1011BaseEmitter11reportErrorEjPKc(ptr noundef nonnull align 8 dereferenceable(144) %0, i32 noundef 5, ptr noundef null) - br label %6039 + br label %6035 55: ; preds = %49 - br i1 %32, label %6035, label %56, !prof !37 + br i1 %32, label %6031, label %56, !prof !37 56: ; preds = %55 br i1 %38, label %57, label %72, !prof !37 @@ -227,7 +227,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 70: ; preds = %63 %71 = icmp eq i32 %64, 0 - br i1 %71, label %72, label %6035, !prof !39 + br i1 %71, label %72, label %6031, !prof !39 72: ; preds = %70, %65, %56 %73 = phi ptr [ %12, %70 ], [ %66, %65 ], [ %12, %56 ] @@ -268,7 +268,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #10 %95 = icmp eq i32 %94, 0 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %8) #10 - br i1 %95, label %96, label %6035 + br i1 %95, label %96, label %6031 96: ; preds = %78, %72 %97 = load i32, ptr %16, align 4 @@ -286,7 +286,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %107 = and i32 %102, 65536 %108 = or i32 %107, %106 %109 = icmp eq i32 %108, 0 - br i1 %109, label %6035, label %110, !prof !37 + br i1 %109, label %6031, label %110, !prof !37 110: ; preds = %105 %111 = icmp eq i32 %106, 0 @@ -298,7 +298,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %115 = and i32 %102, 131072 %116 = icmp eq i32 %115, 0 %117 = select i1 %114, i1 %116, i1 false - br i1 %117, label %6035, label %118, !prof !50 + br i1 %117, label %6031, label %118, !prof !50 118: ; preds = %112 %119 = and i32 %45, 131072 @@ -306,7 +306,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %121 = and i32 %102, 262144 %122 = icmp eq i32 %121, 0 %123 = select i1 %120, i1 %122, i1 false - br i1 %123, label %6035, label %124, !prof !50 + br i1 %123, label %6031, label %124, !prof !50 124: ; preds = %118 %125 = select i1 %114, i8 -14, i8 -13 @@ -329,7 +329,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 134: ; preds = %130 %135 = and i32 %102, 16384 %136 = icmp eq i32 %135, 0 - br i1 %136, label %6035, label %137, !prof !37 + br i1 %136, label %6031, label %137, !prof !37 137: ; preds = %134 %138 = getelementptr inbounds i8, ptr %0, i64 88 @@ -344,7 +344,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %145 = load i32, ptr %144, align 4 %146 = icmp ne i32 %145, 1 %147 = select i1 %143, i1 true, i1 %146 - br i1 %147, label %6035, label %148, !prof !52 + br i1 %147, label %6031, label %148, !prof !52 148: ; preds = %141, %137 %149 = and i32 %45, 32768 @@ -369,9 +369,9 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %165 = or i32 %159, %164 %166 = getelementptr inbounds i8, ptr %16, i64 4 %167 = load i8, ptr %166, align 4, !tbaa !56 - switch i8 %167, label %6035 [ - i8 0, label %6010 - i8 1, label %4163 + switch i8 %167, label %6031 [ + i8 0, label %6006 + i8 1, label %4159 i8 2, label %176 i8 3, label %179 i8 4, label %189 @@ -406,160 +406,160 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O i8 33, label %929 i8 34, label %1038 i8 35, label %1077 - i8 36, label %1109 - i8 37, label %1158 - i8 38, label %1163 - i8 39, label %1176 - i8 40, label %1197 - i8 41, label %5730 - i8 42, label %1201 - i8 43, label %1249 - i8 44, label %1261 - i8 45, label %1658 - i8 46, label %1725 - i8 47, label %1757 - i8 48, label %1767 - i8 49, label %1789 - i8 50, label %1828 - i8 51, label %1860 - i8 52, label %1883 - i8 53, label %1929 - i8 54, label %1943 - i8 55, label %2011 - i8 56, label %2025 - i8 57, label %2084 - i8 58, label %2111 - i8 59, label %2138 - i8 60, label %2170 - i8 62, label %2298 - i8 61, label %2320 - i8 63, label %4381 - i8 64, label %2414 - i8 65, label %5317 - i8 66, label %2439 - i8 67, label %2463 - i8 68, label %2467 - i8 69, label %2507 - i8 71, label %2537 - i8 70, label %2540 - i8 72, label %2546 - i8 83, label %2559 - i8 84, label %2587 - i8 85, label %2610 - i8 86, label %2637 - i8 87, label %2670 - i8 88, label %2711 - i8 74, label %2747 - i8 75, label %2757 - i8 77, label %2775 - i8 78, label %2781 - i8 73, label %2788 - i8 76, label %2799 - i8 79, label %2822 - i8 80, label %2843 - i8 81, label %2883 - i8 82, label %2894 - i8 89, label %2919 - i8 90, label %2940 - i8 91, label %2963 - i8 92, label %5332 - i8 93, label %5358 - i8 94, label %2971 - i8 95, label %3009 - i8 96, label %3019 - i8 97, label %3021 - i8 98, label %3023 - i8 99, label %3040 - i8 102, label %3058 - i8 101, label %3067 - i8 100, label %3076 - i8 104, label %3088 - i8 105, label %3106 - i8 107, label %3116 - i8 108, label %3131 + i8 36, label %1108 + i8 37, label %1157 + i8 38, label %1162 + i8 39, label %1175 + i8 40, label %1196 + i8 41, label %5726 + i8 42, label %1200 + i8 43, label %1248 + i8 44, label %1260 + i8 45, label %1657 + i8 46, label %1724 + i8 47, label %1756 + i8 48, label %1766 + i8 49, label %1788 + i8 50, label %1827 + i8 51, label %1858 + i8 52, label %1881 + i8 53, label %1927 + i8 54, label %1941 + i8 55, label %2009 + i8 56, label %2023 + i8 57, label %2082 + i8 58, label %2109 + i8 59, label %2136 + i8 60, label %2168 + i8 62, label %2296 + i8 61, label %2318 + i8 63, label %4377 + i8 64, label %2412 + i8 65, label %5313 + i8 66, label %2437 + i8 67, label %2461 + i8 68, label %2465 + i8 69, label %2505 + i8 71, label %2535 + i8 70, label %2538 + i8 72, label %2544 + i8 83, label %2557 + i8 84, label %2585 + i8 85, label %2608 + i8 86, label %2635 + i8 87, label %2668 + i8 88, label %2709 + i8 74, label %2745 + i8 75, label %2755 + i8 77, label %2772 + i8 78, label %2778 + i8 73, label %2785 + i8 76, label %2796 + i8 79, label %2819 + i8 80, label %2840 + i8 81, label %2880 + i8 82, label %2891 + i8 89, label %2916 + i8 90, label %2937 + i8 91, label %2960 + i8 92, label %5328 + i8 93, label %5354 + i8 94, label %2968 + i8 95, label %3006 + i8 96, label %3016 + i8 97, label %3018 + i8 98, label %3020 + i8 99, label %3037 + i8 102, label %3055 + i8 101, label %3064 + i8 100, label %3073 + i8 104, label %3085 + i8 105, label %3102 + i8 107, label %3112 + i8 108, label %3127 i8 106, label %168 - i8 103, label %3162 - i8 109, label %3173 - i8 110, label %3191 - i8 112, label %3242 - i8 113, label %3252 - i8 111, label %3261 - i8 114, label %3273 - i8 116, label %3292 - i8 115, label %3302 - i8 118, label %3312 + i8 103, label %3158 + i8 109, label %3169 + i8 110, label %3187 + i8 112, label %3238 + i8 113, label %3248 + i8 111, label %3257 + i8 114, label %3269 + i8 116, label %3288 + i8 115, label %3298 + i8 118, label %3308 i8 117, label %170 - i8 119, label %3328 - i8 121, label %3356 - i8 120, label %3365 - i8 123, label %3391 - i8 125, label %3397 + i8 119, label %3324 + i8 121, label %3352 + i8 120, label %3361 + i8 123, label %3387 + i8 125, label %3393 i8 124, label %172 - i8 122, label %3413 - i8 127, label %3437 - i8 126, label %3447 - i8 -127, label %3465 - i8 -128, label %3487 - i8 -126, label %3511 - i8 -104, label %3534 - i8 -124, label %3597 - i8 -125, label %3606 - i8 -123, label %3626 - i8 -121, label %3657 - i8 -122, label %3666 - i8 -120, label %3702 - i8 -119, label %3749 - i8 -117, label %3780 - i8 -118, label %3789 - i8 -114, label %3821 + i8 122, label %3409 + i8 127, label %3433 + i8 126, label %3443 + i8 -127, label %3461 + i8 -128, label %3483 + i8 -126, label %3507 + i8 -104, label %3530 + i8 -124, label %3593 + i8 -125, label %3602 + i8 -123, label %3622 + i8 -121, label %3653 + i8 -122, label %3662 + i8 -120, label %3698 + i8 -119, label %3745 + i8 -117, label %3776 + i8 -118, label %3785 + i8 -114, label %3817 i8 -115, label %174 - i8 -116, label %3837 - i8 -112, label %3879 - i8 -113, label %3889 - i8 -108, label %3903 - i8 -110, label %3907 - i8 -111, label %3917 - i8 -109, label %3934 - i8 -106, label %3947 - i8 -107, label %3956 - i8 -105, label %3991 - i8 -103, label %4054 - i8 -101, label %4066 - i8 -102, label %4075 - i8 -100, label %4116 - i8 -99, label %4118 - i8 -98, label %4123 - i8 -97, label %4128 - i8 -96, label %4133 + i8 -116, label %3833 + i8 -112, label %3875 + i8 -113, label %3885 + i8 -108, label %3899 + i8 -110, label %3903 + i8 -111, label %3913 + i8 -109, label %3930 + i8 -106, label %3943 + i8 -107, label %3952 + i8 -105, label %3987 + i8 -103, label %4050 + i8 -101, label %4062 + i8 -102, label %4071 + i8 -100, label %4112 + i8 -99, label %4114 + i8 -98, label %4119 + i8 -97, label %4124 + i8 -96, label %4129 ] 168: ; preds = %153 %169 = load i32, ptr %3, align 4, !tbaa !31 %.pre = load i32, ptr %2, align 4, !tbaa !31 - br label %3153 + br label %3149 170: ; preds = %153 %171 = load i32, ptr %2, align 4, !tbaa !31 - br label %3318 + br label %3314 172: ; preds = %153 %173 = load i32, ptr %2, align 4, !tbaa !31 - br label %3403 + br label %3399 174: ; preds = %153 %175 = load i32, ptr %3, align 4, !tbaa !31 - br label %3827 + br label %3823 176: ; preds = %153 %177 = lshr i32 %159, 13 %178 = and i32 %177, 7 - br label %4381 + br label %4377 179: ; preds = %153 %180 = load i32, ptr %2, align 4, !tbaa !31 %181 = and i32 %180, 7 %182 = icmp eq i32 %181, 3 - br i1 %182, label %183, label %6035 + br i1 %182, label %183, label %6031 183: ; preds = %179 %184 = lshr i32 %159, 13 @@ -567,13 +567,13 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %186 = getelementptr inbounds i8, ptr %2, i64 8 %187 = load i64, ptr %186, align 4 %188 = and i64 %187, 255 - br label %4381 + br label %4377 189: ; preds = %153 %190 = load i32, ptr %2, align 4, !tbaa !31 %191 = and i32 %190, 7 %192 = icmp eq i32 %191, 1 - br i1 %192, label %193, label %6035, !prof !35 + br i1 %192, label %193, label %6031, !prof !35 193: ; preds = %189 %194 = lshr i32 %190, 3 @@ -589,11 +589,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O store i8 103, ptr %154, align 1, !tbaa !51 %204 = zext i1 %203 to i64 %205 = getelementptr inbounds i8, ptr %154, i64 %204 - br label %4163 + br label %4159 206: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %4163 + switch i32 %31, label %6031 [ + i32 0, label %4159 i32 1, label %207 ] @@ -601,11 +601,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %208 = getelementptr inbounds i8, ptr %2, i64 4 %209 = load i32, ptr %208, align 4, !tbaa !58 %210 = icmp eq i32 %209, 0 - br i1 %210, label %4163, label %6035 + br i1 %210, label %4159, label %6031 211: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %4163 + switch i32 %31, label %6031 [ + i32 0, label %4159 i32 9, label %212 ] @@ -617,11 +617,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %217 = load i32, ptr %216, align 4 %218 = icmp eq i32 %217, 0 %219 = select i1 %215, i1 %218, i1 false - br i1 %219, label %4163, label %6035 + br i1 %219, label %4159, label %6031 220: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %4163 + switch i32 %31, label %6031 [ + i32 0, label %4159 i32 2, label %221 ] @@ -637,10 +637,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %230 = load i32, ptr %229, align 4 %231 = icmp eq i32 %230, 0 %232 = select i1 %228, i1 %231, i1 false - br i1 %232, label %4307, label %6035 + br i1 %232, label %4303, label %6031 233: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 3, label %234 i32 25, label %238 ] @@ -649,19 +649,19 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %235 = getelementptr inbounds i8, ptr %2, i64 8 %236 = load i64, ptr %235, align 4 %237 = and i64 %236, 255 - br label %4163 + br label %4159 238: ; preds = %233 %239 = getelementptr inbounds i8, ptr %2, i64 4 %240 = load i32, ptr %239, align 4, !tbaa !58 %241 = icmp eq i32 %240, 0 - br i1 %241, label %242, label %6035 + br i1 %241, label %242, label %6031 242: ; preds = %238 %243 = getelementptr inbounds i8, ptr %3, i64 8 %244 = load i64, ptr %243, align 4 %245 = and i64 %244, 255 - br label %4163 + br label %4159 246: ; preds = %153 %247 = load i32, ptr %2, align 4, !tbaa !31 @@ -687,9 +687,9 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %261 = phi i32 [ %165, %153 ], [ %165, %246 ], [ %259, %252 ] %262 = getelementptr inbounds i8, ptr %2, i64 4 %263 = load i32, ptr %262, align 4, !tbaa !58 - switch i32 %31, label %6035 [ - i32 1, label %4381 - i32 2, label %4518 + switch i32 %31, label %6031 [ + i32 1, label %4377 + i32 2, label %4514 ] 264: ; preds = %929, %153 @@ -697,7 +697,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O br i1 %265, label %266, label %329 266: ; preds = %264 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %267 i32 17, label %269 i32 73, label %303 @@ -720,13 +720,13 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %276 = load i32, ptr %275, align 4, !tbaa !58 %277 = icmp eq i32 %276, 0 %278 = and i1 %274, %277 - br i1 %278, label %279, label %6035, !prof !35 + br i1 %278, label %279, label %6031, !prof !35 279: ; preds = %271 %280 = load i32, ptr %3, align 4, !tbaa !47 %281 = and i32 %280, -16773369 %282 = icmp eq i32 %281, 16777217 - br i1 %282, label %283, label %6035, !prof !35 + br i1 %282, label %283, label %6031, !prof !35 283: ; preds = %279 %284 = getelementptr inbounds i8, ptr %3, i64 4 @@ -739,12 +739,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %289 = icmp ugt i32 %285, 3 %290 = select i1 %289, i32 1073741824, i32 0 %291 = or i32 %290, %46 - br label %4381 + br label %4377 292: ; preds = %283 %293 = or i32 %46, -2147483648 %294 = add i32 %285, 4 - br label %4381 + br label %4377 295: ; preds = %998, %269 %296 = phi i32 [ %270, %269 ], [ %1002, %998 ] @@ -754,7 +754,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %300 = load i32, ptr %299, align 4, !tbaa !58 %301 = icmp eq i32 %300, 0 %302 = and i1 %298, %301 - br i1 %302, label %4518, label %6035, !prof !35 + br i1 %302, label %4514, label %6031, !prof !35 303: ; preds = %266 %304 = load i32, ptr %2, align 4, !tbaa !31 @@ -762,7 +762,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %306 = load i32, ptr %3, align 4, !tbaa !31 %307 = lshr i32 %306, 24 %308 = icmp eq i32 %305, %307 - br i1 %308, label %309, label %6035, !prof !35 + br i1 %308, label %309, label %6031, !prof !35 309: ; preds = %303 %310 = and i32 %305, 15 @@ -772,7 +772,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %314 = or i32 %313, %165 %315 = getelementptr inbounds i8, ptr %4, i64 4 %316 = load i32, ptr %315, align 4, !tbaa !58 - br label %4381 + br label %4377 317: ; preds = %266 %318 = load i32, ptr %2, align 4, !tbaa !31 @@ -780,7 +780,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %320 = load i32, ptr %3, align 4, !tbaa !31 %321 = lshr i32 %320, 24 %322 = icmp eq i32 %319, %321 - br i1 %322, label %323, label %6035, !prof !35 + br i1 %322, label %323, label %6031, !prof !35 323: ; preds = %317 %324 = and i32 %319, 15 @@ -788,10 +788,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %326 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %325 %327 = load i32, ptr %326, align 4, !tbaa !47 %328 = or i32 %327, %165 - br label %4518 + br label %4514 329: ; preds = %264, %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 1, label %330 i32 2, label %351 ] @@ -807,7 +807,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %338 = getelementptr inbounds i8, ptr %2, i64 4 %339 = load i32, ptr %338, align 4, !tbaa !58 %340 = icmp eq i32 %332, 1 - br i1 %340, label %341, label %4381 + br i1 %340, label %341, label %4377 341: ; preds = %330 %342 = and i32 %331, 16781311 @@ -818,17 +818,17 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %345 = icmp ugt i32 %339, 3 %346 = select i1 %345, i32 1073741824, i32 0 %347 = or i32 %346, %46 - br label %4381 + br label %4377 348: ; preds = %341 %349 = or i32 %46, -2147483648 %350 = add i32 %339, 4 - br label %4381 + br label %4377 351: ; preds = %329 %352 = load i32, ptr %2, align 4, !tbaa !31 %353 = icmp ult i32 %352, 16777216 - br i1 %353, label %6035, label %354, !prof !37 + br i1 %353, label %6031, label %354, !prof !37 354: ; preds = %351 %355 = lshr i32 %352, 24 @@ -837,12 +837,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %358 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %357 %359 = load i32, ptr %358, align 4, !tbaa !47 %360 = or i32 %359, %165 - br label %4518 + br label %4514 361: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 74, label %362 - i32 2, label %4518 + i32 2, label %4514 ] 362: ; preds = %361 @@ -853,7 +853,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %367 = load i32, ptr %366, align 4, !tbaa !58 %368 = icmp eq i32 %367, 2 %369 = and i1 %365, %368 - br i1 %369, label %370, label %6035 + br i1 %369, label %370, label %6031 370: ; preds = %362 %371 = load i32, ptr %4, align 4, !tbaa !31 @@ -863,15 +863,15 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %375 = load i32, ptr %374, align 4, !tbaa !58 %376 = icmp eq i32 %375, 0 %377 = and i1 %373, %376 - br i1 %377, label %4518, label %6035 + br i1 %377, label %4514, label %6031 378: ; preds = %153 %379 = icmp eq i32 %31, 2 - br i1 %379, label %4518, label %6035 + br i1 %379, label %4514, label %6031 380: ; preds = %153 switch i32 %31, label %399 [ - i32 0, label %4163 + i32 0, label %4159 i32 1, label %381 i32 2, label %391 ] @@ -886,7 +886,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %388 = or i32 %387, 287 %389 = getelementptr inbounds i8, ptr %2, i64 4 %390 = load i32, ptr %389, align 4, !tbaa !58 - br label %4381 + br label %4377 391: ; preds = %380 %392 = load i32, ptr %2, align 4, !tbaa !31 @@ -896,7 +896,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %396 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %395 %397 = load i32, ptr %396, align 4, !tbaa !47 %398 = or i32 %397, 287 - br label %4518 + br label %4514 399: ; preds = %380 %400 = getelementptr inbounds i8, ptr %3, i64 4 @@ -908,19 +908,19 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %406 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %405 %407 = load i32, ptr %406, align 4, !tbaa !47 %408 = or i32 %407, 287 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %409 - i32 10, label %4518 + i32 10, label %4514 ] 409: ; preds = %399 %410 = getelementptr inbounds i8, ptr %2, i64 4 %411 = load i32, ptr %410, align 4, !tbaa !58 - br label %4381 + br label %4377 412: ; preds = %153 %413 = icmp eq i32 %31, 2 - br i1 %413, label %414, label %6035 + br i1 %413, label %414, label %6031 414: ; preds = %412 %415 = getelementptr inbounds i8, ptr %2, i64 4 @@ -942,10 +942,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %431 = and i32 %423, 2 %432 = icmp ne i32 %431, 0 %433 = select i1 %430, i1 true, i1 %432, !prof !37 - br i1 %433, label %6035, label %4455, !prof !37 + br i1 %433, label %6031, label %4451, !prof !37 434: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 73, label %435 i32 1, label %454 ] @@ -958,7 +958,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %440 = load i32, ptr %439, align 4, !tbaa !58 %441 = icmp eq i32 %440, 2 %442 = and i1 %438, %441 - br i1 %442, label %443, label %6035 + br i1 %442, label %443, label %6031 443: ; preds = %435 %444 = load i32, ptr %4, align 4, !tbaa !31 @@ -968,32 +968,32 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %448 = load i32, ptr %447, align 4, !tbaa !58 %449 = icmp eq i32 %448, 0 %450 = and i1 %446, %449 - br i1 %450, label %451, label %6035 + br i1 %450, label %451, label %6031 451: ; preds = %443 %452 = getelementptr inbounds i8, ptr %2, i64 4 %453 = load i32, ptr %452, align 4, !tbaa !58 - br label %4381 + br label %4377 454: ; preds = %434 %455 = load i32, ptr %2, align 4, !tbaa !31 %456 = and i32 %455, -16773121 %457 = icmp eq i32 %456, 67108913 - br i1 %457, label %458, label %6035 + br i1 %457, label %458, label %6031 458: ; preds = %454 %459 = getelementptr inbounds i8, ptr %2, i64 4 %460 = load i32, ptr %459, align 4, !tbaa !58 - br label %4381 + br label %4377 461: ; preds = %153 %462 = icmp eq i32 %31, 1 - br i1 %462, label %463, label %6035 + br i1 %462, label %463, label %6031 463: ; preds = %461 %464 = getelementptr inbounds i8, ptr %2, i64 4 %465 = load i32, ptr %464, align 4, !tbaa !58 - br label %4381 + br label %4377 466: ; preds = %153 %467 = load i32, ptr %2, align 4, !tbaa !31 @@ -1007,7 +1007,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 474: ; preds = %466, %153 %475 = phi i32 [ %165, %153 ], [ %473, %466 ] - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %476 i32 17, label %481 ] @@ -1017,15 +1017,15 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %478 = load i32, ptr %477, align 4, !tbaa !58 %479 = getelementptr inbounds i8, ptr %3, i64 4 %480 = load i32, ptr %479, align 4, !tbaa !58 - br label %4381 + br label %4377 481: ; preds = %474 %482 = getelementptr inbounds i8, ptr %2, i64 4 %483 = load i32, ptr %482, align 4, !tbaa !58 - br label %4518 + br label %4514 484: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %485 i32 17, label %499 ] @@ -1043,13 +1043,13 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 493: ; preds = %485 store i8 102, ptr %154, align 1, !tbaa !51 %494 = getelementptr inbounds i8, ptr %154, i64 1 - br label %4381 + br label %4377 495: ; preds = %485 %496 = icmp eq i32 %491, 8 %497 = select i1 %496, i32 134217728, i32 0 %498 = or i32 %497, %165 - br label %4381 + br label %4377 499: ; preds = %484 %500 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1062,13 +1062,13 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 505: ; preds = %499 store i8 102, ptr %154, align 1, !tbaa !51 %506 = getelementptr inbounds i8, ptr %154, i64 1 - br label %4518 + br label %4514 507: ; preds = %499 %508 = icmp eq i32 %503, 8 %509 = select i1 %508, i32 134217728, i32 0 %510 = or i32 %509, %165 - br label %4518 + br label %4514 511: ; preds = %153 %512 = load i32, ptr %2, align 4, !tbaa !31 @@ -1082,7 +1082,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 519: ; preds = %511, %153 %520 = phi i32 [ %165, %153 ], [ %518, %511 ] - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %521 i32 10, label %526 ] @@ -1092,15 +1092,15 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %523 = load i32, ptr %522, align 4, !tbaa !58 %524 = getelementptr inbounds i8, ptr %3, i64 4 %525 = load i32, ptr %524, align 4, !tbaa !58 - br label %4381 + br label %4377 526: ; preds = %519 %527 = getelementptr inbounds i8, ptr %3, i64 4 %528 = load i32, ptr %527, align 4, !tbaa !58 - br label %4518 + br label %4514 529: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %530 i32 17, label %577 i32 10, label %599 @@ -1119,7 +1119,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %538 = load i32, ptr %3, align 4, !tbaa !31 %539 = lshr i32 %538, 24 %540 = icmp eq i32 %532, %539 - br i1 %540, label %541, label %6035 + br i1 %540, label %541, label %6031 541: ; preds = %530 %542 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1169,11 +1169,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %572 = phi i32 [ %567, %566 ], [ %565, %562 ], [ %46, %541 ] %573 = and i32 %572, 512 %574 = icmp eq i32 %573, 0 - br i1 %574, label %4381, label %575 + br i1 %574, label %4377, label %575 575: ; preds = %569 %576 = add i32 %537, 2 - br label %4381 + br label %4377 577: ; preds = %529 %578 = add i32 %165, 2 @@ -1187,7 +1187,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %586 = getelementptr inbounds i8, ptr %2, i64 4 %587 = load i32, ptr %586, align 4, !tbaa !58 %588 = icmp eq i32 %580, 1 - br i1 %588, label %589, label %4518 + br i1 %588, label %589, label %4514 589: ; preds = %577 %590 = and i32 %579, 16781311 @@ -1198,12 +1198,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %593 = icmp ugt i32 %587, 3 %594 = select i1 %593, i32 1073741824, i32 0 %595 = or i32 %594, %46 - br label %4518 + br label %4514 596: ; preds = %589 %597 = or i32 %46, -2147483648 %598 = add i32 %587, 4 - br label %4518 + br label %4514 599: ; preds = %529 %600 = load i32, ptr %3, align 4, !tbaa !31 @@ -1216,7 +1216,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %607 = getelementptr inbounds i8, ptr %3, i64 4 %608 = load i32, ptr %607, align 4, !tbaa !58 %609 = icmp eq i32 %601, 1 - br i1 %609, label %610, label %4518 + br i1 %609, label %610, label %4514 610: ; preds = %599 %611 = and i32 %600, 16781311 @@ -1227,12 +1227,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %614 = icmp ugt i32 %608, 3 %615 = select i1 %614, i32 1073741824, i32 0 %616 = or i32 %615, %46 - br label %4518 + br label %4514 617: ; preds = %610 %618 = or i32 %46, -2147483648 %619 = add i32 %608, 4 - br label %4518 + br label %4514 620: ; preds = %529 %621 = load i32, ptr %2, align 4, !tbaa !31 @@ -1286,10 +1286,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 648: ; preds = %642 %649 = add i64 %626, 2147483648 %650 = icmp ult i64 %649, 4294967296 - br i1 %650, label %661, label %6035 + br i1 %650, label %661, label %6031 651: ; preds = %644 - br i1 %645, label %661, label %6035 + br i1 %645, label %661, label %6031 652: ; preds = %644 br i1 %645, label %653, label %661 @@ -1347,7 +1347,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %693 = or disjoint i32 %689, %692 %694 = call noundef i32 @llvm.umin.i32(i32 %674, i32 4) %695 = trunc i32 %694 to i8 - br label %4163 + br label %4159 696: ; preds = %681, %673 %697 = icmp eq i32 %674, 1 @@ -1355,12 +1355,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %699 = select i1 %698, i32 3, i32 1 %700 = select i1 %697, i32 0, i32 %699 %701 = add nuw nsw i32 %700, %677 - br label %4381 + br label %4377 702: ; preds = %529 %703 = load i32, ptr %2, align 4, !tbaa !31 %704 = icmp ult i32 %703, 16777216 - br i1 %704, label %6035, label %705, !prof !37 + br i1 %704, label %6031, label %705, !prof !37 705: ; preds = %702 %706 = lshr i32 %703, 24 @@ -1387,17 +1387,17 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %727 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %726 %728 = load i32, ptr %727, align 4, !tbaa !47 %729 = or i32 %724, %728 - br label %4518 + br label %4514 730: ; preds = %153 %731 = icmp eq i32 %31, 1 - br i1 %731, label %732, label %6035 + br i1 %731, label %732, label %6031 732: ; preds = %730 %733 = load i32, ptr %2, align 4, !tbaa !31 %734 = lshr i32 %733, 24 %735 = icmp eq i32 %734, 1 - br i1 %735, label %6035, label %736, !prof !37 + br i1 %735, label %6031, label %736, !prof !37 736: ; preds = %732 %737 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1407,7 +1407,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %741 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %740 %742 = load i32, ptr %741, align 4, !tbaa !47 %743 = or i32 %742, %165 - br label %4233 + br label %4229 744: ; preds = %153 switch i32 %31, label %767 [ @@ -1427,7 +1427,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %754 = load i32, ptr %753, align 4, !tbaa !58 %755 = getelementptr inbounds i8, ptr %2, i64 4 %756 = load i32, ptr %755, align 4, !tbaa !58 - br label %4381 + br label %4377 757: ; preds = %744 %758 = load i32, ptr %3, align 4, !tbaa !31 @@ -1439,7 +1439,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %764 = or i32 %763, %165 %765 = getelementptr inbounds i8, ptr %3, i64 4 %766 = load i32, ptr %765, align 4, !tbaa !58 - br label %4518 + br label %4514 767: ; preds = %744 %768 = getelementptr inbounds i8, ptr %3, i64 8 @@ -1458,7 +1458,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %781 = or i32 %780, %774 %782 = lshr i32 %781, 18 %783 = and i32 %782, 7 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 25, label %784 i32 26, label %787 ] @@ -1466,22 +1466,22 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 784: ; preds = %767 %785 = getelementptr inbounds i8, ptr %2, i64 4 %786 = load i32, ptr %785, align 4, !tbaa !58 - br label %4381 + br label %4377 787: ; preds = %767 %788 = icmp ult i32 %775, 16777216 - br i1 %788, label %6035, label %4518, !prof !37 + br i1 %788, label %6031, label %4514, !prof !37 789: ; preds = %153 - switch i32 %31, label %5730 [ + switch i32 %31, label %5726 [ i32 1, label %790 - i32 2, label %4518 + i32 2, label %4514 ] 790: ; preds = %789 %791 = getelementptr inbounds i8, ptr %2, i64 4 %792 = load i32, ptr %791, align 4, !tbaa !58 - br label %4381 + br label %4377 793: ; preds = %153 %794 = icmp eq i32 %30, 0 @@ -1495,11 +1495,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %800 = load i32, ptr %799, align 4 %801 = icmp eq i32 %800, 0 %802 = select i1 %798, i1 %801, i1 false - br i1 %802, label %803, label %6035 + br i1 %802, label %803, label %6031 803: ; preds = %795, %793 %804 = phi i32 [ %31, %793 ], [ %27, %795 ] - switch i32 %804, label %6035 [ + switch i32 %804, label %6031 [ i32 9, label %805 i32 10, label %844 ] @@ -1510,7 +1510,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %808 = load i32, ptr %3, align 4, !tbaa !31 %809 = lshr i32 %808, 24 %810 = icmp eq i32 %807, %809 - br i1 %810, label %811, label %6035 + br i1 %810, label %811, label %6031 811: ; preds = %805 %812 = and i32 %807, 15 @@ -1523,7 +1523,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %819 = getelementptr inbounds i8, ptr %3, i64 4 %820 = load i32, ptr %819, align 4, !tbaa !58 %821 = icmp eq i32 %807, 1 - br i1 %821, label %822, label %4381 + br i1 %821, label %822, label %4377 822: ; preds = %811 %823 = and i32 %806, 16781311 @@ -1552,12 +1552,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %838 = icmp ugt i32 %820, 3 %839 = select i1 %838, i32 1073741824, i32 0 %840 = or i32 %834, %839 - br label %4381 + br label %4377 841: ; preds = %832 %842 = or i32 %834, -2147483648 %843 = add i32 %820, 4 - br label %4381 + br label %4377 844: ; preds = %803 %845 = load i32, ptr %3, align 4, !tbaa !31 @@ -1570,7 +1570,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %852 = getelementptr inbounds i8, ptr %3, i64 4 %853 = load i32, ptr %852, align 4, !tbaa !58 %854 = icmp eq i32 %846, 1 - br i1 %854, label %855, label %4518 + br i1 %854, label %855, label %4514 855: ; preds = %844 %856 = and i32 %845, 16781311 @@ -1581,31 +1581,31 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %859 = icmp ugt i32 %853, 3 %860 = select i1 %859, i32 1073741824, i32 0 %861 = or i32 %860, %46 - br label %4518 + br label %4514 862: ; preds = %855 %863 = or i32 %46, -2147483648 %864 = add i32 %853, 4 - br label %4518 + br label %4514 865: ; preds = %153 %866 = getelementptr inbounds i8, ptr %5, i64 16 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 74, label %867 - i32 2, label %4518 + i32 2, label %4514 ] 867: ; preds = %865 %868 = load i32, ptr %5, align 4, !tbaa !31 %869 = and i32 %868, 7 %870 = icmp eq i32 %869, 1 - br i1 %870, label %871, label %6035 + br i1 %870, label %871, label %6031 871: ; preds = %867 %872 = load i32, ptr %866, align 4, !tbaa !31 %873 = and i32 %872, 7 %874 = icmp eq i32 %873, 1 - br i1 %874, label %4518, label %6035 + br i1 %874, label %4514, label %6031 875: ; preds = %153 %876 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1615,7 +1615,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %880 = icmp eq i32 %879, 134217728 %881 = select i1 %880, i32 134217728, i32 0 %882 = or i32 %881, %165 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 9, label %883 i32 17, label %904 ] @@ -1640,12 +1640,12 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %893 = icmp ugt i32 %885, 3 %894 = select i1 %893, i32 1073741824, i32 0 %895 = or i32 %894, %46 - br label %4381 + br label %4377 896: ; preds = %889 %897 = or i32 %46, -2147483648 %898 = add i32 %885, 4 - br label %4381 + br label %4377 899: ; preds = %883 store i8 102, ptr %154, align 1, !tbaa !51 @@ -1655,14 +1655,14 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 901: ; preds = %899, %883 %902 = phi ptr [ %900, %899 ], [ %154, %883 ] %903 = add i32 %882, 1 - br label %4381 + br label %4377 904: ; preds = %875 %905 = load i32, ptr %3, align 4, !tbaa !31 %906 = lshr i32 %905, 24 %907 = trunc i32 %906 to i8 switch i8 %907, label %911 [ - i8 0, label %6035 + i8 0, label %6031 i8 2, label %908 ] @@ -1679,11 +1679,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %915 = icmp ne i32 %914, 16777216 %916 = zext i1 %915 to i32 %917 = add i32 %882, %916 - br label %4518 + br label %4514 918: ; preds = %153 %919 = icmp eq i32 %31, 27 - br i1 %919, label %920, label %6035 + br i1 %919, label %920, label %6031 920: ; preds = %918 %921 = getelementptr inbounds i8, ptr %2, i64 8 @@ -1694,7 +1694,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %926 = shl i64 %925, 16 %927 = and i64 %926, 16711680 %928 = or disjoint i64 %927, %923 - br label %4163 + br label %4159 929: ; preds = %153 switch i32 %31, label %264 [ @@ -1729,7 +1729,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %951 = load i32, ptr %950, align 4, !tbaa !58 %952 = getelementptr inbounds i8, ptr %3, i64 4 %953 = load i32, ptr %952, align 4, !tbaa !58 - br label %4381 + br label %4377 954: ; preds = %929 %955 = load i32, ptr %2, align 4, !tbaa !31 @@ -1757,7 +1757,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %977 = select i1 %972, i8 %975, i8 1 %978 = getelementptr inbounds i8, ptr %2, i64 4 %979 = load i32, ptr %978, align 4, !tbaa !58 - br label %4518 + br label %4514 980: ; preds = %929 %981 = load i32, ptr %3, align 4, !tbaa !31 @@ -1769,7 +1769,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O 985: ; preds = %980 %986 = lshr i32 %984, 24 %987 = icmp eq i32 %986, %982 - br i1 %987, label %988, label %6035 + br i1 %987, label %988, label %6031 988: ; preds = %985 %989 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1781,7 +1781,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %995 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %994 %996 = load i32, ptr %995, align 4, !tbaa !47 %997 = or i32 %996, 431 - br label %4381 + br label %4377 998: ; preds = %929 %999 = load i32, ptr %3, align 4, !tbaa !31 @@ -1799,7 +1799,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1009 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1008 %1010 = load i32, ptr %1009, align 4, !tbaa !47 %1011 = or i32 %1010, 431 - br label %4518 + br label %4514 1012: ; preds = %929 %1013 = load i32, ptr %2, align 4, !tbaa !31 @@ -1827,10 +1827,10 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1035 = select i1 %1030, i8 %1033, i8 1 %1036 = getelementptr inbounds i8, ptr %2, i64 4 %1037 = load i32, ptr %1036, align 4, !tbaa !58 - br label %4381 + br label %4377 1038: ; preds = %153 - switch i32 %31, label %6035 [ + switch i32 %31, label %6031 [ i32 25, label %1039 i32 9, label %1060 ] @@ -1839,7 +1839,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1040 = getelementptr inbounds i8, ptr %2, i64 4 %1041 = load i32, ptr %1040, align 4, !tbaa !58 %1042 = icmp eq i32 %1041, 0 - br i1 %1042, label %1043, label %6035, !prof !35 + br i1 %1042, label %1043, label %6031, !prof !35 1043: ; preds = %1039 %1044 = getelementptr inbounds i8, ptr %3, i64 8 @@ -1858,7 +1858,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1057 = icmp eq i32 %1053, 2 %1058 = select i1 %1057, i32 2097152, i32 0 %1059 = or i32 %1056, %1058 - br label %4163 + br label %4159 1060: ; preds = %1038 %1061 = getelementptr inbounds i8, ptr %2, i64 4 @@ -1868,7 +1868,7 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1065 = load i32, ptr %1064, align 4 %1066 = icmp ne i32 %1065, 2 %1067 = select i1 %1063, i1 true, i1 %1066 - br i1 %1067, label %6035, label %1068, !prof !62 + br i1 %1067, label %6031, label %1068, !prof !62 1068: ; preds = %1060 %1069 = load i32, ptr %2, align 4, !tbaa !31 @@ -1879,11 +1879,11 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1074 = icmp eq i32 %1070, 2 %1075 = select i1 %1074, i32 2097152, i32 0 %1076 = or i32 %1073, %1075 - br label %4163 + br label %4159 1077: ; preds = %153 %1078 = icmp eq i32 %31, 10 - br i1 %1078, label %1079, label %6035 + br i1 %1078, label %1079, label %6031 1079: ; preds = %1077 %1080 = load i32, ptr %2, align 4, !tbaa !31 @@ -1893,7046 +1893,7042 @@ define dso_local noundef i32 @_ZN6asmjit9_abi_1_103x869Assembler5_emitEjRKNS0_8O %1084 = load i32, ptr %1083, align 4 %1085 = icmp eq i32 %1084, 7 %1086 = select i1 %1082, i1 %1085, i1 false - br i1 %1086, label %1087, label %6035, !prof !63 + br i1 %1086, label %1087, label %6031, !prof !63 1087: ; preds = %1079 %1088 = getelementptr inbounds i8, ptr %2, i64 12 %1089 = load i32, ptr %1088, align 4, !tbaa !47 %1090 = and i32 %1080, 248 %1091 = icmp eq i32 %1090, 0 - %1092 = select i1 %1091, i32 7, i32 0 - %1093 = or i32 %1089, %1092 - %1094 = icmp ne i32 %1093, 0 - %1095 = getelementptr inbounds i8, ptr %3, i64 4 - %1096 = load i32, ptr %1095, align 4 - %1097 = icmp ne i32 %1096, 2 - %1098 = select i1 %1094, i1 true, i1 %1097 - br i1 %1098, label %6035, label %1099, !prof !64 - -1099: ; preds = %1087 - %1100 = icmp ult i32 %1080, 16777216 - br i1 %1100, label %6035, label %1101, !prof !37 - -1101: ; preds = %1099 - %1102 = lshr i32 %1080, 24 - %1103 = icmp ne i32 %1102, 1 - %1104 = zext i1 %1103 to i32 - %1105 = add i32 %165, %1104 - %1106 = icmp eq i32 %1102, 2 - %1107 = select i1 %1106, i32 2097152, i32 0 - %1108 = or i32 %1105, %1107 - br label %4307 - -1109: ; preds = %153 - switch i32 %31, label %6035 [ - i32 1, label %1110 - i32 2, label %1148 + %1092 = icmp ne i32 %1089, 0 + %1093 = or i1 %1091, %1092 + %1094 = getelementptr inbounds i8, ptr %3, i64 4 + %1095 = load i32, ptr %1094, align 4 + %1096 = icmp ne i32 %1095, 2 + %1097 = select i1 %1093, i1 true, i1 %1096 + br i1 %1097, label %6031, label %1098, !prof !64 + +1098: ; preds = %1087 + %1099 = icmp ult i32 %1080, 16777216 + br i1 %1099, label %6031, label %1100, !prof !37 + +1100: ; preds = %1098 + %1101 = lshr i32 %1080, 24 + %1102 = icmp ne i32 %1101, 1 + %1103 = zext i1 %1102 to i32 + %1104 = add i32 %165, %1103 + %1105 = icmp eq i32 %1101, 2 + %1106 = select i1 %1105, i32 2097152, i32 0 + %1107 = or i32 %1104, %1106 + br label %4303 + +1108: ; preds = %153 + switch i32 %31, label %6031 [ + i32 1, label %1109 + i32 2, label %1147 ] -1110: ; preds = %1109 - %1111 = getelementptr inbounds i8, ptr %2, i64 4 - %1112 = load i32, ptr %1111, align 4, !tbaa !58 - %1113 = load i32, ptr %2, align 4, !tbaa !31 - %1114 = lshr i32 %1113, 24 - %1115 = icmp eq i32 %1114, 1 - br i1 %1115, label %1116, label %1126 - -1116: ; preds = %1110 - %1117 = and i32 %1113, 16781311 - %1118 = icmp eq i32 %1117, 16777249 - br i1 %1118, label %1123, label %1119 - -1119: ; preds = %1116 - %1120 = icmp ugt i32 %1112, 3 - %1121 = select i1 %1120, i32 1073741824, i32 0 - %1122 = or i32 %1121, %46 - br label %4381 - -1123: ; preds = %1116 - %1124 = or i32 %46, -2147483648 - %1125 = add i32 %1112, 4 - br label %4381 - -1126: ; preds = %1110 - %1127 = getelementptr inbounds i8, ptr %0, i64 72 - %1128 = load i8, ptr %1127, align 8, !tbaa !42 - %1129 = and i8 %1128, 1 - %1130 = icmp eq i8 %1129, 0 - br i1 %1130, label %1142, label %1131 - -1131: ; preds = %1126 - %1132 = getelementptr inbounds i8, ptr %16, i64 7 - %1133 = load i8, ptr %1132, align 1, !tbaa !61 - %1134 = zext i8 %1133 to i64 - %1135 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1134 - %1136 = load i32, ptr %1135, align 4, !tbaa !47 - %1137 = and i32 %1112, 7 - %1138 = add i32 %1136, %1137 - %1139 = icmp eq i32 %1114, 2 - %1140 = select i1 %1139, i32 2097152, i32 0 - %1141 = or i32 %1138, %1140 - br label %4163 - -1142: ; preds = %1126 - %1143 = and i32 %1114, 15 - %1144 = zext nneg i32 %1143 to i64 - %1145 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1144 - %1146 = load i32, ptr %1145, align 4, !tbaa !47 - %1147 = or i32 %1146, %165 - br label %4381 - -1148: ; preds = %1109 - %1149 = load i32, ptr %2, align 4, !tbaa !31 - %1150 = icmp ult i32 %1149, 16777216 - br i1 %1150, label %6035, label %1151 - -1151: ; preds = %1148 - %1152 = lshr i32 %1149, 24 - %1153 = and i32 %1152, 15 - %1154 = zext nneg i32 %1153 to i64 - %1155 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1154 - %1156 = load i32, ptr %1155, align 4, !tbaa !47 - %1157 = or i32 %1156, %165 - br label %4518 - -1158: ; preds = %153 - %1159 = icmp eq i32 %31, 3 - br i1 %1159, label %1160, label %6035 - -1160: ; preds = %1158 - %1161 = getelementptr inbounds i8, ptr %2, i64 8 - %1162 = load i64, ptr %1161, align 4 - br label %4163 - -1163: ; preds = %153 - %1164 = and i32 %45, 192 - %1165 = icmp eq i32 %1164, 0 - br i1 %1165, label %5730, label %1166 - -1166: ; preds = %1163 - %1167 = getelementptr inbounds i8, ptr %0, i64 32 - %1168 = load i32, ptr %1167, align 8, !tbaa !60 - %1169 = and i32 %1168, 16 - %1170 = icmp eq i32 %1169, 0 - br i1 %1170, label %5730, label %1171 - -1171: ; preds = %1166 - %1172 = and i32 %45, 64 - %1173 = icmp eq i32 %1172, 0 - %1174 = select i1 %1173, i8 46, i8 62 - store i8 %1174, ptr %154, align 1, !tbaa !51 - %1175 = getelementptr inbounds i8, ptr %154, i64 1 - br label %5730 - -1176: ; preds = %153 - %1177 = load i32, ptr %2, align 4, !tbaa !47 - %1178 = and i32 %1177, 7 - %1179 = icmp eq i32 %1178, 1 - br i1 %1179, label %1180, label %5730 - -1180: ; preds = %1176 - %1181 = and i32 %1177, 3841 - %1182 = icmp eq i32 %1181, 1 - %1183 = getelementptr inbounds i8, ptr %2, i64 4 - %1184 = load i32, ptr %1183, align 4, !tbaa !58 - %1185 = icmp eq i32 %1184, 1 - %1186 = and i1 %1182, %1185 - br i1 %1186, label %1187, label %6035, !prof !35 - -1187: ; preds = %1180 - %1188 = getelementptr inbounds i8, ptr %0, i64 72 - %1189 = load i8, ptr %1188, align 8, !tbaa !42 - %1190 = and i8 %1189, 1 - %1191 = icmp eq i8 %1190, 0 - %1192 = and i32 %1177, -16777216 - %1193 = select i1 %1191, i32 67108864, i32 33554432 - %1194 = icmp eq i32 %1192, %1193 +1109: ; preds = %1108 + %1110 = getelementptr inbounds i8, ptr %2, i64 4 + %1111 = load i32, ptr %1110, align 4, !tbaa !58 + %1112 = load i32, ptr %2, align 4, !tbaa !31 + %1113 = lshr i32 %1112, 24 + %1114 = icmp eq i32 %1113, 1 + br i1 %1114, label %1115, label %1125 + +1115: ; preds = %1109 + %1116 = and i32 %1112, 16781311 + %1117 = icmp eq i32 %1116, 16777249 + br i1 %1117, label %1122, label %1118 + +1118: ; preds = %1115 + %1119 = icmp ugt i32 %1111, 3 + %1120 = select i1 %1119, i32 1073741824, i32 0 + %1121 = or i32 %1120, %46 + br label %4377 + +1122: ; preds = %1115 + %1123 = or i32 %46, -2147483648 + %1124 = add i32 %1111, 4 + br label %4377 + +1125: ; preds = %1109 + %1126 = getelementptr inbounds i8, ptr %0, i64 72 + %1127 = load i8, ptr %1126, align 8, !tbaa !42 + %1128 = and i8 %1127, 1 + %1129 = icmp eq i8 %1128, 0 + br i1 %1129, label %1141, label %1130 + +1130: ; preds = %1125 + %1131 = getelementptr inbounds i8, ptr %16, i64 7 + %1132 = load i8, ptr %1131, align 1, !tbaa !61 + %1133 = zext i8 %1132 to i64 + %1134 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1133 + %1135 = load i32, ptr %1134, align 4, !tbaa !47 + %1136 = and i32 %1111, 7 + %1137 = add i32 %1135, %1136 + %1138 = icmp eq i32 %1113, 2 + %1139 = select i1 %1138, i32 2097152, i32 0 + %1140 = or i32 %1137, %1139 + br label %4159 + +1141: ; preds = %1125 + %1142 = and i32 %1113, 15 + %1143 = zext nneg i32 %1142 to i64 + %1144 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1143 + %1145 = load i32, ptr %1144, align 4, !tbaa !47 + %1146 = or i32 %1145, %165 + br label %4377 + +1147: ; preds = %1108 + %1148 = load i32, ptr %2, align 4, !tbaa !31 + %1149 = icmp ult i32 %1148, 16777216 + br i1 %1149, label %6031, label %1150 + +1150: ; preds = %1147 + %1151 = lshr i32 %1148, 24 + %1152 = and i32 %1151, 15 + %1153 = zext nneg i32 %1152 to i64 + %1154 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1153 + %1155 = load i32, ptr %1154, align 4, !tbaa !47 + %1156 = or i32 %1155, %165 + br label %4514 + +1157: ; preds = %153 + %1158 = icmp eq i32 %31, 3 + br i1 %1158, label %1159, label %6031 + +1159: ; preds = %1157 + %1160 = getelementptr inbounds i8, ptr %2, i64 8 + %1161 = load i64, ptr %1160, align 4 + br label %4159 + +1162: ; preds = %153 + %1163 = and i32 %45, 192 + %1164 = icmp eq i32 %1163, 0 + br i1 %1164, label %5726, label %1165 + +1165: ; preds = %1162 + %1166 = getelementptr inbounds i8, ptr %0, i64 32 + %1167 = load i32, ptr %1166, align 8, !tbaa !60 + %1168 = and i32 %1167, 16 + %1169 = icmp eq i32 %1168, 0 + br i1 %1169, label %5726, label %1170 + +1170: ; preds = %1165 + %1171 = and i32 %45, 64 + %1172 = icmp eq i32 %1171, 0 + %1173 = select i1 %1172, i8 46, i8 62 + store i8 %1173, ptr %154, align 1, !tbaa !51 + %1174 = getelementptr inbounds i8, ptr %154, i64 1 + br label %5726 + +1175: ; preds = %153 + %1176 = load i32, ptr %2, align 4, !tbaa !47 + %1177 = and i32 %1176, 7 + %1178 = icmp eq i32 %1177, 1 + br i1 %1178, label %1179, label %5726 + +1179: ; preds = %1175 + %1180 = and i32 %1176, 3841 + %1181 = icmp eq i32 %1180, 1 + %1182 = getelementptr inbounds i8, ptr %2, i64 4 + %1183 = load i32, ptr %1182, align 4, !tbaa !58 + %1184 = icmp eq i32 %1183, 1 + %1185 = and i1 %1181, %1184 + br i1 %1185, label %1186, label %6031, !prof !35 + +1186: ; preds = %1179 + %1187 = getelementptr inbounds i8, ptr %0, i64 72 + %1188 = load i8, ptr %1187, align 8, !tbaa !42 + %1189 = and i8 %1188, 1 + %1190 = icmp eq i8 %1189, 0 + %1191 = and i32 %1176, -16777216 + %1192 = select i1 %1190, i32 67108864, i32 33554432 + %1193 = icmp eq i32 %1191, %1192 store i8 103, ptr %154, align 1, !tbaa !51 - %1195 = zext i1 %1194 to i64 - %1196 = getelementptr inbounds i8, ptr %154, i64 %1195 - br label %5730 - -1197: ; preds = %153 - switch i32 %31, label %5730 [ - i32 1, label %1198 - i32 2, label %4518 + %1194 = zext i1 %1193 to i64 + %1195 = getelementptr inbounds i8, ptr %154, i64 %1194 + br label %5726 + +1196: ; preds = %153 + switch i32 %31, label %5726 [ + i32 1, label %1197 + i32 2, label %4514 ] -1198: ; preds = %1197 - %1199 = getelementptr inbounds i8, ptr %2, i64 4 - %1200 = load i32, ptr %1199, align 4, !tbaa !58 - br label %4381 +1197: ; preds = %1196 + %1198 = getelementptr inbounds i8, ptr %2, i64 4 + %1199 = load i32, ptr %1198, align 4, !tbaa !58 + br label %4377 -1201: ; preds = %153 - switch i32 %31, label %6035 [ - i32 2, label %1202 - i32 27, label %1228 +1200: ; preds = %153 + switch i32 %31, label %6031 [ + i32 2, label %1201 + i32 27, label %1227 ] -1202: ; preds = %1201 - %1203 = load i32, ptr %2, align 4, !tbaa !31 - %1204 = icmp ult i32 %1203, 16777216 - br i1 %1204, label %1205, label %1211 - -1205: ; preds = %1202 - %1206 = getelementptr inbounds i8, ptr %0, i64 72 - %1207 = load i8, ptr %1206, align 8, !tbaa !42 - %1208 = and i8 %1207, 1 - %1209 = icmp eq i8 %1208, 0 - %1210 = select i1 %1209, i32 8, i32 4 - br label %1222 - -1211: ; preds = %1202 - %1212 = lshr i32 %1203, 24 - %1213 = add nsw i32 %1212, -2 - %1214 = trunc i32 %1212 to i8 - switch i8 %1214, label %1215 [ - i8 6, label %1222 - i8 4, label %1222 +1201: ; preds = %1200 + %1202 = load i32, ptr %2, align 4, !tbaa !31 + %1203 = icmp ult i32 %1202, 16777216 + br i1 %1203, label %1204, label %1210 + +1204: ; preds = %1201 + %1205 = getelementptr inbounds i8, ptr %0, i64 72 + %1206 = load i8, ptr %1205, align 8, !tbaa !42 + %1207 = and i8 %1206, 1 + %1208 = icmp eq i8 %1207, 0 + %1209 = select i1 %1208, i32 8, i32 4 + br label %1221 + +1210: ; preds = %1201 + %1211 = lshr i32 %1202, 24 + %1212 = add nsw i32 %1211, -2 + %1213 = trunc i32 %1211 to i8 + switch i8 %1213, label %1214 [ + i8 6, label %1221 + i8 4, label %1221 ] -1215: ; preds = %1211 - %1216 = getelementptr inbounds i8, ptr %0, i64 72 - %1217 = load i8, ptr %1216, align 8, !tbaa !42 - %1218 = and i8 %1217, 1 - %1219 = icmp eq i8 %1218, 0 - %1220 = select i1 %1219, i32 8, i32 4 - %1221 = icmp eq i32 %1213, %1220 - br i1 %1221, label %1222, label %6035 - -1222: ; preds = %1215, %1211, %1211, %1205 - %1223 = phi i32 [ %1210, %1205 ], [ %1213, %1215 ], [ %1213, %1211 ], [ %1213, %1211 ] - %1224 = zext nneg i32 %1223 to i64 - %1225 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1224 - %1226 = load i32, ptr %1225, align 4, !tbaa !47 - %1227 = or i32 %1226, %165 - br label %4518 - -1228: ; preds = %1201 - %1229 = getelementptr inbounds i8, ptr %0, i64 72 - %1230 = load i8, ptr %1229, align 8, !tbaa !42 - %1231 = and i8 %1230, 1 - %1232 = icmp eq i8 %1231, 0 - br i1 %1232, label %6035, label %1233 - -1233: ; preds = %1228 - %1234 = getelementptr inbounds i8, ptr %2, i64 8 - %1235 = load i64, ptr %1234, align 4 - %1236 = icmp sgt i64 %1235, 65535 - br i1 %1236, label %6035, label %1237 - -1237: ; preds = %1233 - %1238 = getelementptr inbounds i8, ptr %3, i64 8 - %1239 = load i64, ptr %1238, align 4 - %1240 = icmp sgt i64 %1239, 4294967295 - br i1 %1240, label %6035, label %1241 - -1241: ; preds = %1237 - %1242 = getelementptr inbounds i8, ptr %16, i64 7 - %1243 = load i8, ptr %1242, align 1, !tbaa !61 - %1244 = zext i8 %1243 to i64 - %1245 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1244 - %1246 = load i32, ptr %1245, align 4, !tbaa !47 - %1247 = shl i64 %1235, 32 - %1248 = or i64 %1239, %1247 - br label %4163 - -1249: ; preds = %153 - %1250 = icmp eq i32 %31, 17 - br i1 %1250, label %1251, label %6035 - -1251: ; preds = %1249 - %1252 = load i32, ptr %2, align 4, !tbaa !31 - %1253 = lshr i32 %1252, 24 - %1254 = and i32 %1253, 15 - %1255 = zext nneg i32 %1254 to i64 - %1256 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1255 - %1257 = load i32, ptr %1256, align 4, !tbaa !47 - %1258 = or i32 %1257, %165 - %1259 = getelementptr inbounds i8, ptr %2, i64 4 - %1260 = load i32, ptr %1259, align 4, !tbaa !58 - br label %4518 - -1261: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %1262 - i32 17, label %1361 - i32 10, label %1478 - i32 25, label %1595 - i32 26, label %1642 +1214: ; preds = %1210 + %1215 = getelementptr inbounds i8, ptr %0, i64 72 + %1216 = load i8, ptr %1215, align 8, !tbaa !42 + %1217 = and i8 %1216, 1 + %1218 = icmp eq i8 %1217, 0 + %1219 = select i1 %1218, i32 8, i32 4 + %1220 = icmp eq i32 %1212, %1219 + br i1 %1220, label %1221, label %6031 + +1221: ; preds = %1214, %1210, %1210, %1204 + %1222 = phi i32 [ %1209, %1204 ], [ %1212, %1214 ], [ %1212, %1210 ], [ %1212, %1210 ] + %1223 = zext nneg i32 %1222 to i64 + %1224 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1223 + %1225 = load i32, ptr %1224, align 4, !tbaa !47 + %1226 = or i32 %1225, %165 + br label %4514 + +1227: ; preds = %1200 + %1228 = getelementptr inbounds i8, ptr %0, i64 72 + %1229 = load i8, ptr %1228, align 8, !tbaa !42 + %1230 = and i8 %1229, 1 + %1231 = icmp eq i8 %1230, 0 + br i1 %1231, label %6031, label %1232 + +1232: ; preds = %1227 + %1233 = getelementptr inbounds i8, ptr %2, i64 8 + %1234 = load i64, ptr %1233, align 4 + %1235 = icmp sgt i64 %1234, 65535 + br i1 %1235, label %6031, label %1236 + +1236: ; preds = %1232 + %1237 = getelementptr inbounds i8, ptr %3, i64 8 + %1238 = load i64, ptr %1237, align 4 + %1239 = icmp sgt i64 %1238, 4294967295 + br i1 %1239, label %6031, label %1240 + +1240: ; preds = %1236 + %1241 = getelementptr inbounds i8, ptr %16, i64 7 + %1242 = load i8, ptr %1241, align 1, !tbaa !61 + %1243 = zext i8 %1242 to i64 + %1244 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1243 + %1245 = load i32, ptr %1244, align 4, !tbaa !47 + %1246 = shl i64 %1234, 32 + %1247 = or i64 %1238, %1246 + br label %4159 + +1248: ; preds = %153 + %1249 = icmp eq i32 %31, 17 + br i1 %1249, label %1250, label %6031 + +1250: ; preds = %1248 + %1251 = load i32, ptr %2, align 4, !tbaa !31 + %1252 = lshr i32 %1251, 24 + %1253 = and i32 %1252, 15 + %1254 = zext nneg i32 %1253 to i64 + %1255 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1254 + %1256 = load i32, ptr %1255, align 4, !tbaa !47 + %1257 = or i32 %1256, %165 + %1258 = getelementptr inbounds i8, ptr %2, i64 4 + %1259 = load i32, ptr %1258, align 4, !tbaa !58 + br label %4514 + +1260: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %1261 + i32 17, label %1360 + i32 10, label %1477 + i32 25, label %1594 + i32 26, label %1641 ] -1262: ; preds = %1261 - %1263 = load i32, ptr %2, align 4, !tbaa !47 - %1264 = and i32 %1263, 3847 - %1265 = icmp eq i32 %1264, 1 - %1266 = getelementptr inbounds i8, ptr %2, i64 4 - %1267 = load i32, ptr %1266, align 4, !tbaa !58 - %1268 = getelementptr inbounds i8, ptr %3, i64 4 - %1269 = load i32, ptr %1268, align 4, !tbaa !58 - %1270 = load i32, ptr %3, align 4, !tbaa !47 - %1271 = and i32 %1270, 3847 - %1272 = icmp eq i32 %1271, 1 - br i1 %1265, label %1273, label %1339 - -1273: ; preds = %1262 - br i1 %1272, label %1274, label %1318 - -1274: ; preds = %1273 - %1275 = lshr i32 %1263, 24 - %1276 = lshr i32 %1270, 24 - %1277 = icmp eq i32 %1275, %1276 - br i1 %1277, label %1278, label %6035 - -1278: ; preds = %1274 - %1279 = icmp eq i32 %1276, 1 - br i1 %1279, label %1280, label %1308 - -1280: ; preds = %1278 - %1281 = and i32 %1263, 16777465 - %1282 = icmp eq i32 %1281, 16777249 - br i1 %1282, label %1287, label %1283 - -1283: ; preds = %1280 - %1284 = icmp ugt i32 %1267, 3 - %1285 = select i1 %1284, i32 1073741824, i32 0 - %1286 = or i32 %1285, %46 - br label %1290 - -1287: ; preds = %1280 - %1288 = or i32 %46, -2147483648 - %1289 = add i32 %1267, 4 - br label %1290 - -1290: ; preds = %1287, %1283 - %1291 = phi i32 [ %1289, %1287 ], [ %1267, %1283 ] - %1292 = phi i32 [ %1288, %1287 ], [ %1286, %1283 ] - %1293 = and i32 %1270, 16777465 - %1294 = icmp eq i32 %1293, 16777249 - br i1 %1294, label %1299, label %1295 - -1295: ; preds = %1290 - %1296 = icmp ugt i32 %1269, 3 - %1297 = select i1 %1296, i32 1073741824, i32 0 - %1298 = or i32 %1292, %1297 - br label %1302 - -1299: ; preds = %1290 - %1300 = or i32 %1292, -2147483648 - %1301 = add i32 %1269, 4 - br label %1302 - -1302: ; preds = %1299, %1295 - %1303 = phi i32 [ %1301, %1299 ], [ %1269, %1295 ] - %1304 = phi i32 [ %1300, %1299 ], [ %1298, %1295 ] - %1305 = and i32 %1304, 512 - %1306 = icmp eq i32 %1305, 0 - br i1 %1306, label %4381, label %1307 - -1307: ; preds = %1302 - br label %4381 - -1308: ; preds = %1278 - %1309 = and i32 %1276, 15 - %1310 = zext nneg i32 %1309 to i64 - %1311 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1310 - %1312 = load i32, ptr %1311, align 4, !tbaa !47 - %1313 = or i32 %1312, 137 - %1314 = and i32 %45, 512 - %1315 = icmp eq i32 %1314, 0 - br i1 %1315, label %4381, label %1316 - -1316: ; preds = %1308 - %1317 = add i32 %1313, 2 - br label %4381 - -1318: ; preds = %1273 - %1319 = and i32 %1270, -16773121 - switch i32 %1319, label %6035 [ - i32 33555865, label %1320 - i32 1697, label %1328 - i32 1961, label %4381 +1261: ; preds = %1260 + %1262 = load i32, ptr %2, align 4, !tbaa !47 + %1263 = and i32 %1262, 3847 + %1264 = icmp eq i32 %1263, 1 + %1265 = getelementptr inbounds i8, ptr %2, i64 4 + %1266 = load i32, ptr %1265, align 4, !tbaa !58 + %1267 = getelementptr inbounds i8, ptr %3, i64 4 + %1268 = load i32, ptr %1267, align 4, !tbaa !58 + %1269 = load i32, ptr %3, align 4, !tbaa !47 + %1270 = and i32 %1269, 3847 + %1271 = icmp eq i32 %1270, 1 + br i1 %1264, label %1272, label %1338 + +1272: ; preds = %1261 + br i1 %1271, label %1273, label %1317 + +1273: ; preds = %1272 + %1274 = lshr i32 %1262, 24 + %1275 = lshr i32 %1269, 24 + %1276 = icmp eq i32 %1274, %1275 + br i1 %1276, label %1277, label %6031 + +1277: ; preds = %1273 + %1278 = icmp eq i32 %1275, 1 + br i1 %1278, label %1279, label %1307 + +1279: ; preds = %1277 + %1280 = and i32 %1262, 16777465 + %1281 = icmp eq i32 %1280, 16777249 + br i1 %1281, label %1286, label %1282 + +1282: ; preds = %1279 + %1283 = icmp ugt i32 %1266, 3 + %1284 = select i1 %1283, i32 1073741824, i32 0 + %1285 = or i32 %1284, %46 + br label %1289 + +1286: ; preds = %1279 + %1287 = or i32 %46, -2147483648 + %1288 = add i32 %1266, 4 + br label %1289 + +1289: ; preds = %1286, %1282 + %1290 = phi i32 [ %1288, %1286 ], [ %1266, %1282 ] + %1291 = phi i32 [ %1287, %1286 ], [ %1285, %1282 ] + %1292 = and i32 %1269, 16777465 + %1293 = icmp eq i32 %1292, 16777249 + br i1 %1293, label %1298, label %1294 + +1294: ; preds = %1289 + %1295 = icmp ugt i32 %1268, 3 + %1296 = select i1 %1295, i32 1073741824, i32 0 + %1297 = or i32 %1291, %1296 + br label %1301 + +1298: ; preds = %1289 + %1299 = or i32 %1291, -2147483648 + %1300 = add i32 %1268, 4 + br label %1301 + +1301: ; preds = %1298, %1294 + %1302 = phi i32 [ %1300, %1298 ], [ %1268, %1294 ] + %1303 = phi i32 [ %1299, %1298 ], [ %1297, %1294 ] + %1304 = and i32 %1303, 512 + %1305 = icmp eq i32 %1304, 0 + br i1 %1305, label %4377, label %1306 + +1306: ; preds = %1301 + br label %4377 + +1307: ; preds = %1277 + %1308 = and i32 %1275, 15 + %1309 = zext nneg i32 %1308 to i64 + %1310 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1309 + %1311 = load i32, ptr %1310, align 4, !tbaa !47 + %1312 = or i32 %1311, 137 + %1313 = and i32 %45, 512 + %1314 = icmp eq i32 %1313, 0 + br i1 %1314, label %4377, label %1315 + +1315: ; preds = %1307 + %1316 = add i32 %1312, 2 + br label %4377 + +1317: ; preds = %1272 + %1318 = and i32 %1269, -16773121 + switch i32 %1318, label %6031 [ + i32 33555865, label %1319 + i32 1697, label %1327 + i32 1961, label %4377 ] -1320: ; preds = %1318 - %1321 = lshr i32 %1263, 24 - %1322 = and i32 %1321, 15 - %1323 = zext nneg i32 %1322 to i64 - %1324 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1323 - %1325 = load i32, ptr %1324, align 4, !tbaa !47 - %1326 = or i32 %1325, 140 - %1327 = add i32 %1269, -1 - br label %4381 - -1328: ; preds = %1318 - %1329 = and i32 %1269, 8 - %1330 = icmp eq i32 %1329, 0 - br i1 %1330, label %4381, label %1331 - -1331: ; preds = %1328 - %1332 = getelementptr inbounds i8, ptr %0, i64 72 - %1333 = load i8, ptr %1332, align 8, !tbaa !42 - %1334 = and i8 %1333, 1 - %1335 = icmp eq i8 %1334, 0 - br i1 %1335, label %4381, label %1336 - -1336: ; preds = %1331 +1319: ; preds = %1317 + %1320 = lshr i32 %1262, 24 + %1321 = and i32 %1320, 15 + %1322 = zext nneg i32 %1321 to i64 + %1323 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1322 + %1324 = load i32, ptr %1323, align 4, !tbaa !47 + %1325 = or i32 %1324, 140 + %1326 = add i32 %1268, -1 + br label %4377 + +1327: ; preds = %1317 + %1328 = and i32 %1268, 8 + %1329 = icmp eq i32 %1328, 0 + br i1 %1329, label %4377, label %1330 + +1330: ; preds = %1327 + %1331 = getelementptr inbounds i8, ptr %0, i64 72 + %1332 = load i8, ptr %1331, align 8, !tbaa !42 + %1333 = and i8 %1332, 1 + %1334 = icmp eq i8 %1333, 0 + br i1 %1334, label %4377, label %1335 + +1335: ; preds = %1330 store i8 -16, ptr %154, align 1, !tbaa !51 - %1337 = getelementptr inbounds i8, ptr %154, i64 1 - %1338 = and i32 %1269, 7 - br label %4381 - -1339: ; preds = %1262 - br i1 %1272, label %1340, label %6035 - -1340: ; preds = %1339 - %1341 = and i32 %1263, -16773121 - switch i32 %1341, label %6035 [ - i32 33555865, label %1342 - i32 1697, label %1350 - i32 1961, label %4381 + %1336 = getelementptr inbounds i8, ptr %154, i64 1 + %1337 = and i32 %1268, 7 + br label %4377 + +1338: ; preds = %1261 + br i1 %1271, label %1339, label %6031 + +1339: ; preds = %1338 + %1340 = and i32 %1262, -16773121 + switch i32 %1340, label %6031 [ + i32 33555865, label %1341 + i32 1697, label %1349 + i32 1961, label %4377 ] -1342: ; preds = %1340 - %1343 = lshr i32 %1270, 24 - %1344 = and i32 %1343, 15 - %1345 = zext nneg i32 %1344 to i64 - %1346 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1345 - %1347 = load i32, ptr %1346, align 4, !tbaa !47 - %1348 = or i32 %1347, 142 - %1349 = add i32 %1267, -1 - br label %4381 - -1350: ; preds = %1340 - %1351 = and i32 %1267, 8 - %1352 = icmp eq i32 %1351, 0 - br i1 %1352, label %4381, label %1353 - -1353: ; preds = %1350 - %1354 = getelementptr inbounds i8, ptr %0, i64 72 - %1355 = load i8, ptr %1354, align 8, !tbaa !42 - %1356 = and i8 %1355, 1 - %1357 = icmp eq i8 %1356, 0 - br i1 %1357, label %4381, label %1358 - -1358: ; preds = %1353 +1341: ; preds = %1339 + %1342 = lshr i32 %1269, 24 + %1343 = and i32 %1342, 15 + %1344 = zext nneg i32 %1343 to i64 + %1345 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1344 + %1346 = load i32, ptr %1345, align 4, !tbaa !47 + %1347 = or i32 %1346, 142 + %1348 = add i32 %1266, -1 + br label %4377 + +1349: ; preds = %1339 + %1350 = and i32 %1266, 8 + %1351 = icmp eq i32 %1350, 0 + br i1 %1351, label %4377, label %1352 + +1352: ; preds = %1349 + %1353 = getelementptr inbounds i8, ptr %0, i64 72 + %1354 = load i8, ptr %1353, align 8, !tbaa !42 + %1355 = and i8 %1354, 1 + %1356 = icmp eq i8 %1355, 0 + br i1 %1356, label %4377, label %1357 + +1357: ; preds = %1352 store i8 -16, ptr %154, align 1, !tbaa !51 - %1359 = getelementptr inbounds i8, ptr %154, i64 1 - %1360 = and i32 %1267, 7 - br label %4381 - -1361: ; preds = %1261 - %1362 = getelementptr inbounds i8, ptr %2, i64 4 - %1363 = load i32, ptr %1362, align 4, !tbaa !58 - %1364 = load i32, ptr %2, align 4, !tbaa !31 - %1365 = and i32 %1364, -16773121 - %1366 = icmp eq i32 %1365, 33555865 - br i1 %1366, label %1367, label %1376 - -1367: ; preds = %1361 - %1368 = load i32, ptr %3, align 4, !tbaa !31 - %1369 = lshr i32 %1368, 24 - %1370 = and i32 %1369, 15 - %1371 = zext nneg i32 %1370 to i64 - %1372 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1371 - %1373 = load i32, ptr %1372, align 4, !tbaa !47 - %1374 = or i32 %1373, 142 - %1375 = add i32 %1363, -1 - br label %4518 - -1376: ; preds = %1361 - %1377 = lshr i32 %1364, 24 - %1378 = and i32 %1377, 15 - %1379 = zext nneg i32 %1378 to i64 - %1380 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1379 - %1381 = load i32, ptr %1380, align 4, !tbaa !47 - %1382 = icmp eq i32 %1363, 0 - br i1 %1382, label %1383, label %1463 - -1383: ; preds = %1376 - %1384 = load i32, ptr %3, align 4, !tbaa !31 - %1385 = and i32 %1384, 8184 - %1386 = icmp eq i32 %1385, 0 - br i1 %1386, label %1387, label %1463 - -1387: ; preds = %1383 - %1388 = getelementptr inbounds i8, ptr %0, i64 72 - %1389 = load i8, ptr %1388, align 8, !tbaa !42 - %1390 = and i8 %1389, 1 - %1391 = icmp eq i8 %1390, 0 - br i1 %1391, label %1404, label %1392 - -1392: ; preds = %1387 - %1393 = and i32 %45, 768 - %1394 = icmp eq i32 %1393, 0 - br i1 %1394, label %1395, label %1463 - -1395: ; preds = %1392 - %1396 = getelementptr inbounds i8, ptr %3, i64 12 - %1397 = load i32, ptr %1396, align 4, !tbaa !47 - %1398 = getelementptr inbounds i8, ptr %3, i64 4 - %1399 = load i32, ptr %1398, align 4 - %1400 = zext i32 %1397 to i64 - %1401 = zext i32 %1399 to i64 - %1402 = shl nuw i64 %1401, 32 - %1403 = or disjoint i64 %1402, %1400 - br label %1460 - -1404: ; preds = %1387 - %1405 = lshr i32 %1384, 14 - %1406 = and i32 %1405, 3 - %1407 = icmp eq i32 %1406, 2 - %1408 = and i32 %45, 768 - %1409 = icmp ne i32 %1408, 0 - %1410 = or i1 %1409, %1407 - br i1 %1410, label %1463, label %1411 - -1411: ; preds = %1404 - %1412 = getelementptr inbounds i8, ptr %3, i64 12 - %1413 = load i32, ptr %1412, align 4, !tbaa !47 - %1414 = zext i32 %1413 to i64 - %1415 = getelementptr inbounds i8, ptr %3, i64 4 - %1416 = load i32, ptr %1415, align 4 - %1417 = zext i32 %1416 to i64 - %1418 = shl nuw i64 %1417, 32 - %1419 = or disjoint i64 %1418, %1414 - %1420 = getelementptr inbounds i8, ptr %0, i64 48 - %1421 = load ptr, ptr %1420, align 8, !tbaa !36 - %1422 = getelementptr inbounds i8, ptr %1421, i64 40 - %1423 = load i64, ptr %1422, align 8, !tbaa !65 - %1424 = icmp eq i64 %1423, -1 - %1425 = and i32 %1384, 1835008 - %1426 = or disjoint i32 %1406, %1425 - %1427 = icmp ne i32 %1426, 0 - %1428 = or i1 %1427, %1424 - br i1 %1428, label %1457, label %1429 - -1429: ; preds = %1411 - %1430 = icmp eq i32 %1377, 8 - %1431 = lshr i32 %45, 30 - %1432 = and i32 %1431, 1 - %1433 = select i1 %1430, i32 1, i32 %1432 - %1434 = icmp eq i32 %1377, 2 - %1435 = icmp ne i32 %1425, 0 - %1436 = zext i1 %1435 to i32 - %1437 = select i1 %1434, i32 10, i32 9 - %1438 = add nuw nsw i32 %1437, %1433 - %1439 = add nuw nsw i32 %1438, %1436 - %1440 = getelementptr inbounds i8, ptr %0, i64 152 - %1441 = load ptr, ptr %1440, align 8, !tbaa !80 - %1442 = ptrtoint ptr %154 to i64 - %1443 = ptrtoint ptr %1441 to i64 - %1444 = getelementptr inbounds i8, ptr %0, i64 144 - %1445 = load ptr, ptr %1444, align 8, !tbaa !38 - %1446 = getelementptr inbounds i8, ptr %1445, i64 16 - %1447 = load i64, ptr %1446, align 8, !tbaa !81 - %1448 = zext nneg i32 %1439 to i64 - %1449 = add i64 %1442, %1448 - %1450 = add i64 %1449, %1423 - %reass.sub141 = sub i64 %1419, %1450 - %1451 = add i64 %reass.sub141, -2147483648 - %1452 = add i64 %1451, %1443 - %1453 = sub i64 %1452, %1447 - %1454 = icmp ult i64 %1453, -4294967296 - %1455 = icmp ugt i64 %1419, 4294967295 - %1456 = select i1 %1454, i1 %1455, i1 false - br i1 %1456, label %1460, label %1463 - -1457: ; preds = %1411 - %1458 = add i64 %1419, -4294967296 - %1459 = icmp ult i64 %1458, -6442450944 - br i1 %1459, label %1460, label %1463 - -1460: ; preds = %1457, %1429, %1395 - %1461 = phi i64 [ %1403, %1395 ], [ %1419, %1457 ], [ %1419, %1429 ] - %1462 = add i32 %1381, 160 - br label %4144 - -1463: ; preds = %1457, %1429, %1404, %1392, %1383, %1376 - %1464 = icmp eq i32 %1377, 1 - br i1 %1464, label %1465, label %1474 - -1465: ; preds = %1463 - %1466 = icmp eq i32 %1365, 16777249 - br i1 %1466, label %1471, label %1467 - -1467: ; preds = %1465 - %1468 = icmp ugt i32 %1363, 3 - %1469 = select i1 %1468, i32 1073741824, i32 0 - %1470 = or i32 %1469, %46 - br label %1474 - -1471: ; preds = %1465 - %1472 = or i32 %46, -2147483648 - %1473 = add i32 %1363, 4 - br label %1474 - -1474: ; preds = %1471, %1467, %1463 - %1475 = phi i32 [ %1473, %1471 ], [ %1363, %1467 ], [ %1363, %1463 ] - %1476 = phi i32 [ %1472, %1471 ], [ %1470, %1467 ], [ %46, %1463 ] - %1477 = add i32 %1381, 138 - br label %4518 - -1478: ; preds = %1261 - %1479 = getelementptr inbounds i8, ptr %3, i64 4 - %1480 = load i32, ptr %1479, align 4, !tbaa !58 - %1481 = load i32, ptr %3, align 4, !tbaa !31 - %1482 = and i32 %1481, -16773121 - %1483 = icmp eq i32 %1482, 33555865 - br i1 %1483, label %1484, label %1493 - -1484: ; preds = %1478 - %1485 = load i32, ptr %2, align 4, !tbaa !31 - %1486 = lshr i32 %1485, 24 - %1487 = and i32 %1486, 15 - %1488 = zext nneg i32 %1487 to i64 - %1489 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1488 - %1490 = load i32, ptr %1489, align 4, !tbaa !47 - %1491 = or i32 %1490, 140 - %1492 = add i32 %1480, -1 - br label %4518 - -1493: ; preds = %1478 - %1494 = lshr i32 %1481, 24 - %1495 = and i32 %1494, 15 - %1496 = zext nneg i32 %1495 to i64 - %1497 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1496 - %1498 = load i32, ptr %1497, align 4, !tbaa !47 - %1499 = icmp eq i32 %1480, 0 - br i1 %1499, label %1500, label %1580 - -1500: ; preds = %1493 - %1501 = load i32, ptr %2, align 4, !tbaa !31 - %1502 = and i32 %1501, 8184 - %1503 = icmp eq i32 %1502, 0 - br i1 %1503, label %1504, label %1580 - -1504: ; preds = %1500 - %1505 = getelementptr inbounds i8, ptr %0, i64 72 - %1506 = load i8, ptr %1505, align 8, !tbaa !42 - %1507 = and i8 %1506, 1 - %1508 = icmp eq i8 %1507, 0 - br i1 %1508, label %1521, label %1509 - -1509: ; preds = %1504 - %1510 = and i32 %45, 768 - %1511 = icmp eq i32 %1510, 0 - br i1 %1511, label %1512, label %1580 - -1512: ; preds = %1509 - %1513 = getelementptr inbounds i8, ptr %2, i64 12 - %1514 = load i32, ptr %1513, align 4, !tbaa !47 - %1515 = getelementptr inbounds i8, ptr %2, i64 4 - %1516 = load i32, ptr %1515, align 4 - %1517 = zext i32 %1514 to i64 - %1518 = zext i32 %1516 to i64 - %1519 = shl nuw i64 %1518, 32 - %1520 = or disjoint i64 %1519, %1517 - br label %1577 - -1521: ; preds = %1504 - %1522 = lshr i32 %1501, 14 - %1523 = and i32 %1522, 3 - %1524 = icmp eq i32 %1523, 2 - %1525 = and i32 %45, 768 - %1526 = icmp ne i32 %1525, 0 - %1527 = or i1 %1526, %1524 - br i1 %1527, label %1580, label %1528 - -1528: ; preds = %1521 - %1529 = getelementptr inbounds i8, ptr %2, i64 12 - %1530 = load i32, ptr %1529, align 4, !tbaa !47 - %1531 = zext i32 %1530 to i64 - %1532 = getelementptr inbounds i8, ptr %2, i64 4 - %1533 = load i32, ptr %1532, align 4 - %1534 = zext i32 %1533 to i64 - %1535 = shl nuw i64 %1534, 32 - %1536 = or disjoint i64 %1535, %1531 - %1537 = getelementptr inbounds i8, ptr %0, i64 48 - %1538 = load ptr, ptr %1537, align 8, !tbaa !36 - %1539 = getelementptr inbounds i8, ptr %1538, i64 40 - %1540 = load i64, ptr %1539, align 8, !tbaa !65 - %1541 = icmp eq i64 %1540, -1 - %1542 = and i32 %1501, 1835008 - %1543 = or disjoint i32 %1523, %1542 - %1544 = icmp ne i32 %1543, 0 - %1545 = or i1 %1544, %1541 - br i1 %1545, label %1574, label %1546 - -1546: ; preds = %1528 - %1547 = icmp eq i32 %1494, 8 - %1548 = lshr i32 %45, 30 - %1549 = and i32 %1548, 1 - %1550 = select i1 %1547, i32 1, i32 %1549 - %1551 = icmp eq i32 %1494, 2 - %1552 = icmp ne i32 %1542, 0 - %1553 = zext i1 %1552 to i32 - %1554 = select i1 %1551, i32 10, i32 9 - %1555 = add nuw nsw i32 %1554, %1550 - %1556 = add nuw nsw i32 %1555, %1553 - %1557 = getelementptr inbounds i8, ptr %0, i64 152 - %1558 = load ptr, ptr %1557, align 8, !tbaa !80 - %1559 = ptrtoint ptr %154 to i64 - %1560 = ptrtoint ptr %1558 to i64 - %1561 = getelementptr inbounds i8, ptr %0, i64 144 - %1562 = load ptr, ptr %1561, align 8, !tbaa !38 - %1563 = getelementptr inbounds i8, ptr %1562, i64 16 - %1564 = load i64, ptr %1563, align 8, !tbaa !81 - %1565 = zext nneg i32 %1556 to i64 - %1566 = add i64 %1559, %1565 - %1567 = add i64 %1566, %1540 - %reass.sub = sub i64 %1536, %1567 - %1568 = add i64 %reass.sub, -2147483648 - %1569 = add i64 %1568, %1560 - %1570 = sub i64 %1569, %1564 - %1571 = icmp ult i64 %1570, -4294967296 - %1572 = icmp ugt i64 %1536, 4294967295 - %1573 = select i1 %1571, i1 %1572, i1 false - br i1 %1573, label %1577, label %1580 - -1574: ; preds = %1528 - %1575 = add i64 %1536, -4294967296 - %1576 = icmp ult i64 %1575, -6442450944 - br i1 %1576, label %1577, label %1580 - -1577: ; preds = %1574, %1546, %1512 - %1578 = phi i64 [ %1520, %1512 ], [ %1536, %1574 ], [ %1536, %1546 ] - %1579 = add i32 %1498, 162 - br label %4144 - -1580: ; preds = %1574, %1546, %1521, %1509, %1500, %1493 - %1581 = icmp eq i32 %1494, 1 - br i1 %1581, label %1582, label %1591 - -1582: ; preds = %1580 - %1583 = icmp eq i32 %1482, 16777249 - br i1 %1583, label %1588, label %1584 - -1584: ; preds = %1582 - %1585 = icmp ugt i32 %1480, 3 - %1586 = select i1 %1585, i32 1073741824, i32 0 - %1587 = or i32 %1586, %46 - br label %1591 - -1588: ; preds = %1582 - %1589 = or i32 %46, -2147483648 - %1590 = add i32 %1480, 4 - br label %1591 - -1591: ; preds = %1588, %1584, %1580 - %1592 = phi i32 [ %1590, %1588 ], [ %1480, %1584 ], [ %1480, %1580 ] - %1593 = phi i32 [ %1589, %1588 ], [ %1587, %1584 ], [ %46, %1580 ] - %1594 = add i32 %1498, 136 - br label %4518 - -1595: ; preds = %1261 - %1596 = getelementptr inbounds i8, ptr %2, i64 4 - %1597 = load i32, ptr %1596, align 4, !tbaa !58 - %1598 = load i32, ptr %2, align 4, !tbaa !31 - %1599 = lshr i32 %1598, 24 - %1600 = icmp eq i32 %1599, 1 - br i1 %1600, label %1601, label %1617 - -1601: ; preds = %1595 - %1602 = and i32 %1598, 16781311 - %1603 = icmp eq i32 %1602, 16777249 - br i1 %1603, label %1608, label %1604 - -1604: ; preds = %1601 - %1605 = icmp ugt i32 %1597, 3 - %1606 = select i1 %1605, i32 1073741824, i32 0 - %1607 = or i32 %1606, %46 - br label %1611 - -1608: ; preds = %1601 - %1609 = or i32 %46, -2147483648 - %1610 = add i32 %1597, 4 - br label %1611 - -1611: ; preds = %1608, %1604 - %1612 = phi i32 [ %1610, %1608 ], [ %1597, %1604 ] - %1613 = phi i32 [ %1609, %1608 ], [ %1607, %1604 ] - %1614 = getelementptr inbounds i8, ptr %3, i64 8 - %1615 = load i64, ptr %1614, align 4 - %1616 = and i64 %1615, 255 - br label %4233 - -1617: ; preds = %1595 - %1618 = trunc i32 %1599 to i8 - %1619 = getelementptr inbounds i8, ptr %3, i64 8 - %1620 = load i64, ptr %1619, align 4 - %1621 = icmp eq i32 %1599, 8 - br i1 %1621, label %1622, label %1635 - -1622: ; preds = %1617 - %1623 = and i32 %45, 32 - %1624 = icmp eq i32 %1623, 0 - br i1 %1624, label %1625, label %1635 - -1625: ; preds = %1622 - %1626 = icmp ult i64 %1620, 4294967296 - br i1 %1626, label %1627, label %1632 - -1627: ; preds = %1625 - %1628 = getelementptr inbounds i8, ptr %0, i64 32 - %1629 = load i32, ptr %1628, align 8, !tbaa !60 - %1630 = and i32 %1629, 1 - %1631 = icmp eq i32 %1630, 0 - br i1 %1631, label %1632, label %1635 - -1632: ; preds = %1627, %1625 - %1633 = add i64 %1620, 2147483648 - %1634 = icmp ult i64 %1633, 4294967296 - br i1 %1634, label %4381, label %1635 - -1635: ; preds = %1632, %1627, %1622, %1617 - %1636 = phi i8 [ 8, %1622 ], [ 8, %1632 ], [ %1618, %1617 ], [ 4, %1627 ] - %1637 = and i8 %1636, 15 - %1638 = zext nneg i8 %1637 to i64 - %1639 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIhEERS2_T_E4mask, i64 0, i64 %1638 - %1640 = load i32, ptr %1639, align 4, !tbaa !47 - %1641 = or i32 %1640, 184 - br label %4233 - -1642: ; preds = %1261 - %1643 = load i32, ptr %2, align 4, !tbaa !31 - %1644 = icmp ult i32 %1643, 16777216 - br i1 %1644, label %6035, label %1645, !prof !37 - -1645: ; preds = %1642 - %1646 = lshr i32 %1643, 24 - %1647 = icmp eq i32 %1646, 1 - %1648 = select i1 %1647, i32 198, i32 199 - %1649 = and i32 %1646, 15 - %1650 = zext nneg i32 %1649 to i64 - %1651 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1650 - %1652 = load i32, ptr %1651, align 4, !tbaa !47 - %1653 = or i32 %1652, %1648 - %1654 = getelementptr inbounds i8, ptr %3, i64 8 - %1655 = load i64, ptr %1654, align 4 - %1656 = call noundef i32 @llvm.umin.i32(i32 %1646, i32 4) - %1657 = trunc i32 %1656 to i8 - br label %4518 - -1658: ; preds = %153 - switch i32 %31, label %6035 [ - i32 17, label %1659 - i32 10, label %1689 - i32 25, label %1716 + %1358 = getelementptr inbounds i8, ptr %154, i64 1 + %1359 = and i32 %1266, 7 + br label %4377 + +1360: ; preds = %1260 + %1361 = getelementptr inbounds i8, ptr %2, i64 4 + %1362 = load i32, ptr %1361, align 4, !tbaa !58 + %1363 = load i32, ptr %2, align 4, !tbaa !31 + %1364 = and i32 %1363, -16773121 + %1365 = icmp eq i32 %1364, 33555865 + br i1 %1365, label %1366, label %1375 + +1366: ; preds = %1360 + %1367 = load i32, ptr %3, align 4, !tbaa !31 + %1368 = lshr i32 %1367, 24 + %1369 = and i32 %1368, 15 + %1370 = zext nneg i32 %1369 to i64 + %1371 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1370 + %1372 = load i32, ptr %1371, align 4, !tbaa !47 + %1373 = or i32 %1372, 142 + %1374 = add i32 %1362, -1 + br label %4514 + +1375: ; preds = %1360 + %1376 = lshr i32 %1363, 24 + %1377 = and i32 %1376, 15 + %1378 = zext nneg i32 %1377 to i64 + %1379 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1378 + %1380 = load i32, ptr %1379, align 4, !tbaa !47 + %1381 = icmp eq i32 %1362, 0 + br i1 %1381, label %1382, label %1462 + +1382: ; preds = %1375 + %1383 = load i32, ptr %3, align 4, !tbaa !31 + %1384 = and i32 %1383, 8184 + %1385 = icmp eq i32 %1384, 0 + br i1 %1385, label %1386, label %1462 + +1386: ; preds = %1382 + %1387 = getelementptr inbounds i8, ptr %0, i64 72 + %1388 = load i8, ptr %1387, align 8, !tbaa !42 + %1389 = and i8 %1388, 1 + %1390 = icmp eq i8 %1389, 0 + br i1 %1390, label %1403, label %1391 + +1391: ; preds = %1386 + %1392 = and i32 %45, 768 + %1393 = icmp eq i32 %1392, 0 + br i1 %1393, label %1394, label %1462 + +1394: ; preds = %1391 + %1395 = getelementptr inbounds i8, ptr %3, i64 12 + %1396 = load i32, ptr %1395, align 4, !tbaa !47 + %1397 = getelementptr inbounds i8, ptr %3, i64 4 + %1398 = load i32, ptr %1397, align 4 + %1399 = zext i32 %1396 to i64 + %1400 = zext i32 %1398 to i64 + %1401 = shl nuw i64 %1400, 32 + %1402 = or disjoint i64 %1401, %1399 + br label %1459 + +1403: ; preds = %1386 + %1404 = lshr i32 %1383, 14 + %1405 = and i32 %1404, 3 + %1406 = icmp eq i32 %1405, 2 + %1407 = and i32 %45, 768 + %1408 = icmp ne i32 %1407, 0 + %1409 = or i1 %1408, %1406 + br i1 %1409, label %1462, label %1410 + +1410: ; preds = %1403 + %1411 = getelementptr inbounds i8, ptr %3, i64 12 + %1412 = load i32, ptr %1411, align 4, !tbaa !47 + %1413 = zext i32 %1412 to i64 + %1414 = getelementptr inbounds i8, ptr %3, i64 4 + %1415 = load i32, ptr %1414, align 4 + %1416 = zext i32 %1415 to i64 + %1417 = shl nuw i64 %1416, 32 + %1418 = or disjoint i64 %1417, %1413 + %1419 = getelementptr inbounds i8, ptr %0, i64 48 + %1420 = load ptr, ptr %1419, align 8, !tbaa !36 + %1421 = getelementptr inbounds i8, ptr %1420, i64 40 + %1422 = load i64, ptr %1421, align 8, !tbaa !65 + %1423 = icmp eq i64 %1422, -1 + %1424 = and i32 %1383, 1835008 + %1425 = or disjoint i32 %1405, %1424 + %1426 = icmp ne i32 %1425, 0 + %1427 = or i1 %1426, %1423 + br i1 %1427, label %1456, label %1428 + +1428: ; preds = %1410 + %1429 = icmp eq i32 %1376, 8 + %1430 = lshr i32 %45, 30 + %1431 = and i32 %1430, 1 + %1432 = select i1 %1429, i32 1, i32 %1431 + %1433 = icmp eq i32 %1376, 2 + %1434 = icmp ne i32 %1424, 0 + %1435 = zext i1 %1434 to i32 + %1436 = select i1 %1433, i32 10, i32 9 + %1437 = add nuw nsw i32 %1436, %1432 + %1438 = add nuw nsw i32 %1437, %1435 + %1439 = getelementptr inbounds i8, ptr %0, i64 152 + %1440 = load ptr, ptr %1439, align 8, !tbaa !80 + %1441 = ptrtoint ptr %154 to i64 + %1442 = ptrtoint ptr %1440 to i64 + %1443 = getelementptr inbounds i8, ptr %0, i64 144 + %1444 = load ptr, ptr %1443, align 8, !tbaa !38 + %1445 = getelementptr inbounds i8, ptr %1444, i64 16 + %1446 = load i64, ptr %1445, align 8, !tbaa !81 + %1447 = zext nneg i32 %1438 to i64 + %1448 = add i64 %1441, %1447 + %1449 = add i64 %1448, %1422 + %reass.sub141 = sub i64 %1418, %1449 + %1450 = add i64 %reass.sub141, -2147483648 + %1451 = add i64 %1450, %1442 + %1452 = sub i64 %1451, %1446 + %1453 = icmp ult i64 %1452, -4294967296 + %1454 = icmp ugt i64 %1418, 4294967295 + %1455 = select i1 %1453, i1 %1454, i1 false + br i1 %1455, label %1459, label %1462 + +1456: ; preds = %1410 + %1457 = add i64 %1418, -4294967296 + %1458 = icmp ult i64 %1457, -6442450944 + br i1 %1458, label %1459, label %1462 + +1459: ; preds = %1456, %1428, %1394 + %1460 = phi i64 [ %1402, %1394 ], [ %1418, %1456 ], [ %1418, %1428 ] + %1461 = add i32 %1380, 160 + br label %4140 + +1462: ; preds = %1456, %1428, %1403, %1391, %1382, %1375 + %1463 = icmp eq i32 %1376, 1 + br i1 %1463, label %1464, label %1473 + +1464: ; preds = %1462 + %1465 = icmp eq i32 %1364, 16777249 + br i1 %1465, label %1470, label %1466 + +1466: ; preds = %1464 + %1467 = icmp ugt i32 %1362, 3 + %1468 = select i1 %1467, i32 1073741824, i32 0 + %1469 = or i32 %1468, %46 + br label %1473 + +1470: ; preds = %1464 + %1471 = or i32 %46, -2147483648 + %1472 = add i32 %1362, 4 + br label %1473 + +1473: ; preds = %1470, %1466, %1462 + %1474 = phi i32 [ %1472, %1470 ], [ %1362, %1466 ], [ %1362, %1462 ] + %1475 = phi i32 [ %1471, %1470 ], [ %1469, %1466 ], [ %46, %1462 ] + %1476 = add i32 %1380, 138 + br label %4514 + +1477: ; preds = %1260 + %1478 = getelementptr inbounds i8, ptr %3, i64 4 + %1479 = load i32, ptr %1478, align 4, !tbaa !58 + %1480 = load i32, ptr %3, align 4, !tbaa !31 + %1481 = and i32 %1480, -16773121 + %1482 = icmp eq i32 %1481, 33555865 + br i1 %1482, label %1483, label %1492 + +1483: ; preds = %1477 + %1484 = load i32, ptr %2, align 4, !tbaa !31 + %1485 = lshr i32 %1484, 24 + %1486 = and i32 %1485, 15 + %1487 = zext nneg i32 %1486 to i64 + %1488 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1487 + %1489 = load i32, ptr %1488, align 4, !tbaa !47 + %1490 = or i32 %1489, 140 + %1491 = add i32 %1479, -1 + br label %4514 + +1492: ; preds = %1477 + %1493 = lshr i32 %1480, 24 + %1494 = and i32 %1493, 15 + %1495 = zext nneg i32 %1494 to i64 + %1496 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1495 + %1497 = load i32, ptr %1496, align 4, !tbaa !47 + %1498 = icmp eq i32 %1479, 0 + br i1 %1498, label %1499, label %1579 + +1499: ; preds = %1492 + %1500 = load i32, ptr %2, align 4, !tbaa !31 + %1501 = and i32 %1500, 8184 + %1502 = icmp eq i32 %1501, 0 + br i1 %1502, label %1503, label %1579 + +1503: ; preds = %1499 + %1504 = getelementptr inbounds i8, ptr %0, i64 72 + %1505 = load i8, ptr %1504, align 8, !tbaa !42 + %1506 = and i8 %1505, 1 + %1507 = icmp eq i8 %1506, 0 + br i1 %1507, label %1520, label %1508 + +1508: ; preds = %1503 + %1509 = and i32 %45, 768 + %1510 = icmp eq i32 %1509, 0 + br i1 %1510, label %1511, label %1579 + +1511: ; preds = %1508 + %1512 = getelementptr inbounds i8, ptr %2, i64 12 + %1513 = load i32, ptr %1512, align 4, !tbaa !47 + %1514 = getelementptr inbounds i8, ptr %2, i64 4 + %1515 = load i32, ptr %1514, align 4 + %1516 = zext i32 %1513 to i64 + %1517 = zext i32 %1515 to i64 + %1518 = shl nuw i64 %1517, 32 + %1519 = or disjoint i64 %1518, %1516 + br label %1576 + +1520: ; preds = %1503 + %1521 = lshr i32 %1500, 14 + %1522 = and i32 %1521, 3 + %1523 = icmp eq i32 %1522, 2 + %1524 = and i32 %45, 768 + %1525 = icmp ne i32 %1524, 0 + %1526 = or i1 %1525, %1523 + br i1 %1526, label %1579, label %1527 + +1527: ; preds = %1520 + %1528 = getelementptr inbounds i8, ptr %2, i64 12 + %1529 = load i32, ptr %1528, align 4, !tbaa !47 + %1530 = zext i32 %1529 to i64 + %1531 = getelementptr inbounds i8, ptr %2, i64 4 + %1532 = load i32, ptr %1531, align 4 + %1533 = zext i32 %1532 to i64 + %1534 = shl nuw i64 %1533, 32 + %1535 = or disjoint i64 %1534, %1530 + %1536 = getelementptr inbounds i8, ptr %0, i64 48 + %1537 = load ptr, ptr %1536, align 8, !tbaa !36 + %1538 = getelementptr inbounds i8, ptr %1537, i64 40 + %1539 = load i64, ptr %1538, align 8, !tbaa !65 + %1540 = icmp eq i64 %1539, -1 + %1541 = and i32 %1500, 1835008 + %1542 = or disjoint i32 %1522, %1541 + %1543 = icmp ne i32 %1542, 0 + %1544 = or i1 %1543, %1540 + br i1 %1544, label %1573, label %1545 + +1545: ; preds = %1527 + %1546 = icmp eq i32 %1493, 8 + %1547 = lshr i32 %45, 30 + %1548 = and i32 %1547, 1 + %1549 = select i1 %1546, i32 1, i32 %1548 + %1550 = icmp eq i32 %1493, 2 + %1551 = icmp ne i32 %1541, 0 + %1552 = zext i1 %1551 to i32 + %1553 = select i1 %1550, i32 10, i32 9 + %1554 = add nuw nsw i32 %1553, %1549 + %1555 = add nuw nsw i32 %1554, %1552 + %1556 = getelementptr inbounds i8, ptr %0, i64 152 + %1557 = load ptr, ptr %1556, align 8, !tbaa !80 + %1558 = ptrtoint ptr %154 to i64 + %1559 = ptrtoint ptr %1557 to i64 + %1560 = getelementptr inbounds i8, ptr %0, i64 144 + %1561 = load ptr, ptr %1560, align 8, !tbaa !38 + %1562 = getelementptr inbounds i8, ptr %1561, i64 16 + %1563 = load i64, ptr %1562, align 8, !tbaa !81 + %1564 = zext nneg i32 %1555 to i64 + %1565 = add i64 %1558, %1564 + %1566 = add i64 %1565, %1539 + %reass.sub = sub i64 %1535, %1566 + %1567 = add i64 %reass.sub, -2147483648 + %1568 = add i64 %1567, %1559 + %1569 = sub i64 %1568, %1563 + %1570 = icmp ult i64 %1569, -4294967296 + %1571 = icmp ugt i64 %1535, 4294967295 + %1572 = select i1 %1570, i1 %1571, i1 false + br i1 %1572, label %1576, label %1579 + +1573: ; preds = %1527 + %1574 = add i64 %1535, -4294967296 + %1575 = icmp ult i64 %1574, -6442450944 + br i1 %1575, label %1576, label %1579 + +1576: ; preds = %1573, %1545, %1511 + %1577 = phi i64 [ %1519, %1511 ], [ %1535, %1573 ], [ %1535, %1545 ] + %1578 = add i32 %1497, 162 + br label %4140 + +1579: ; preds = %1573, %1545, %1520, %1508, %1499, %1492 + %1580 = icmp eq i32 %1493, 1 + br i1 %1580, label %1581, label %1590 + +1581: ; preds = %1579 + %1582 = icmp eq i32 %1481, 16777249 + br i1 %1582, label %1587, label %1583 + +1583: ; preds = %1581 + %1584 = icmp ugt i32 %1479, 3 + %1585 = select i1 %1584, i32 1073741824, i32 0 + %1586 = or i32 %1585, %46 + br label %1590 + +1587: ; preds = %1581 + %1588 = or i32 %46, -2147483648 + %1589 = add i32 %1479, 4 + br label %1590 + +1590: ; preds = %1587, %1583, %1579 + %1591 = phi i32 [ %1589, %1587 ], [ %1479, %1583 ], [ %1479, %1579 ] + %1592 = phi i32 [ %1588, %1587 ], [ %1586, %1583 ], [ %46, %1579 ] + %1593 = add i32 %1497, 136 + br label %4514 + +1594: ; preds = %1260 + %1595 = getelementptr inbounds i8, ptr %2, i64 4 + %1596 = load i32, ptr %1595, align 4, !tbaa !58 + %1597 = load i32, ptr %2, align 4, !tbaa !31 + %1598 = lshr i32 %1597, 24 + %1599 = icmp eq i32 %1598, 1 + br i1 %1599, label %1600, label %1616 + +1600: ; preds = %1594 + %1601 = and i32 %1597, 16781311 + %1602 = icmp eq i32 %1601, 16777249 + br i1 %1602, label %1607, label %1603 + +1603: ; preds = %1600 + %1604 = icmp ugt i32 %1596, 3 + %1605 = select i1 %1604, i32 1073741824, i32 0 + %1606 = or i32 %1605, %46 + br label %1610 + +1607: ; preds = %1600 + %1608 = or i32 %46, -2147483648 + %1609 = add i32 %1596, 4 + br label %1610 + +1610: ; preds = %1607, %1603 + %1611 = phi i32 [ %1609, %1607 ], [ %1596, %1603 ] + %1612 = phi i32 [ %1608, %1607 ], [ %1606, %1603 ] + %1613 = getelementptr inbounds i8, ptr %3, i64 8 + %1614 = load i64, ptr %1613, align 4 + %1615 = and i64 %1614, 255 + br label %4229 + +1616: ; preds = %1594 + %1617 = trunc i32 %1598 to i8 + %1618 = getelementptr inbounds i8, ptr %3, i64 8 + %1619 = load i64, ptr %1618, align 4 + %1620 = icmp eq i32 %1598, 8 + br i1 %1620, label %1621, label %1634 + +1621: ; preds = %1616 + %1622 = and i32 %45, 32 + %1623 = icmp eq i32 %1622, 0 + br i1 %1623, label %1624, label %1634 + +1624: ; preds = %1621 + %1625 = icmp ult i64 %1619, 4294967296 + br i1 %1625, label %1626, label %1631 + +1626: ; preds = %1624 + %1627 = getelementptr inbounds i8, ptr %0, i64 32 + %1628 = load i32, ptr %1627, align 8, !tbaa !60 + %1629 = and i32 %1628, 1 + %1630 = icmp eq i32 %1629, 0 + br i1 %1630, label %1631, label %1634 + +1631: ; preds = %1626, %1624 + %1632 = add i64 %1619, 2147483648 + %1633 = icmp ult i64 %1632, 4294967296 + br i1 %1633, label %4377, label %1634 + +1634: ; preds = %1631, %1626, %1621, %1616 + %1635 = phi i8 [ 8, %1621 ], [ 8, %1631 ], [ %1617, %1616 ], [ 4, %1626 ] + %1636 = and i8 %1635, 15 + %1637 = zext nneg i8 %1636 to i64 + %1638 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIhEERS2_T_E4mask, i64 0, i64 %1637 + %1639 = load i32, ptr %1638, align 4, !tbaa !47 + %1640 = or i32 %1639, 184 + br label %4229 + +1641: ; preds = %1260 + %1642 = load i32, ptr %2, align 4, !tbaa !31 + %1643 = icmp ult i32 %1642, 16777216 + br i1 %1643, label %6031, label %1644, !prof !37 + +1644: ; preds = %1641 + %1645 = lshr i32 %1642, 24 + %1646 = icmp eq i32 %1645, 1 + %1647 = select i1 %1646, i32 198, i32 199 + %1648 = and i32 %1645, 15 + %1649 = zext nneg i32 %1648 to i64 + %1650 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1649 + %1651 = load i32, ptr %1650, align 4, !tbaa !47 + %1652 = or i32 %1651, %1647 + %1653 = getelementptr inbounds i8, ptr %3, i64 8 + %1654 = load i64, ptr %1653, align 4 + %1655 = call noundef i32 @llvm.umin.i32(i32 %1645, i32 4) + %1656 = trunc i32 %1655 to i8 + br label %4514 + +1657: ; preds = %153 + switch i32 %31, label %6031 [ + i32 17, label %1658 + i32 10, label %1688 + i32 25, label %1715 ] -1659: ; preds = %1658 - %1660 = getelementptr inbounds i8, ptr %2, i64 4 - %1661 = load i32, ptr %1660, align 4, !tbaa !58 - %1662 = load i32, ptr %2, align 4, !tbaa !31 - %1663 = lshr i32 %1662, 24 - %1664 = and i32 %1663, 15 - %1665 = zext nneg i32 %1664 to i64 - %1666 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1665 - %1667 = load i32, ptr %1666, align 4, !tbaa !47 - %1668 = or i32 %1667, 160 - %1669 = and i32 %1662, 3840 - %1670 = icmp eq i32 %1669, 0 - %1671 = icmp eq i32 %1661, 0 - %1672 = select i1 %1670, i1 %1671, i1 false - br i1 %1672, label %1673, label %6035, !prof !86 - -1673: ; preds = %1659 - %1674 = load i32, ptr %3, align 4, !tbaa !31 - %1675 = and i32 %1674, 8184 - %1676 = icmp ne i32 %1675, 0 - %1677 = and i32 %1674, 49152 - %1678 = icmp eq i32 %1677, 32768 - %1679 = or i1 %1676, %1678 - br i1 %1679, label %6035, label %1680, !prof !62 - -1680: ; preds = %1673 - %1681 = getelementptr inbounds i8, ptr %3, i64 12 - %1682 = load i32, ptr %1681, align 4, !tbaa !47 - %1683 = zext i32 %1682 to i64 - %1684 = getelementptr inbounds i8, ptr %3, i64 4 - %1685 = load i32, ptr %1684, align 4 - %1686 = zext i32 %1685 to i64 - %1687 = shl nuw i64 %1686, 32 - %1688 = or disjoint i64 %1687, %1683 - br label %4144 - -1689: ; preds = %1658 - %1690 = getelementptr inbounds i8, ptr %3, i64 4 - %1691 = load i32, ptr %1690, align 4, !tbaa !58 - %1692 = load i32, ptr %3, align 4, !tbaa !31 - %1693 = lshr i32 %1692, 24 - %1694 = and i32 %1693, 15 - %1695 = zext nneg i32 %1694 to i64 - %1696 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1695 - %1697 = load i32, ptr %1696, align 4, !tbaa !47 - %1698 = or i32 %1697, 162 - %1699 = and i32 %1692, 3840 - %1700 = icmp eq i32 %1699, 0 - %1701 = icmp eq i32 %1691, 0 - %1702 = select i1 %1700, i1 %1701, i1 false - br i1 %1702, label %1703, label %6035, !prof !86 - -1703: ; preds = %1689 - %1704 = load i32, ptr %2, align 4, !tbaa !31 - %1705 = and i32 %1704, 8184 - %1706 = icmp eq i32 %1705, 0 - br i1 %1706, label %1707, label %6035, !prof !35 - -1707: ; preds = %1703 - %1708 = getelementptr inbounds i8, ptr %2, i64 12 - %1709 = load i32, ptr %1708, align 4, !tbaa !47 - %1710 = zext i32 %1709 to i64 - %1711 = getelementptr inbounds i8, ptr %2, i64 4 - %1712 = load i32, ptr %1711, align 4 - %1713 = zext i32 %1712 to i64 - %1714 = shl nuw i64 %1713, 32 - %1715 = or disjoint i64 %1714, %1710 - br label %4144 - -1716: ; preds = %1658 - %1717 = load i32, ptr %2, align 4, !tbaa !31 - %1718 = and i32 %1717, -16773121 - %1719 = icmp eq i32 %1718, 134217785 - br i1 %1719, label %1720, label %6035, !prof !35 - -1720: ; preds = %1716 - %1721 = getelementptr inbounds i8, ptr %2, i64 4 - %1722 = load i32, ptr %1721, align 4, !tbaa !58 - %1723 = getelementptr inbounds i8, ptr %3, i64 8 - %1724 = load i64, ptr %1723, align 4 - br label %4233 - -1725: ; preds = %153 - %1726 = load i32, ptr %3, align 4, !tbaa !31 - %1727 = lshr i32 %1726, 24 - %1728 = icmp ne i32 %1727, 1 - %1729 = zext i1 %1728 to i32 - %1730 = add i32 %165, %1729 - %1731 = load i32, ptr %2, align 4, !tbaa !31 - %1732 = lshr i32 %1731, 24 - %1733 = and i32 %1732, 15 - %1734 = zext nneg i32 %1733 to i64 - %1735 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1734 - %1736 = load i32, ptr %1735, align 4, !tbaa !47 - %1737 = or i32 %1730, %1736 - switch i32 %31, label %6035 [ - i32 9, label %1738 - i32 17, label %1754 +1658: ; preds = %1657 + %1659 = getelementptr inbounds i8, ptr %2, i64 4 + %1660 = load i32, ptr %1659, align 4, !tbaa !58 + %1661 = load i32, ptr %2, align 4, !tbaa !31 + %1662 = lshr i32 %1661, 24 + %1663 = and i32 %1662, 15 + %1664 = zext nneg i32 %1663 to i64 + %1665 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1664 + %1666 = load i32, ptr %1665, align 4, !tbaa !47 + %1667 = or i32 %1666, 160 + %1668 = and i32 %1661, 3840 + %1669 = icmp eq i32 %1668, 0 + %1670 = icmp eq i32 %1660, 0 + %1671 = select i1 %1669, i1 %1670, i1 false + br i1 %1671, label %1672, label %6031, !prof !86 + +1672: ; preds = %1658 + %1673 = load i32, ptr %3, align 4, !tbaa !31 + %1674 = and i32 %1673, 8184 + %1675 = icmp ne i32 %1674, 0 + %1676 = and i32 %1673, 49152 + %1677 = icmp eq i32 %1676, 32768 + %1678 = or i1 %1675, %1677 + br i1 %1678, label %6031, label %1679, !prof !62 + +1679: ; preds = %1672 + %1680 = getelementptr inbounds i8, ptr %3, i64 12 + %1681 = load i32, ptr %1680, align 4, !tbaa !47 + %1682 = zext i32 %1681 to i64 + %1683 = getelementptr inbounds i8, ptr %3, i64 4 + %1684 = load i32, ptr %1683, align 4 + %1685 = zext i32 %1684 to i64 + %1686 = shl nuw i64 %1685, 32 + %1687 = or disjoint i64 %1686, %1682 + br label %4140 + +1688: ; preds = %1657 + %1689 = getelementptr inbounds i8, ptr %3, i64 4 + %1690 = load i32, ptr %1689, align 4, !tbaa !58 + %1691 = load i32, ptr %3, align 4, !tbaa !31 + %1692 = lshr i32 %1691, 24 + %1693 = and i32 %1692, 15 + %1694 = zext nneg i32 %1693 to i64 + %1695 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1694 + %1696 = load i32, ptr %1695, align 4, !tbaa !47 + %1697 = or i32 %1696, 162 + %1698 = and i32 %1691, 3840 + %1699 = icmp eq i32 %1698, 0 + %1700 = icmp eq i32 %1690, 0 + %1701 = select i1 %1699, i1 %1700, i1 false + br i1 %1701, label %1702, label %6031, !prof !86 + +1702: ; preds = %1688 + %1703 = load i32, ptr %2, align 4, !tbaa !31 + %1704 = and i32 %1703, 8184 + %1705 = icmp eq i32 %1704, 0 + br i1 %1705, label %1706, label %6031, !prof !35 + +1706: ; preds = %1702 + %1707 = getelementptr inbounds i8, ptr %2, i64 12 + %1708 = load i32, ptr %1707, align 4, !tbaa !47 + %1709 = zext i32 %1708 to i64 + %1710 = getelementptr inbounds i8, ptr %2, i64 4 + %1711 = load i32, ptr %1710, align 4 + %1712 = zext i32 %1711 to i64 + %1713 = shl nuw i64 %1712, 32 + %1714 = or disjoint i64 %1713, %1709 + br label %4140 + +1715: ; preds = %1657 + %1716 = load i32, ptr %2, align 4, !tbaa !31 + %1717 = and i32 %1716, -16773121 + %1718 = icmp eq i32 %1717, 134217785 + br i1 %1718, label %1719, label %6031, !prof !35 + +1719: ; preds = %1715 + %1720 = getelementptr inbounds i8, ptr %2, i64 4 + %1721 = load i32, ptr %1720, align 4, !tbaa !58 + %1722 = getelementptr inbounds i8, ptr %3, i64 8 + %1723 = load i64, ptr %1722, align 4 + br label %4229 + +1724: ; preds = %153 + %1725 = load i32, ptr %3, align 4, !tbaa !31 + %1726 = lshr i32 %1725, 24 + %1727 = icmp ne i32 %1726, 1 + %1728 = zext i1 %1727 to i32 + %1729 = add i32 %165, %1728 + %1730 = load i32, ptr %2, align 4, !tbaa !31 + %1731 = lshr i32 %1730, 24 + %1732 = and i32 %1731, 15 + %1733 = zext nneg i32 %1732 to i64 + %1734 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %1733 + %1735 = load i32, ptr %1734, align 4, !tbaa !47 + %1736 = or i32 %1729, %1735 + switch i32 %31, label %6031 [ + i32 9, label %1737 + i32 17, label %1753 ] -1738: ; preds = %1725 - %1739 = getelementptr inbounds i8, ptr %2, i64 4 - %1740 = load i32, ptr %1739, align 4, !tbaa !58 - %1741 = getelementptr inbounds i8, ptr %3, i64 4 - %1742 = load i32, ptr %1741, align 4, !tbaa !58 - %1743 = icmp eq i32 %1727, 1 - br i1 %1743, label %1744, label %4381 - -1744: ; preds = %1738 - %1745 = and i32 %1726, 16781311 - %1746 = icmp eq i32 %1745, 16777249 - br i1 %1746, label %1751, label %1747 - -1747: ; preds = %1744 - %1748 = icmp ugt i32 %1742, 3 - %1749 = select i1 %1748, i32 1073741824, i32 0 - %1750 = or i32 %1749, %46 - br label %4381 - -1751: ; preds = %1744 - %1752 = or i32 %46, -2147483648 - %1753 = add i32 %1742, 4 - br label %4381 - -1754: ; preds = %1725 - %1755 = getelementptr inbounds i8, ptr %2, i64 4 - %1756 = load i32, ptr %1755, align 4, !tbaa !58 - br label %4518 - -1757: ; preds = %153 - %1758 = icmp eq i32 %31, 10 - br i1 %1758, label %1759, label %6035 - -1759: ; preds = %1757 - %1760 = load i32, ptr %3, align 4, !tbaa !31 - %1761 = and i32 %1760, -16773121 - %1762 = icmp eq i32 %1761, 134217785 - %1763 = select i1 %1762, i32 134217728, i32 0 - %1764 = or i32 %1763, %165 - %1765 = getelementptr inbounds i8, ptr %3, i64 4 - %1766 = load i32, ptr %1765, align 4, !tbaa !58 - br label %4518 - -1767: ; preds = %153 - %1768 = icmp eq i32 %31, 18 - br i1 %1768, label %1769, label %6035 - -1769: ; preds = %1767 - %1770 = load i32, ptr %2, align 4, !tbaa !31 - %1771 = load i32, ptr %3, align 4, !tbaa !31 - %1772 = xor i32 %1771, %1770 - %1773 = and i32 %1772, 248 - %1774 = and i32 %1770, 7936 - %1775 = or disjoint i32 %1773, %1774 - %1776 = icmp eq i32 %1775, 0 - br i1 %1776, label %1777, label %6035, !prof !87 - -1777: ; preds = %1769 - %1778 = getelementptr inbounds i8, ptr %2, i64 12 - %1779 = load i32, ptr %1778, align 4, !tbaa !47 - %1780 = getelementptr inbounds i8, ptr %2, i64 4 - %1781 = load i32, ptr %1780, align 4, !tbaa !58 - %1782 = and i32 %1770, 248 - %1783 = icmp eq i32 %1782, 0 - %1784 = select i1 %1783, i32 %1781, i32 0 - %1785 = and i32 %1770, 1572864 - %1786 = or i32 %1779, %1785 - %1787 = or i32 %1786, %1784 - %1788 = icmp eq i32 %1787, 0 - br i1 %1788, label %4518, label %6035, !prof !88 - -1789: ; preds = %153 - switch i32 %31, label %6035 [ - i32 11, label %1790 - i32 9, label %1811 +1737: ; preds = %1724 + %1738 = getelementptr inbounds i8, ptr %2, i64 4 + %1739 = load i32, ptr %1738, align 4, !tbaa !58 + %1740 = getelementptr inbounds i8, ptr %3, i64 4 + %1741 = load i32, ptr %1740, align 4, !tbaa !58 + %1742 = icmp eq i32 %1726, 1 + br i1 %1742, label %1743, label %4377 + +1743: ; preds = %1737 + %1744 = and i32 %1725, 16781311 + %1745 = icmp eq i32 %1744, 16777249 + br i1 %1745, label %1750, label %1746 + +1746: ; preds = %1743 + %1747 = icmp ugt i32 %1741, 3 + %1748 = select i1 %1747, i32 1073741824, i32 0 + %1749 = or i32 %1748, %46 + br label %4377 + +1750: ; preds = %1743 + %1751 = or i32 %46, -2147483648 + %1752 = add i32 %1741, 4 + br label %4377 + +1753: ; preds = %1724 + %1754 = getelementptr inbounds i8, ptr %2, i64 4 + %1755 = load i32, ptr %1754, align 4, !tbaa !58 + br label %4514 + +1756: ; preds = %153 + %1757 = icmp eq i32 %31, 10 + br i1 %1757, label %1758, label %6031 + +1758: ; preds = %1756 + %1759 = load i32, ptr %3, align 4, !tbaa !31 + %1760 = and i32 %1759, -16773121 + %1761 = icmp eq i32 %1760, 134217785 + %1762 = select i1 %1761, i32 134217728, i32 0 + %1763 = or i32 %1762, %165 + %1764 = getelementptr inbounds i8, ptr %3, i64 4 + %1765 = load i32, ptr %1764, align 4, !tbaa !58 + br label %4514 + +1766: ; preds = %153 + %1767 = icmp eq i32 %31, 18 + br i1 %1767, label %1768, label %6031 + +1768: ; preds = %1766 + %1769 = load i32, ptr %2, align 4, !tbaa !31 + %1770 = load i32, ptr %3, align 4, !tbaa !31 + %1771 = xor i32 %1770, %1769 + %1772 = and i32 %1771, 248 + %1773 = and i32 %1769, 7936 + %1774 = or disjoint i32 %1772, %1773 + %1775 = icmp eq i32 %1774, 0 + br i1 %1775, label %1776, label %6031, !prof !87 + +1776: ; preds = %1768 + %1777 = getelementptr inbounds i8, ptr %2, i64 12 + %1778 = load i32, ptr %1777, align 4, !tbaa !47 + %1779 = getelementptr inbounds i8, ptr %2, i64 4 + %1780 = load i32, ptr %1779, align 4, !tbaa !58 + %1781 = and i32 %1769, 248 + %1782 = icmp eq i32 %1781, 0 + %1783 = select i1 %1782, i32 %1780, i32 0 + %1784 = and i32 %1769, 1572864 + %1785 = or i32 %1778, %1784 + %1786 = or i32 %1785, %1783 + %1787 = icmp eq i32 %1786, 0 + br i1 %1787, label %4514, label %6031, !prof !88 + +1788: ; preds = %153 + switch i32 %31, label %6031 [ + i32 11, label %1789 + i32 9, label %1810 ] -1790: ; preds = %1789 - %1791 = getelementptr inbounds i8, ptr %3, i64 4 - %1792 = load i32, ptr %1791, align 4, !tbaa !58 - %1793 = icmp eq i32 %1792, 0 - br i1 %1793, label %1794, label %6035, !prof !35 - -1794: ; preds = %1790 - %1795 = getelementptr inbounds i8, ptr %16, i64 7 - %1796 = load i8, ptr %1795, align 1, !tbaa !61 - %1797 = zext i8 %1796 to i64 - %1798 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1797 - %1799 = load i32, ptr %1798, align 4, !tbaa !47 - %1800 = load i32, ptr %3, align 4, !tbaa !31 - %1801 = lshr i32 %1800, 24 - %1802 = icmp ne i32 %1801, 1 - %1803 = zext i1 %1802 to i32 - %1804 = add i32 %1799, %1803 - %1805 = icmp eq i32 %1801, 2 - %1806 = select i1 %1805, i32 2097152, i32 0 - %1807 = or i32 %1804, %1806 - %1808 = getelementptr inbounds i8, ptr %2, i64 8 - %1809 = load i64, ptr %1808, align 4 - %1810 = and i64 %1809, 255 - br label %4163 - -1811: ; preds = %1789 - %1812 = getelementptr inbounds i8, ptr %2, i64 4 - %1813 = load i32, ptr %1812, align 4, !tbaa !58 - %1814 = icmp ne i32 %1813, 2 - %1815 = getelementptr inbounds i8, ptr %3, i64 4 - %1816 = load i32, ptr %1815, align 4 - %1817 = icmp ne i32 %1816, 0 - %1818 = select i1 %1814, i1 true, i1 %1817 - br i1 %1818, label %6035, label %1819, !prof !62 - -1819: ; preds = %1811 - %1820 = load i32, ptr %3, align 4, !tbaa !31 - %1821 = lshr i32 %1820, 24 - %1822 = icmp ne i32 %1821, 1 - %1823 = zext i1 %1822 to i32 - %1824 = add i32 %165, %1823 - %1825 = icmp eq i32 %1821, 2 - %1826 = select i1 %1825, i32 2097152, i32 0 - %1827 = or i32 %1824, %1826 - br label %4163 - -1828: ; preds = %153 - %1829 = icmp eq i32 %31, 17 - %1830 = getelementptr inbounds i8, ptr %2, i64 4 - %1831 = load i32, ptr %1830, align 4 - %1832 = icmp eq i32 %1831, 2 - %1833 = select i1 %1829, i1 %1832, i1 false - br i1 %1833, label %1834, label %6035, !prof !86 - -1834: ; preds = %1828 - %1835 = load i32, ptr %3, align 4, !tbaa !31 - %1836 = and i32 %1835, 7 - %1837 = icmp eq i32 %1836, 2 - %1838 = getelementptr inbounds i8, ptr %3, i64 4 - %1839 = load i32, ptr %1838, align 4 - %1840 = icmp eq i32 %1839, 6 - %1841 = select i1 %1837, i1 %1840, i1 false - br i1 %1841, label %1842, label %6035 - -1842: ; preds = %1834 - %1843 = getelementptr inbounds i8, ptr %3, i64 12 - %1844 = load i32, ptr %1843, align 4, !tbaa !47 - %1845 = and i32 %1835, 248 - %1846 = icmp eq i32 %1845, 0 - %1847 = select i1 %1846, i32 6, i32 0 - %1848 = or i32 %1844, %1847 - %1849 = icmp eq i32 %1848, 0 - br i1 %1849, label %1850, label %6035, !prof !89 - -1850: ; preds = %1842 - %1851 = icmp ult i32 %1835, 16777216 - br i1 %1851, label %6035, label %1852, !prof !37 - -1852: ; preds = %1850 - %1853 = lshr i32 %1835, 24 - %1854 = icmp ne i32 %1853, 1 - %1855 = zext i1 %1854 to i32 - %1856 = add i32 %165, %1855 - %1857 = icmp eq i32 %1853, 2 - %1858 = select i1 %1857, i32 2097152, i32 0 - %1859 = or i32 %1856, %1858 - br label %4307 - -1860: ; preds = %153 - switch i32 %31, label %6035 [ - i32 1, label %1861 - i32 3, label %1873 - i32 2, label %1913 +1789: ; preds = %1788 + %1790 = getelementptr inbounds i8, ptr %3, i64 4 + %1791 = load i32, ptr %1790, align 4, !tbaa !58 + %1792 = icmp eq i32 %1791, 0 + br i1 %1792, label %1793, label %6031, !prof !35 + +1793: ; preds = %1789 + %1794 = getelementptr inbounds i8, ptr %16, i64 7 + %1795 = load i8, ptr %1794, align 1, !tbaa !61 + %1796 = zext i8 %1795 to i64 + %1797 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1796 + %1798 = load i32, ptr %1797, align 4, !tbaa !47 + %1799 = load i32, ptr %3, align 4, !tbaa !31 + %1800 = lshr i32 %1799, 24 + %1801 = icmp ne i32 %1800, 1 + %1802 = zext i1 %1801 to i32 + %1803 = add i32 %1798, %1802 + %1804 = icmp eq i32 %1800, 2 + %1805 = select i1 %1804, i32 2097152, i32 0 + %1806 = or i32 %1803, %1805 + %1807 = getelementptr inbounds i8, ptr %2, i64 8 + %1808 = load i64, ptr %1807, align 4 + %1809 = and i64 %1808, 255 + br label %4159 + +1810: ; preds = %1788 + %1811 = getelementptr inbounds i8, ptr %2, i64 4 + %1812 = load i32, ptr %1811, align 4, !tbaa !58 + %1813 = icmp ne i32 %1812, 2 + %1814 = getelementptr inbounds i8, ptr %3, i64 4 + %1815 = load i32, ptr %1814, align 4 + %1816 = icmp ne i32 %1815, 0 + %1817 = select i1 %1813, i1 true, i1 %1816 + br i1 %1817, label %6031, label %1818, !prof !62 + +1818: ; preds = %1810 + %1819 = load i32, ptr %3, align 4, !tbaa !31 + %1820 = lshr i32 %1819, 24 + %1821 = icmp ne i32 %1820, 1 + %1822 = zext i1 %1821 to i32 + %1823 = add i32 %165, %1822 + %1824 = icmp eq i32 %1820, 2 + %1825 = select i1 %1824, i32 2097152, i32 0 + %1826 = or i32 %1823, %1825 + br label %4159 + +1827: ; preds = %153 + %1828 = icmp eq i32 %31, 17 + %1829 = getelementptr inbounds i8, ptr %2, i64 4 + %1830 = load i32, ptr %1829, align 4 + %1831 = icmp eq i32 %1830, 2 + %1832 = select i1 %1828, i1 %1831, i1 false + br i1 %1832, label %1833, label %6031, !prof !86 + +1833: ; preds = %1827 + %1834 = load i32, ptr %3, align 4, !tbaa !31 + %1835 = and i32 %1834, 7 + %1836 = icmp eq i32 %1835, 2 + %1837 = getelementptr inbounds i8, ptr %3, i64 4 + %1838 = load i32, ptr %1837, align 4 + %1839 = icmp eq i32 %1838, 6 + %1840 = select i1 %1836, i1 %1839, i1 false + br i1 %1840, label %1841, label %6031 + +1841: ; preds = %1833 + %1842 = getelementptr inbounds i8, ptr %3, i64 12 + %1843 = load i32, ptr %1842, align 4, !tbaa !47 + %1844 = and i32 %1834, 248 + %1845 = icmp ne i32 %1844, 0 + %1846 = icmp eq i32 %1843, 0 + %1847 = and i1 %1845, %1846 + br i1 %1847, label %1848, label %6031, !prof !89 + +1848: ; preds = %1841 + %1849 = icmp ult i32 %1834, 16777216 + br i1 %1849, label %6031, label %1850, !prof !37 + +1850: ; preds = %1848 + %1851 = lshr i32 %1834, 24 + %1852 = icmp ne i32 %1851, 1 + %1853 = zext i1 %1852 to i32 + %1854 = add i32 %165, %1853 + %1855 = icmp eq i32 %1851, 2 + %1856 = select i1 %1855, i32 2097152, i32 0 + %1857 = or i32 %1854, %1856 + br label %4303 + +1858: ; preds = %153 + switch i32 %31, label %6031 [ + i32 1, label %1859 + i32 3, label %1871 + i32 2, label %1911 ] -1861: ; preds = %1860 - %1862 = load i32, ptr %2, align 4, !tbaa !31 - %1863 = and i32 %1862, -16773121 - %1864 = icmp eq i32 %1863, 33555865 - br i1 %1864, label %1865, label %1898 - -1865: ; preds = %1861 - %1866 = getelementptr inbounds i8, ptr %2, i64 4 - %1867 = load i32, ptr %1866, align 4, !tbaa !58 - %1868 = icmp ugt i32 %1867, 6 - br i1 %1868, label %6035, label %1869, !prof !37 - -1869: ; preds = %1865 - %1870 = zext nneg i32 %1867 to i64 - %1871 = getelementptr inbounds [8 x i32], ptr @_ZN6asmjit9_abi_1_103x86L17x86OpcodePushSRegE, i64 0, i64 %1870 - %1872 = load i32, ptr %1871, align 4, !tbaa !47 - br label %4163 - -1873: ; preds = %1860 - %1874 = getelementptr inbounds i8, ptr %2, i64 8 - %1875 = load i64, ptr %1874, align 4 - %1876 = add i64 %1875, 128 - %1877 = icmp ult i64 %1876, 256 - br i1 %1877, label %1878, label %4163 - -1878: ; preds = %1873 - %1879 = and i32 %45, 32 - %1880 = icmp eq i32 %1879, 0 - %1881 = select i1 %1880, i32 106, i32 104 - %1882 = select i1 %1880, i8 1, i8 4 - br label %4163 - -1883: ; preds = %153 - switch i32 %31, label %6035 [ - i32 1, label %1884 - i32 2, label %1913 +1859: ; preds = %1858 + %1860 = load i32, ptr %2, align 4, !tbaa !31 + %1861 = and i32 %1860, -16773121 + %1862 = icmp eq i32 %1861, 33555865 + br i1 %1862, label %1863, label %1896 + +1863: ; preds = %1859 + %1864 = getelementptr inbounds i8, ptr %2, i64 4 + %1865 = load i32, ptr %1864, align 4, !tbaa !58 + %1866 = icmp ugt i32 %1865, 6 + br i1 %1866, label %6031, label %1867, !prof !37 + +1867: ; preds = %1863 + %1868 = zext nneg i32 %1865 to i64 + %1869 = getelementptr inbounds [8 x i32], ptr @_ZN6asmjit9_abi_1_103x86L17x86OpcodePushSRegE, i64 0, i64 %1868 + %1870 = load i32, ptr %1869, align 4, !tbaa !47 + br label %4159 + +1871: ; preds = %1858 + %1872 = getelementptr inbounds i8, ptr %2, i64 8 + %1873 = load i64, ptr %1872, align 4 + %1874 = add i64 %1873, 128 + %1875 = icmp ult i64 %1874, 256 + br i1 %1875, label %1876, label %4159 + +1876: ; preds = %1871 + %1877 = and i32 %45, 32 + %1878 = icmp eq i32 %1877, 0 + %1879 = select i1 %1878, i32 106, i32 104 + %1880 = select i1 %1878, i8 1, i8 4 + br label %4159 + +1881: ; preds = %153 + switch i32 %31, label %6031 [ + i32 1, label %1882 + i32 2, label %1911 ] -1884: ; preds = %1883 - %1885 = load i32, ptr %2, align 4, !tbaa !31 - %1886 = and i32 %1885, -16773121 - %1887 = icmp eq i32 %1886, 33555865 - br i1 %1887, label %1888, label %1898 - -1888: ; preds = %1884 - %1889 = getelementptr inbounds i8, ptr %2, i64 4 - %1890 = load i32, ptr %1889, align 4, !tbaa !58 - %1891 = icmp eq i32 %1890, 2 - %1892 = icmp ugt i32 %1890, 6 - %1893 = or i1 %1891, %1892 - br i1 %1893, label %6035, label %1894, !prof !37 - -1894: ; preds = %1888 - %1895 = zext nneg i32 %1890 to i64 - %1896 = getelementptr inbounds [8 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86OpcodePopSRegE, i64 0, i64 %1895 - %1897 = load i32, ptr %1896, align 4, !tbaa !47 - br label %4163 - -1898: ; preds = %1884, %1861 - %1899 = phi i32 [ %1885, %1884 ], [ %1862, %1861 ] - %1900 = icmp ult i32 %1899, 33554432 - br i1 %1900, label %6035, label %1901, !prof !37 - -1901: ; preds = %1898 - %1902 = getelementptr inbounds i8, ptr %16, i64 7 - %1903 = load i8, ptr %1902, align 1, !tbaa !61 - %1904 = zext i8 %1903 to i64 - %1905 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1904 - %1906 = load i32, ptr %1905, align 4, !tbaa !47 - %1907 = and i32 %1899, -16777216 - %1908 = icmp eq i32 %1907, 33554432 - %1909 = select i1 %1908, i32 2097152, i32 0 - %1910 = or i32 %1906, %1909 - %1911 = getelementptr inbounds i8, ptr %2, i64 4 - %1912 = load i32, ptr %1911, align 4, !tbaa !58 - br label %4233 - -1913: ; preds = %1883, %1860 - %1914 = load i32, ptr %2, align 4, !tbaa !31 - %1915 = lshr i32 %1914, 24 - %1916 = icmp ult i32 %1914, 16777216 - br i1 %1916, label %6035, label %1917, !prof !37 - -1917: ; preds = %1913 - %1918 = icmp eq i32 %1915, 2 - br i1 %1918, label %1926, label %1919 - -1919: ; preds = %1917 - %1920 = getelementptr inbounds i8, ptr %0, i64 72 - %1921 = load i8, ptr %1920, align 8, !tbaa !42 - %1922 = and i8 %1921, 1 - %1923 = icmp eq i8 %1922, 0 - %1924 = select i1 %1923, i32 8, i32 4 - %1925 = icmp eq i32 %1915, %1924 - br i1 %1925, label %1926, label %6035, !prof !35 - -1926: ; preds = %1919, %1917 - %1927 = phi i32 [ 2097152, %1917 ], [ 0, %1919 ] - %1928 = or i32 %1927, %165 - br label %4518 - -1929: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %1930 - i32 3, label %1932 +1882: ; preds = %1881 + %1883 = load i32, ptr %2, align 4, !tbaa !31 + %1884 = and i32 %1883, -16773121 + %1885 = icmp eq i32 %1884, 33555865 + br i1 %1885, label %1886, label %1896 + +1886: ; preds = %1882 + %1887 = getelementptr inbounds i8, ptr %2, i64 4 + %1888 = load i32, ptr %1887, align 4, !tbaa !58 + %1889 = icmp eq i32 %1888, 2 + %1890 = icmp ugt i32 %1888, 6 + %1891 = or i1 %1889, %1890 + br i1 %1891, label %6031, label %1892, !prof !37 + +1892: ; preds = %1886 + %1893 = zext nneg i32 %1888 to i64 + %1894 = getelementptr inbounds [8 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86OpcodePopSRegE, i64 0, i64 %1893 + %1895 = load i32, ptr %1894, align 4, !tbaa !47 + br label %4159 + +1896: ; preds = %1882, %1859 + %1897 = phi i32 [ %1883, %1882 ], [ %1860, %1859 ] + %1898 = icmp ult i32 %1897, 33554432 + br i1 %1898, label %6031, label %1899, !prof !37 + +1899: ; preds = %1896 + %1900 = getelementptr inbounds i8, ptr %16, i64 7 + %1901 = load i8, ptr %1900, align 1, !tbaa !61 + %1902 = zext i8 %1901 to i64 + %1903 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %1902 + %1904 = load i32, ptr %1903, align 4, !tbaa !47 + %1905 = and i32 %1897, -16777216 + %1906 = icmp eq i32 %1905, 33554432 + %1907 = select i1 %1906, i32 2097152, i32 0 + %1908 = or i32 %1904, %1907 + %1909 = getelementptr inbounds i8, ptr %2, i64 4 + %1910 = load i32, ptr %1909, align 4, !tbaa !58 + br label %4229 + +1911: ; preds = %1881, %1858 + %1912 = load i32, ptr %2, align 4, !tbaa !31 + %1913 = lshr i32 %1912, 24 + %1914 = icmp ult i32 %1912, 16777216 + br i1 %1914, label %6031, label %1915, !prof !37 + +1915: ; preds = %1911 + %1916 = icmp eq i32 %1913, 2 + br i1 %1916, label %1924, label %1917 + +1917: ; preds = %1915 + %1918 = getelementptr inbounds i8, ptr %0, i64 72 + %1919 = load i8, ptr %1918, align 8, !tbaa !42 + %1920 = and i8 %1919, 1 + %1921 = icmp eq i8 %1920, 0 + %1922 = select i1 %1921, i32 8, i32 4 + %1923 = icmp eq i32 %1913, %1922 + br i1 %1923, label %1924, label %6031, !prof !35 + +1924: ; preds = %1917, %1915 + %1925 = phi i32 [ 2097152, %1915 ], [ 0, %1917 ] + %1926 = or i32 %1925, %165 + br label %4514 + +1927: ; preds = %153 + switch i32 %31, label %6031 [ + i32 0, label %1928 + i32 3, label %1930 ] -1930: ; preds = %1929 - %1931 = add i32 %165, 1 - br label %4163 - -1932: ; preds = %1929 - %1933 = getelementptr inbounds i8, ptr %2, i64 8 - %1934 = load i64, ptr %1933, align 4 - %1935 = icmp eq i64 %1934, 0 - br i1 %1935, label %1936, label %4163 - -1936: ; preds = %1932 - %1937 = and i32 %45, 32 - %1938 = lshr exact i32 %1937, 5 - %1939 = xor i32 %1938, 1 - %1940 = add i32 %165, %1939 - %1941 = lshr exact i32 %1937, 4 - %1942 = trunc i32 %1941 to i8 - br label %4163 - -1943: ; preds = %153 - %1944 = load i32, ptr %2, align 4, !tbaa !31 - %1945 = and i32 %1944, 7 - %1946 = icmp eq i32 %1945, 1 - br i1 %1946, label %1947, label %1986 - -1947: ; preds = %1943 - %1948 = lshr i32 %1944, 24 - %1949 = and i32 %1948, 15 - %1950 = zext nneg i32 %1949 to i64 - %1951 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1950 - %1952 = load i32, ptr %1951, align 4, !tbaa !47 - %1953 = or i32 %1952, %165 - %1954 = getelementptr inbounds i8, ptr %2, i64 4 - %1955 = load i32, ptr %1954, align 4, !tbaa !58 - %1956 = icmp eq i32 %1948, 1 - br i1 %1956, label %1957, label %1967 - -1957: ; preds = %1947 - %1958 = and i32 %1944, 16781305 - %1959 = icmp eq i32 %1958, 16777249 - br i1 %1959, label %1964, label %1960 - -1960: ; preds = %1957 - %1961 = icmp ugt i32 %1955, 3 - %1962 = select i1 %1961, i32 1073741824, i32 0 - %1963 = or i32 %1962, %46 - br label %1967 - -1964: ; preds = %1957 - %1965 = or i32 %46, -2147483648 - %1966 = add i32 %1955, 4 - br label %1967 - -1967: ; preds = %1964, %1960, %1947 - %1968 = phi i32 [ %1966, %1964 ], [ %1955, %1960 ], [ %1955, %1947 ] - %1969 = phi i32 [ %1965, %1964 ], [ %1963, %1960 ], [ %46, %1947 ] - switch i32 %31, label %6035 [ - i32 9, label %1970 - i32 25, label %1976 +1928: ; preds = %1927 + %1929 = add i32 %165, 1 + br label %4159 + +1930: ; preds = %1927 + %1931 = getelementptr inbounds i8, ptr %2, i64 8 + %1932 = load i64, ptr %1931, align 4 + %1933 = icmp eq i64 %1932, 0 + br i1 %1933, label %1934, label %4159 + +1934: ; preds = %1930 + %1935 = and i32 %45, 32 + %1936 = lshr exact i32 %1935, 5 + %1937 = xor i32 %1936, 1 + %1938 = add i32 %165, %1937 + %1939 = lshr exact i32 %1935, 4 + %1940 = trunc i32 %1939 to i8 + br label %4159 + +1941: ; preds = %153 + %1942 = load i32, ptr %2, align 4, !tbaa !31 + %1943 = and i32 %1942, 7 + %1944 = icmp eq i32 %1943, 1 + br i1 %1944, label %1945, label %1984 + +1945: ; preds = %1941 + %1946 = lshr i32 %1942, 24 + %1947 = and i32 %1946, 15 + %1948 = zext nneg i32 %1947 to i64 + %1949 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1948 + %1950 = load i32, ptr %1949, align 4, !tbaa !47 + %1951 = or i32 %1950, %165 + %1952 = getelementptr inbounds i8, ptr %2, i64 4 + %1953 = load i32, ptr %1952, align 4, !tbaa !58 + %1954 = icmp eq i32 %1946, 1 + br i1 %1954, label %1955, label %1965 + +1955: ; preds = %1945 + %1956 = and i32 %1942, 16781305 + %1957 = icmp eq i32 %1956, 16777249 + br i1 %1957, label %1962, label %1958 + +1958: ; preds = %1955 + %1959 = icmp ugt i32 %1953, 3 + %1960 = select i1 %1959, i32 1073741824, i32 0 + %1961 = or i32 %1960, %46 + br label %1965 + +1962: ; preds = %1955 + %1963 = or i32 %46, -2147483648 + %1964 = add i32 %1953, 4 + br label %1965 + +1965: ; preds = %1962, %1958, %1945 + %1966 = phi i32 [ %1964, %1962 ], [ %1953, %1958 ], [ %1953, %1945 ] + %1967 = phi i32 [ %1963, %1962 ], [ %1961, %1958 ], [ %46, %1945 ] + switch i32 %31, label %6031 [ + i32 9, label %1968 + i32 25, label %1974 ] -1970: ; preds = %1967 - %1971 = getelementptr inbounds i8, ptr %3, i64 4 - %1972 = load i32, ptr %1971, align 4, !tbaa !58 - %1973 = icmp eq i32 %1972, 1 - br i1 %1973, label %1974, label %6035, !prof !35 - -1974: ; preds = %1970 - %1975 = add i32 %1953, 2 - br label %4381 - -1976: ; preds = %1967 - %1977 = getelementptr inbounds i8, ptr %3, i64 8 - %1978 = load i64, ptr %1977, align 4 - %1979 = and i64 %1978, 255 - %1980 = icmp ne i64 %1979, 1 - %1981 = and i32 %1969, 32 - %1982 = icmp ne i32 %1981, 0 - %1983 = select i1 %1980, i1 true, i1 %1982 - br i1 %1983, label %1984, label %4381 - -1984: ; preds = %1976 - %1985 = add i32 %1953, -16 - br label %4381 - -1986: ; preds = %1943 - %1987 = icmp ult i32 %1944, 16777216 - br i1 %1987, label %6035, label %1988, !prof !37 - -1988: ; preds = %1986 - %1989 = lshr i32 %1944, 24 - %1990 = and i32 %1989, 15 - %1991 = zext nneg i32 %1990 to i64 - %1992 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1991 - %1993 = load i32, ptr %1992, align 4, !tbaa !47 - %1994 = or i32 %1993, %165 - switch i32 %31, label %6035 [ - i32 10, label %1995 - i32 26, label %2001 +1968: ; preds = %1965 + %1969 = getelementptr inbounds i8, ptr %3, i64 4 + %1970 = load i32, ptr %1969, align 4, !tbaa !58 + %1971 = icmp eq i32 %1970, 1 + br i1 %1971, label %1972, label %6031, !prof !35 + +1972: ; preds = %1968 + %1973 = add i32 %1951, 2 + br label %4377 + +1974: ; preds = %1965 + %1975 = getelementptr inbounds i8, ptr %3, i64 8 + %1976 = load i64, ptr %1975, align 4 + %1977 = and i64 %1976, 255 + %1978 = icmp ne i64 %1977, 1 + %1979 = and i32 %1967, 32 + %1980 = icmp ne i32 %1979, 0 + %1981 = select i1 %1978, i1 true, i1 %1980 + br i1 %1981, label %1982, label %4377 + +1982: ; preds = %1974 + %1983 = add i32 %1951, -16 + br label %4377 + +1984: ; preds = %1941 + %1985 = icmp ult i32 %1942, 16777216 + br i1 %1985, label %6031, label %1986, !prof !37 + +1986: ; preds = %1984 + %1987 = lshr i32 %1942, 24 + %1988 = and i32 %1987, 15 + %1989 = zext nneg i32 %1988 to i64 + %1990 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %1989 + %1991 = load i32, ptr %1990, align 4, !tbaa !47 + %1992 = or i32 %1991, %165 + switch i32 %31, label %6031 [ + i32 10, label %1993 + i32 26, label %1999 ] -1995: ; preds = %1988 - %1996 = getelementptr inbounds i8, ptr %3, i64 4 - %1997 = load i32, ptr %1996, align 4, !tbaa !58 - %1998 = icmp eq i32 %1997, 1 - br i1 %1998, label %1999, label %6035, !prof !35 - -1999: ; preds = %1995 - %2000 = add i32 %1994, 2 - br label %4518 - -2001: ; preds = %1988 - %2002 = getelementptr inbounds i8, ptr %3, i64 8 - %2003 = load i64, ptr %2002, align 4 - %2004 = and i64 %2003, 255 - %2005 = icmp ne i64 %2004, 1 - %2006 = and i32 %45, 32 - %2007 = icmp ne i32 %2006, 0 - %2008 = or i1 %2007, %2005 - br i1 %2008, label %2009, label %4518 - -2009: ; preds = %2001 - %2010 = add i32 %1994, -16 - br label %4518 - -2011: ; preds = %153 - switch i32 %31, label %6035 [ - i32 1, label %2012 - i32 2, label %4518 +1993: ; preds = %1986 + %1994 = getelementptr inbounds i8, ptr %3, i64 4 + %1995 = load i32, ptr %1994, align 4, !tbaa !58 + %1996 = icmp eq i32 %1995, 1 + br i1 %1996, label %1997, label %6031, !prof !35 + +1997: ; preds = %1993 + %1998 = add i32 %1992, 2 + br label %4514 + +1999: ; preds = %1986 + %2000 = getelementptr inbounds i8, ptr %3, i64 8 + %2001 = load i64, ptr %2000, align 4 + %2002 = and i64 %2001, 255 + %2003 = icmp ne i64 %2002, 1 + %2004 = and i32 %45, 32 + %2005 = icmp ne i32 %2004, 0 + %2006 = or i1 %2005, %2003 + br i1 %2006, label %2007, label %4514 + +2007: ; preds = %1999 + %2008 = add i32 %1992, -16 + br label %4514 + +2009: ; preds = %153 + switch i32 %31, label %6031 [ + i32 1, label %2010 + i32 2, label %4514 ] -2012: ; preds = %2011 - %2013 = getelementptr inbounds i8, ptr %2, i64 4 - %2014 = load i32, ptr %2013, align 4, !tbaa !58 - %2015 = load i32, ptr %2, align 4, !tbaa !31 - %2016 = and i32 %2015, -16773121 - %2017 = icmp eq i32 %2016, 16777249 - br i1 %2017, label %2022, label %2018 - -2018: ; preds = %2012 - %2019 = icmp ugt i32 %2014, 3 - %2020 = select i1 %2019, i32 1073741824, i32 0 - %2021 = or i32 %2020, %46 - br label %4381 - -2022: ; preds = %2012 - %2023 = or i32 %46, -2147483648 - %2024 = add i32 %2014, 4 - br label %4381 - -2025: ; preds = %153 - switch i32 %31, label %2052 [ - i32 201, label %2026 - i32 202, label %2040 +2010: ; preds = %2009 + %2011 = getelementptr inbounds i8, ptr %2, i64 4 + %2012 = load i32, ptr %2011, align 4, !tbaa !58 + %2013 = load i32, ptr %2, align 4, !tbaa !31 + %2014 = and i32 %2013, -16773121 + %2015 = icmp eq i32 %2014, 16777249 + br i1 %2015, label %2020, label %2016 + +2016: ; preds = %2010 + %2017 = icmp ugt i32 %2012, 3 + %2018 = select i1 %2017, i32 1073741824, i32 0 + %2019 = or i32 %2018, %46 + br label %4377 + +2020: ; preds = %2010 + %2021 = or i32 %46, -2147483648 + %2022 = add i32 %2012, 4 + br label %4377 + +2023: ; preds = %153 + switch i32 %31, label %2050 [ + i32 201, label %2024 + i32 202, label %2038 ] -2026: ; preds = %2025 - %2027 = load i32, ptr %2, align 4, !tbaa !31 - %2028 = lshr i32 %2027, 24 - %2029 = and i32 %2028, 15 - %2030 = zext nneg i32 %2029 to i64 - %2031 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2030 - %2032 = load i32, ptr %2031, align 4, !tbaa !47 - %2033 = or i32 %2032, %165 - %2034 = getelementptr inbounds i8, ptr %3, i64 4 +2024: ; preds = %2023 + %2025 = load i32, ptr %2, align 4, !tbaa !31 + %2026 = lshr i32 %2025, 24 + %2027 = and i32 %2026, 15 + %2028 = zext nneg i32 %2027 to i64 + %2029 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2028 + %2030 = load i32, ptr %2029, align 4, !tbaa !47 + %2031 = or i32 %2030, %165 + %2032 = getelementptr inbounds i8, ptr %3, i64 4 + %2033 = load i32, ptr %2032, align 4, !tbaa !58 + %2034 = getelementptr inbounds i8, ptr %2, i64 4 %2035 = load i32, ptr %2034, align 4, !tbaa !58 - %2036 = getelementptr inbounds i8, ptr %2, i64 4 - %2037 = load i32, ptr %2036, align 4, !tbaa !58 - %2038 = getelementptr inbounds i8, ptr %4, i64 8 - %2039 = load i64, ptr %2038, align 4 - br label %4381 - -2040: ; preds = %2025 - %2041 = load i32, ptr %3, align 4, !tbaa !31 - %2042 = lshr i32 %2041, 24 - %2043 = and i32 %2042, 15 - %2044 = zext nneg i32 %2043 to i64 - %2045 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2044 - %2046 = load i32, ptr %2045, align 4, !tbaa !47 - %2047 = or i32 %2046, %165 - %2048 = getelementptr inbounds i8, ptr %3, i64 4 - %2049 = load i32, ptr %2048, align 4, !tbaa !58 - %2050 = getelementptr inbounds i8, ptr %4, i64 8 - %2051 = load i64, ptr %2050, align 4 - br label %4518 - -2052: ; preds = %2025 - %2053 = add i32 %165, 1 - switch i32 %31, label %6035 [ - i32 73, label %2054 - i32 74, label %2070 + %2036 = getelementptr inbounds i8, ptr %4, i64 8 + %2037 = load i64, ptr %2036, align 4 + br label %4377 + +2038: ; preds = %2023 + %2039 = load i32, ptr %3, align 4, !tbaa !31 + %2040 = lshr i32 %2039, 24 + %2041 = and i32 %2040, 15 + %2042 = zext nneg i32 %2041 to i64 + %2043 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2042 + %2044 = load i32, ptr %2043, align 4, !tbaa !47 + %2045 = or i32 %2044, %165 + %2046 = getelementptr inbounds i8, ptr %3, i64 4 + %2047 = load i32, ptr %2046, align 4, !tbaa !58 + %2048 = getelementptr inbounds i8, ptr %4, i64 8 + %2049 = load i64, ptr %2048, align 4 + br label %4514 + +2050: ; preds = %2023 + %2051 = add i32 %165, 1 + switch i32 %31, label %6031 [ + i32 73, label %2052 + i32 74, label %2068 ] -2054: ; preds = %2052 - %2055 = getelementptr inbounds i8, ptr %4, i64 4 - %2056 = load i32, ptr %2055, align 4, !tbaa !58 - %2057 = icmp eq i32 %2056, 1 - br i1 %2057, label %2058, label %6035, !prof !35 - -2058: ; preds = %2054 - %2059 = load i32, ptr %2, align 4, !tbaa !31 - %2060 = lshr i32 %2059, 24 - %2061 = and i32 %2060, 15 - %2062 = zext nneg i32 %2061 to i64 - %2063 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2062 - %2064 = load i32, ptr %2063, align 4, !tbaa !47 - %2065 = or i32 %2064, %2053 - %2066 = getelementptr inbounds i8, ptr %3, i64 4 +2052: ; preds = %2050 + %2053 = getelementptr inbounds i8, ptr %4, i64 4 + %2054 = load i32, ptr %2053, align 4, !tbaa !58 + %2055 = icmp eq i32 %2054, 1 + br i1 %2055, label %2056, label %6031, !prof !35 + +2056: ; preds = %2052 + %2057 = load i32, ptr %2, align 4, !tbaa !31 + %2058 = lshr i32 %2057, 24 + %2059 = and i32 %2058, 15 + %2060 = zext nneg i32 %2059 to i64 + %2061 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2060 + %2062 = load i32, ptr %2061, align 4, !tbaa !47 + %2063 = or i32 %2062, %2051 + %2064 = getelementptr inbounds i8, ptr %3, i64 4 + %2065 = load i32, ptr %2064, align 4, !tbaa !58 + %2066 = getelementptr inbounds i8, ptr %2, i64 4 %2067 = load i32, ptr %2066, align 4, !tbaa !58 - %2068 = getelementptr inbounds i8, ptr %2, i64 4 - %2069 = load i32, ptr %2068, align 4, !tbaa !58 - br label %4381 - -2070: ; preds = %2052 - %2071 = getelementptr inbounds i8, ptr %4, i64 4 - %2072 = load i32, ptr %2071, align 4, !tbaa !58 - %2073 = icmp eq i32 %2072, 1 - br i1 %2073, label %2074, label %6035, !prof !35 - -2074: ; preds = %2070 - %2075 = load i32, ptr %3, align 4, !tbaa !31 - %2076 = lshr i32 %2075, 24 - %2077 = and i32 %2076, 15 - %2078 = zext nneg i32 %2077 to i64 - %2079 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2078 - %2080 = load i32, ptr %2079, align 4, !tbaa !47 - %2081 = or i32 %2080, %2053 - %2082 = getelementptr inbounds i8, ptr %3, i64 4 - %2083 = load i32, ptr %2082, align 4, !tbaa !58 - br label %4518 - -2084: ; preds = %153 - %2085 = icmp eq i32 %31, 17 - %2086 = getelementptr inbounds i8, ptr %3, i64 12 - %2087 = load i32, ptr %2086, align 4 - %2088 = icmp eq i32 %2087, 0 - %2089 = select i1 %2085, i1 %2088, i1 false - br i1 %2089, label %2090, label %6035, !prof !86 - -2090: ; preds = %2084 - %2091 = load i32, ptr %2, align 4, !tbaa !47 - %2092 = and i32 %2091, 3847 - %2093 = icmp ne i32 %2092, 1 - %2094 = getelementptr inbounds i8, ptr %2, i64 4 - %2095 = load i32, ptr %2094, align 4, !tbaa !58 - %2096 = icmp ne i32 %2095, 0 - %2097 = or i1 %2093, %2096 - br i1 %2097, label %6035, label %2098, !prof !37 - -2098: ; preds = %2090 - %2099 = lshr i32 %2091, 24 - %2100 = load i32, ptr %3, align 4, !tbaa !31 - %2101 = icmp ult i32 %2100, 16777216 - %2102 = lshr i32 %2100, 24 - %2103 = icmp eq i32 %2102, %2099 - %2104 = or i1 %2101, %2103 - br i1 %2104, label %2105, label %6035, !prof !90 - -2105: ; preds = %2098 - %2106 = and i32 %2099, 15 - %2107 = zext nneg i32 %2106 to i64 - %2108 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2107 - %2109 = load i32, ptr %2108, align 4, !tbaa !47 - %2110 = or i32 %2109, %165 - br label %4307 - -2111: ; preds = %153 - %2112 = icmp eq i32 %31, 10 - %2113 = getelementptr inbounds i8, ptr %2, i64 12 - %2114 = load i32, ptr %2113, align 4 - %2115 = icmp eq i32 %2114, 0 - %2116 = select i1 %2112, i1 %2115, i1 false - br i1 %2116, label %2117, label %6035, !prof !86 - -2117: ; preds = %2111 - %2118 = load i32, ptr %3, align 4, !tbaa !47 - %2119 = and i32 %2118, 3847 - %2120 = icmp ne i32 %2119, 1 - %2121 = getelementptr inbounds i8, ptr %3, i64 4 - %2122 = load i32, ptr %2121, align 4, !tbaa !58 - %2123 = icmp ne i32 %2122, 0 - %2124 = or i1 %2120, %2123 - br i1 %2124, label %6035, label %2125, !prof !37 - -2125: ; preds = %2117 - %2126 = lshr i32 %2118, 24 - %2127 = load i32, ptr %2, align 4, !tbaa !31 - %2128 = icmp ult i32 %2127, 16777216 - %2129 = lshr i32 %2127, 24 - %2130 = icmp eq i32 %2129, %2126 - %2131 = or i1 %2128, %2130 - br i1 %2131, label %2132, label %6035, !prof !90 - -2132: ; preds = %2125 - %2133 = and i32 %2126, 15 - %2134 = zext nneg i32 %2133 to i64 - %2135 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2134 - %2136 = load i32, ptr %2135, align 4, !tbaa !47 - %2137 = or i32 %2136, %165 - br label %4307 - -2138: ; preds = %153 - %2139 = icmp eq i32 %31, 18 - br i1 %2139, label %2140, label %6035 - -2140: ; preds = %2138 - %2141 = load i32, ptr %2, align 4, !tbaa !31 - %2142 = load i32, ptr %3, align 4, !tbaa !31 - %2143 = xor i32 %2142, %2141 - %2144 = and i32 %2143, 8184 - %2145 = icmp eq i32 %2144, 0 - br i1 %2145, label %2146, label %6035, !prof !35 - -2146: ; preds = %2140 - %2147 = getelementptr inbounds i8, ptr %2, i64 12 - %2148 = load i32, ptr %2147, align 4, !tbaa !47 - %2149 = getelementptr inbounds i8, ptr %2, i64 4 - %2150 = load i32, ptr %2149, align 4, !tbaa !58 - %2151 = and i32 %2141, 248 - %2152 = icmp eq i32 %2151, 0 - %2153 = select i1 %2152, i32 %2150, i32 0 - %2154 = or i32 %2153, %2148 - %2155 = icmp eq i32 %2154, 0 - br i1 %2155, label %2156, label %6035, !prof !35 - -2156: ; preds = %2146 - %2157 = lshr i32 %2142, 24 - %2158 = icmp ult i32 %2142, 16777216 - br i1 %2158, label %6035, label %2159, !prof !37 - -2159: ; preds = %2156 - %2160 = lshr i32 %2141, 24 - %2161 = icmp eq i32 %2160, %2157 - br i1 %2161, label %2162, label %6035, !prof !35 - -2162: ; preds = %2159 - %2163 = and i32 %2157, 15 - %2164 = zext nneg i32 %2163 to i64 - %2165 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2164 - %2166 = load i32, ptr %2165, align 4, !tbaa !47 - %2167 = or i32 %2166, %165 - %2168 = getelementptr inbounds i8, ptr %3, i64 12 - %2169 = load i32, ptr %2168, align 4, !tbaa !47 - br label %4307 - -2170: ; preds = %153 - switch i32 %31, label %2231 [ - i32 9, label %2171 - i32 10, label %2210 + br label %4377 + +2068: ; preds = %2050 + %2069 = getelementptr inbounds i8, ptr %4, i64 4 + %2070 = load i32, ptr %2069, align 4, !tbaa !58 + %2071 = icmp eq i32 %2070, 1 + br i1 %2071, label %2072, label %6031, !prof !35 + +2072: ; preds = %2068 + %2073 = load i32, ptr %3, align 4, !tbaa !31 + %2074 = lshr i32 %2073, 24 + %2075 = and i32 %2074, 15 + %2076 = zext nneg i32 %2075 to i64 + %2077 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2076 + %2078 = load i32, ptr %2077, align 4, !tbaa !47 + %2079 = or i32 %2078, %2051 + %2080 = getelementptr inbounds i8, ptr %3, i64 4 + %2081 = load i32, ptr %2080, align 4, !tbaa !58 + br label %4514 + +2082: ; preds = %153 + %2083 = icmp eq i32 %31, 17 + %2084 = getelementptr inbounds i8, ptr %3, i64 12 + %2085 = load i32, ptr %2084, align 4 + %2086 = icmp eq i32 %2085, 0 + %2087 = select i1 %2083, i1 %2086, i1 false + br i1 %2087, label %2088, label %6031, !prof !86 + +2088: ; preds = %2082 + %2089 = load i32, ptr %2, align 4, !tbaa !47 + %2090 = and i32 %2089, 3847 + %2091 = icmp ne i32 %2090, 1 + %2092 = getelementptr inbounds i8, ptr %2, i64 4 + %2093 = load i32, ptr %2092, align 4, !tbaa !58 + %2094 = icmp ne i32 %2093, 0 + %2095 = or i1 %2091, %2094 + br i1 %2095, label %6031, label %2096, !prof !37 + +2096: ; preds = %2088 + %2097 = lshr i32 %2089, 24 + %2098 = load i32, ptr %3, align 4, !tbaa !31 + %2099 = icmp ult i32 %2098, 16777216 + %2100 = lshr i32 %2098, 24 + %2101 = icmp eq i32 %2100, %2097 + %2102 = or i1 %2099, %2101 + br i1 %2102, label %2103, label %6031, !prof !90 + +2103: ; preds = %2096 + %2104 = and i32 %2097, 15 + %2105 = zext nneg i32 %2104 to i64 + %2106 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2105 + %2107 = load i32, ptr %2106, align 4, !tbaa !47 + %2108 = or i32 %2107, %165 + br label %4303 + +2109: ; preds = %153 + %2110 = icmp eq i32 %31, 10 + %2111 = getelementptr inbounds i8, ptr %2, i64 12 + %2112 = load i32, ptr %2111, align 4 + %2113 = icmp eq i32 %2112, 0 + %2114 = select i1 %2110, i1 %2113, i1 false + br i1 %2114, label %2115, label %6031, !prof !86 + +2115: ; preds = %2109 + %2116 = load i32, ptr %3, align 4, !tbaa !47 + %2117 = and i32 %2116, 3847 + %2118 = icmp ne i32 %2117, 1 + %2119 = getelementptr inbounds i8, ptr %3, i64 4 + %2120 = load i32, ptr %2119, align 4, !tbaa !58 + %2121 = icmp ne i32 %2120, 0 + %2122 = or i1 %2118, %2121 + br i1 %2122, label %6031, label %2123, !prof !37 + +2123: ; preds = %2115 + %2124 = lshr i32 %2116, 24 + %2125 = load i32, ptr %2, align 4, !tbaa !31 + %2126 = icmp ult i32 %2125, 16777216 + %2127 = lshr i32 %2125, 24 + %2128 = icmp eq i32 %2127, %2124 + %2129 = or i1 %2126, %2128 + br i1 %2129, label %2130, label %6031, !prof !90 + +2130: ; preds = %2123 + %2131 = and i32 %2124, 15 + %2132 = zext nneg i32 %2131 to i64 + %2133 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2132 + %2134 = load i32, ptr %2133, align 4, !tbaa !47 + %2135 = or i32 %2134, %165 + br label %4303 + +2136: ; preds = %153 + %2137 = icmp eq i32 %31, 18 + br i1 %2137, label %2138, label %6031 + +2138: ; preds = %2136 + %2139 = load i32, ptr %2, align 4, !tbaa !31 + %2140 = load i32, ptr %3, align 4, !tbaa !31 + %2141 = xor i32 %2140, %2139 + %2142 = and i32 %2141, 8184 + %2143 = icmp eq i32 %2142, 0 + br i1 %2143, label %2144, label %6031, !prof !35 + +2144: ; preds = %2138 + %2145 = getelementptr inbounds i8, ptr %2, i64 12 + %2146 = load i32, ptr %2145, align 4, !tbaa !47 + %2147 = getelementptr inbounds i8, ptr %2, i64 4 + %2148 = load i32, ptr %2147, align 4, !tbaa !58 + %2149 = and i32 %2139, 248 + %2150 = icmp eq i32 %2149, 0 + %2151 = select i1 %2150, i32 %2148, i32 0 + %2152 = or i32 %2151, %2146 + %2153 = icmp eq i32 %2152, 0 + br i1 %2153, label %2154, label %6031, !prof !35 + +2154: ; preds = %2144 + %2155 = lshr i32 %2140, 24 + %2156 = icmp ult i32 %2140, 16777216 + br i1 %2156, label %6031, label %2157, !prof !37 + +2157: ; preds = %2154 + %2158 = lshr i32 %2139, 24 + %2159 = icmp eq i32 %2158, %2155 + br i1 %2159, label %2160, label %6031, !prof !35 + +2160: ; preds = %2157 + %2161 = and i32 %2155, 15 + %2162 = zext nneg i32 %2161 to i64 + %2163 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2162 + %2164 = load i32, ptr %2163, align 4, !tbaa !47 + %2165 = or i32 %2164, %165 + %2166 = getelementptr inbounds i8, ptr %3, i64 12 + %2167 = load i32, ptr %2166, align 4, !tbaa !47 + br label %4303 + +2168: ; preds = %153 + switch i32 %31, label %2229 [ + i32 9, label %2169 + i32 10, label %2208 ] -2171: ; preds = %2170 - %2172 = load i32, ptr %2, align 4, !tbaa !31 +2169: ; preds = %2168 + %2170 = load i32, ptr %2, align 4, !tbaa !31 + %2171 = lshr i32 %2170, 24 + %2172 = load i32, ptr %3, align 4, !tbaa !31 %2173 = lshr i32 %2172, 24 - %2174 = load i32, ptr %3, align 4, !tbaa !31 - %2175 = lshr i32 %2174, 24 - %2176 = icmp eq i32 %2173, %2175 - br i1 %2176, label %2177, label %6035 - -2177: ; preds = %2171 - %2178 = and i32 %2173, 15 - %2179 = zext nneg i32 %2178 to i64 - %2180 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2179 - %2181 = load i32, ptr %2180, align 4, !tbaa !47 - %2182 = or i32 %2181, %165 - %2183 = getelementptr inbounds i8, ptr %2, i64 4 + %2174 = icmp eq i32 %2171, %2173 + br i1 %2174, label %2175, label %6031 + +2175: ; preds = %2169 + %2176 = and i32 %2171, 15 + %2177 = zext nneg i32 %2176 to i64 + %2178 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2177 + %2179 = load i32, ptr %2178, align 4, !tbaa !47 + %2180 = or i32 %2179, %165 + %2181 = getelementptr inbounds i8, ptr %2, i64 4 + %2182 = load i32, ptr %2181, align 4, !tbaa !58 + %2183 = getelementptr inbounds i8, ptr %3, i64 4 %2184 = load i32, ptr %2183, align 4, !tbaa !58 - %2185 = getelementptr inbounds i8, ptr %3, i64 4 - %2186 = load i32, ptr %2185, align 4, !tbaa !58 - %2187 = icmp eq i32 %2173, 1 - br i1 %2187, label %2188, label %4381 - -2188: ; preds = %2177 - %2189 = and i32 %2172, 16781311 - %2190 = icmp eq i32 %2189, 16777249 - br i1 %2190, label %2195, label %2191 - -2191: ; preds = %2188 - %2192 = icmp ugt i32 %2184, 3 - %2193 = select i1 %2192, i32 1073741824, i32 0 - %2194 = or i32 %2193, %46 - br label %2198 - -2195: ; preds = %2188 - %2196 = or i32 %46, -2147483648 - %2197 = add i32 %2184, 4 - br label %2198 - -2198: ; preds = %2195, %2191 - %2199 = phi i32 [ %2197, %2195 ], [ %2184, %2191 ] - %2200 = phi i32 [ %2196, %2195 ], [ %2194, %2191 ] - %2201 = and i32 %2174, -16773121 - %2202 = icmp eq i32 %2201, 16777249 - br i1 %2202, label %2207, label %2203 - -2203: ; preds = %2198 - %2204 = icmp ugt i32 %2186, 3 - %2205 = select i1 %2204, i32 1073741824, i32 0 - %2206 = or i32 %2200, %2205 - br label %4381 - -2207: ; preds = %2198 - %2208 = or i32 %2200, -2147483648 - %2209 = add i32 %2186, 4 - br label %4381 - -2210: ; preds = %2170 - %2211 = load i32, ptr %3, align 4, !tbaa !31 - %2212 = lshr i32 %2211, 24 - %2213 = and i32 %2212, 15 - %2214 = zext nneg i32 %2213 to i64 - %2215 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2214 - %2216 = load i32, ptr %2215, align 4, !tbaa !47 - %2217 = or i32 %2216, %165 - %2218 = getelementptr inbounds i8, ptr %3, i64 4 - %2219 = load i32, ptr %2218, align 4, !tbaa !58 - %2220 = icmp eq i32 %2212, 1 - br i1 %2220, label %2221, label %4518 - -2221: ; preds = %2210 - %2222 = and i32 %2211, 16781311 - %2223 = icmp eq i32 %2222, 16777249 - br i1 %2223, label %2228, label %2224 - -2224: ; preds = %2221 - %2225 = icmp ugt i32 %2219, 3 - %2226 = select i1 %2225, i32 1073741824, i32 0 - %2227 = or i32 %2226, %46 - br label %4518 - -2228: ; preds = %2221 - %2229 = or i32 %46, -2147483648 - %2230 = add i32 %2219, 4 - br label %4518 - -2231: ; preds = %2170 - %2232 = getelementptr inbounds i8, ptr %16, i64 7 - %2233 = load i8, ptr %2232, align 1, !tbaa !61 - %2234 = zext i8 %2233 to i64 - %2235 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2234 - %2236 = load i32, ptr %2235, align 4, !tbaa !47 - %2237 = lshr i32 %2236, 18 - %2238 = and i32 %2237, 7 - switch i32 %31, label %6035 [ - i32 25, label %2239 - i32 26, label %2284 + %2185 = icmp eq i32 %2171, 1 + br i1 %2185, label %2186, label %4377 + +2186: ; preds = %2175 + %2187 = and i32 %2170, 16781311 + %2188 = icmp eq i32 %2187, 16777249 + br i1 %2188, label %2193, label %2189 + +2189: ; preds = %2186 + %2190 = icmp ugt i32 %2182, 3 + %2191 = select i1 %2190, i32 1073741824, i32 0 + %2192 = or i32 %2191, %46 + br label %2196 + +2193: ; preds = %2186 + %2194 = or i32 %46, -2147483648 + %2195 = add i32 %2182, 4 + br label %2196 + +2196: ; preds = %2193, %2189 + %2197 = phi i32 [ %2195, %2193 ], [ %2182, %2189 ] + %2198 = phi i32 [ %2194, %2193 ], [ %2192, %2189 ] + %2199 = and i32 %2172, -16773121 + %2200 = icmp eq i32 %2199, 16777249 + br i1 %2200, label %2205, label %2201 + +2201: ; preds = %2196 + %2202 = icmp ugt i32 %2184, 3 + %2203 = select i1 %2202, i32 1073741824, i32 0 + %2204 = or i32 %2198, %2203 + br label %4377 + +2205: ; preds = %2196 + %2206 = or i32 %2198, -2147483648 + %2207 = add i32 %2184, 4 + br label %4377 + +2208: ; preds = %2168 + %2209 = load i32, ptr %3, align 4, !tbaa !31 + %2210 = lshr i32 %2209, 24 + %2211 = and i32 %2210, 15 + %2212 = zext nneg i32 %2211 to i64 + %2213 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2212 + %2214 = load i32, ptr %2213, align 4, !tbaa !47 + %2215 = or i32 %2214, %165 + %2216 = getelementptr inbounds i8, ptr %3, i64 4 + %2217 = load i32, ptr %2216, align 4, !tbaa !58 + %2218 = icmp eq i32 %2210, 1 + br i1 %2218, label %2219, label %4514 + +2219: ; preds = %2208 + %2220 = and i32 %2209, 16781311 + %2221 = icmp eq i32 %2220, 16777249 + br i1 %2221, label %2226, label %2222 + +2222: ; preds = %2219 + %2223 = icmp ugt i32 %2217, 3 + %2224 = select i1 %2223, i32 1073741824, i32 0 + %2225 = or i32 %2224, %46 + br label %4514 + +2226: ; preds = %2219 + %2227 = or i32 %46, -2147483648 + %2228 = add i32 %2217, 4 + br label %4514 + +2229: ; preds = %2168 + %2230 = getelementptr inbounds i8, ptr %16, i64 7 + %2231 = load i8, ptr %2230, align 1, !tbaa !61 + %2232 = zext i8 %2231 to i64 + %2233 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2232 + %2234 = load i32, ptr %2233, align 4, !tbaa !47 + %2235 = lshr i32 %2234, 18 + %2236 = and i32 %2235, 7 + switch i32 %31, label %6031 [ + i32 25, label %2237 + i32 26, label %2282 ] -2239: ; preds = %2231 - %2240 = load i32, ptr %2, align 4, !tbaa !31 - %2241 = lshr i32 %2240, 24 - %2242 = and i32 %2241, 15 - %2243 = zext nneg i32 %2242 to i64 - %2244 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2243 - %2245 = load i32, ptr %2244, align 4, !tbaa !47 - %2246 = or i32 %2245, %2236 - %2247 = getelementptr inbounds i8, ptr %2, i64 4 - %2248 = load i32, ptr %2247, align 4, !tbaa !58 - %2249 = icmp eq i32 %2241, 1 - br i1 %2249, label %2250, label %2266 - -2250: ; preds = %2239 - %2251 = and i32 %2240, 16781311 - %2252 = icmp eq i32 %2251, 16777249 - br i1 %2252, label %2257, label %2253 - -2253: ; preds = %2250 - %2254 = icmp ugt i32 %2248, 3 - %2255 = select i1 %2254, i32 1073741824, i32 0 - %2256 = or i32 %2255, %46 - br label %2260 - -2257: ; preds = %2250 - %2258 = or i32 %46, -2147483648 - %2259 = add i32 %2248, 4 - br label %2260 - -2260: ; preds = %2257, %2253 - %2261 = phi i32 [ %2259, %2257 ], [ %2248, %2253 ] - %2262 = phi i32 [ %2258, %2257 ], [ %2256, %2253 ] - %2263 = getelementptr inbounds i8, ptr %3, i64 8 - %2264 = load i64, ptr %2263, align 4 - %2265 = and i64 %2264, 255 - br label %2271 - -2266: ; preds = %2239 - %2267 = getelementptr inbounds i8, ptr %3, i64 8 - %2268 = load i64, ptr %2267, align 4 - %2269 = call noundef i32 @llvm.umin.i32(i32 %2241, i32 4) - %2270 = trunc i32 %2269 to i8 - br label %2271 - -2271: ; preds = %2266, %2260 - %2272 = phi i32 [ %2261, %2260 ], [ %2248, %2266 ] - %2273 = phi i32 [ %2262, %2260 ], [ %46, %2266 ] - %2274 = phi i8 [ 1, %2260 ], [ %2270, %2266 ] - %2275 = phi i64 [ %2265, %2260 ], [ %2268, %2266 ] - %2276 = icmp eq i32 %2272, 0 - br i1 %2276, label %2277, label %4381 - -2277: ; preds = %2271 - %2278 = and i32 %2273, 32 - %2279 = icmp eq i32 %2278, 0 - br i1 %2279, label %2280, label %4381 - -2280: ; preds = %2277 - %2281 = and i32 %2246, 136314880 - %2282 = select i1 %2249, i32 168, i32 169 - %2283 = or disjoint i32 %2281, %2282 - br label %4163 - -2284: ; preds = %2231 - %2285 = load i32, ptr %2, align 4, !tbaa !31 - %2286 = icmp ult i32 %2285, 16777216 - br i1 %2286, label %6035, label %2287, !prof !37 - -2287: ; preds = %2284 - %2288 = lshr i32 %2285, 24 - %2289 = and i32 %2288, 15 - %2290 = zext nneg i32 %2289 to i64 - %2291 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2290 - %2292 = load i32, ptr %2291, align 4, !tbaa !47 - %2293 = or i32 %2292, %2236 - %2294 = getelementptr inbounds i8, ptr %3, i64 8 - %2295 = load i64, ptr %2294, align 4 - %2296 = call noundef i32 @llvm.umin.i32(i32 %2288, i32 4) - %2297 = trunc i32 %2296 to i8 - br label %4518 - -2298: ; preds = %153 - switch i32 %31, label %6035 [ - i32 17, label %2299 - i32 9, label %2321 - i32 10, label %2393 +2237: ; preds = %2229 + %2238 = load i32, ptr %2, align 4, !tbaa !31 + %2239 = lshr i32 %2238, 24 + %2240 = and i32 %2239, 15 + %2241 = zext nneg i32 %2240 to i64 + %2242 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2241 + %2243 = load i32, ptr %2242, align 4, !tbaa !47 + %2244 = or i32 %2243, %2234 + %2245 = getelementptr inbounds i8, ptr %2, i64 4 + %2246 = load i32, ptr %2245, align 4, !tbaa !58 + %2247 = icmp eq i32 %2239, 1 + br i1 %2247, label %2248, label %2264 + +2248: ; preds = %2237 + %2249 = and i32 %2238, 16781311 + %2250 = icmp eq i32 %2249, 16777249 + br i1 %2250, label %2255, label %2251 + +2251: ; preds = %2248 + %2252 = icmp ugt i32 %2246, 3 + %2253 = select i1 %2252, i32 1073741824, i32 0 + %2254 = or i32 %2253, %46 + br label %2258 + +2255: ; preds = %2248 + %2256 = or i32 %46, -2147483648 + %2257 = add i32 %2246, 4 + br label %2258 + +2258: ; preds = %2255, %2251 + %2259 = phi i32 [ %2257, %2255 ], [ %2246, %2251 ] + %2260 = phi i32 [ %2256, %2255 ], [ %2254, %2251 ] + %2261 = getelementptr inbounds i8, ptr %3, i64 8 + %2262 = load i64, ptr %2261, align 4 + %2263 = and i64 %2262, 255 + br label %2269 + +2264: ; preds = %2237 + %2265 = getelementptr inbounds i8, ptr %3, i64 8 + %2266 = load i64, ptr %2265, align 4 + %2267 = call noundef i32 @llvm.umin.i32(i32 %2239, i32 4) + %2268 = trunc i32 %2267 to i8 + br label %2269 + +2269: ; preds = %2264, %2258 + %2270 = phi i32 [ %2259, %2258 ], [ %2246, %2264 ] + %2271 = phi i32 [ %2260, %2258 ], [ %46, %2264 ] + %2272 = phi i8 [ 1, %2258 ], [ %2268, %2264 ] + %2273 = phi i64 [ %2263, %2258 ], [ %2266, %2264 ] + %2274 = icmp eq i32 %2270, 0 + br i1 %2274, label %2275, label %4377 + +2275: ; preds = %2269 + %2276 = and i32 %2271, 32 + %2277 = icmp eq i32 %2276, 0 + br i1 %2277, label %2278, label %4377 + +2278: ; preds = %2275 + %2279 = and i32 %2244, 136314880 + %2280 = select i1 %2247, i32 168, i32 169 + %2281 = or disjoint i32 %2279, %2280 + br label %4159 + +2282: ; preds = %2229 + %2283 = load i32, ptr %2, align 4, !tbaa !31 + %2284 = icmp ult i32 %2283, 16777216 + br i1 %2284, label %6031, label %2285, !prof !37 + +2285: ; preds = %2282 + %2286 = lshr i32 %2283, 24 + %2287 = and i32 %2286, 15 + %2288 = zext nneg i32 %2287 to i64 + %2289 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2288 + %2290 = load i32, ptr %2289, align 4, !tbaa !47 + %2291 = or i32 %2290, %2234 + %2292 = getelementptr inbounds i8, ptr %3, i64 8 + %2293 = load i64, ptr %2292, align 4 + %2294 = call noundef i32 @llvm.umin.i32(i32 %2286, i32 4) + %2295 = trunc i32 %2294 to i8 + br label %4514 + +2296: ; preds = %153 + switch i32 %31, label %6031 [ + i32 17, label %2297 + i32 9, label %2319 + i32 10, label %2391 ] -2299: ; preds = %2298 - %2300 = load i32, ptr %2, align 4, !tbaa !31 - %2301 = lshr i32 %2300, 24 - %2302 = and i32 %2301, 15 - %2303 = zext nneg i32 %2302 to i64 - %2304 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2303 - %2305 = load i32, ptr %2304, align 4, !tbaa !47 - %2306 = or i32 %2305, %165 - %2307 = getelementptr inbounds i8, ptr %2, i64 4 - %2308 = load i32, ptr %2307, align 4, !tbaa !58 - %2309 = icmp eq i32 %2301, 1 - br i1 %2309, label %2310, label %4518 - -2310: ; preds = %2299 - %2311 = and i32 %2300, 16781311 - %2312 = icmp eq i32 %2311, 16777249 - br i1 %2312, label %2317, label %2313 - -2313: ; preds = %2310 - %2314 = icmp ugt i32 %2308, 3 - %2315 = select i1 %2314, i32 1073741824, i32 0 - %2316 = or i32 %2315, %46 - br label %4518 - -2317: ; preds = %2310 - %2318 = or i32 %46, -2147483648 - %2319 = add i32 %2308, 4 - br label %4518 - -2320: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2321 - i32 10, label %2393 +2297: ; preds = %2296 + %2298 = load i32, ptr %2, align 4, !tbaa !31 + %2299 = lshr i32 %2298, 24 + %2300 = and i32 %2299, 15 + %2301 = zext nneg i32 %2300 to i64 + %2302 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2301 + %2303 = load i32, ptr %2302, align 4, !tbaa !47 + %2304 = or i32 %2303, %165 + %2305 = getelementptr inbounds i8, ptr %2, i64 4 + %2306 = load i32, ptr %2305, align 4, !tbaa !58 + %2307 = icmp eq i32 %2299, 1 + br i1 %2307, label %2308, label %4514 + +2308: ; preds = %2297 + %2309 = and i32 %2298, 16781311 + %2310 = icmp eq i32 %2309, 16777249 + br i1 %2310, label %2315, label %2311 + +2311: ; preds = %2308 + %2312 = icmp ugt i32 %2306, 3 + %2313 = select i1 %2312, i32 1073741824, i32 0 + %2314 = or i32 %2313, %46 + br label %4514 + +2315: ; preds = %2308 + %2316 = or i32 %46, -2147483648 + %2317 = add i32 %2306, 4 + br label %4514 + +2318: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2319 + i32 10, label %2391 ] -2321: ; preds = %2320, %2298 - %2322 = getelementptr inbounds i8, ptr %2, i64 4 +2319: ; preds = %2318, %2296 + %2320 = getelementptr inbounds i8, ptr %2, i64 4 + %2321 = load i32, ptr %2320, align 4, !tbaa !58 + %2322 = getelementptr inbounds i8, ptr %3, i64 4 %2323 = load i32, ptr %2322, align 4, !tbaa !58 - %2324 = getelementptr inbounds i8, ptr %3, i64 4 - %2325 = load i32, ptr %2324, align 4, !tbaa !58 - %2326 = load i32, ptr %2, align 4, !tbaa !31 + %2324 = load i32, ptr %2, align 4, !tbaa !31 + %2325 = lshr i32 %2324, 24 + %2326 = load i32, ptr %3, align 4, !tbaa !31 %2327 = lshr i32 %2326, 24 - %2328 = load i32, ptr %3, align 4, !tbaa !31 - %2329 = lshr i32 %2328, 24 - %2330 = icmp eq i32 %2327, %2329 - br i1 %2330, label %2331, label %6035 - -2331: ; preds = %2321 - %2332 = icmp eq i32 %2327, 1 - br i1 %2332, label %2333, label %2355 - -2333: ; preds = %2331 - %2334 = and i32 %2326, 16781311 - %2335 = icmp eq i32 %2334, 16777249 - br i1 %2335, label %2340, label %2336 - -2336: ; preds = %2333 - %2337 = icmp ugt i32 %2323, 3 - %2338 = select i1 %2337, i32 1073741824, i32 0 - %2339 = or i32 %2338, %46 - br label %2343 - -2340: ; preds = %2333 - %2341 = or i32 %46, -2147483648 - %2342 = add i32 %2323, 4 - br label %2343 - -2343: ; preds = %2340, %2336 - %2344 = phi i32 [ %2342, %2340 ], [ %2323, %2336 ] - %2345 = phi i32 [ %2341, %2340 ], [ %2339, %2336 ] - %2346 = and i32 %2328, -16773121 - %2347 = icmp eq i32 %2346, 16777249 - br i1 %2347, label %2352, label %2348 - -2348: ; preds = %2343 - %2349 = icmp ugt i32 %2325, 3 - %2350 = select i1 %2349, i32 1073741824, i32 0 - %2351 = or i32 %2345, %2350 - br label %4381 - -2352: ; preds = %2343 - %2353 = or i32 %2345, -2147483648 - %2354 = add i32 %2325, 4 - br label %4381 - -2355: ; preds = %2331 - %2356 = icmp eq i32 %14, 1640 - br i1 %2356, label %2357, label %2387 - -2357: ; preds = %2355 - %2358 = icmp eq i32 %2325, 0 - %2359 = icmp eq i32 %2323, 0 - %2360 = select i1 %2358, i1 true, i1 %2359 - br i1 %2360, label %2361, label %2387 - -2361: ; preds = %2357 - %2362 = getelementptr inbounds i8, ptr %0, i64 72 - %2363 = load i8, ptr %2362, align 8, !tbaa !42 - %2364 = and i8 %2363, 1 - %2365 = icmp eq i8 %2364, 0 - br i1 %2365, label %2366, label %2375 - -2366: ; preds = %2361 - %2367 = icmp eq i32 %2325, %2323 - %2368 = icmp ugt i32 %2326, 67108863 - %2369 = and i1 %2367, %2368 - br i1 %2369, label %2370, label %2375 - -2370: ; preds = %2366 - %2371 = icmp eq i32 %2327, 8 - br i1 %2371, label %2372, label %2387 - -2372: ; preds = %2370 - %2373 = and i32 %159, 134217728 - %2374 = or disjoint i32 %2373, 144 - br label %4233 - -2375: ; preds = %2366, %2361 - %2376 = and i32 %45, 32 - %2377 = icmp eq i32 %2376, 0 - br i1 %2377, label %2378, label %2387 - -2378: ; preds = %2375 - %2379 = add i32 %2325, %2323 - %2380 = and i32 %2327, 15 - %2381 = zext nneg i32 %2380 to i64 - %2382 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2381 - %2383 = load i32, ptr %2382, align 4, !tbaa !47 - %2384 = or i32 %2383, %159 - %2385 = and i32 %2384, 136314880 - %2386 = or disjoint i32 %2385, 144 - br label %4233 - -2387: ; preds = %2375, %2370, %2357, %2355 - %2388 = and i32 %2327, 15 - %2389 = zext nneg i32 %2388 to i64 - %2390 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2389 - %2391 = load i32, ptr %2390, align 4, !tbaa !47 - %2392 = or i32 %2391, %165 - br label %4381 - -2393: ; preds = %2320, %2298 - %2394 = load i32, ptr %3, align 4, !tbaa !31 - %2395 = lshr i32 %2394, 24 - %2396 = and i32 %2395, 15 - %2397 = zext nneg i32 %2396 to i64 - %2398 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2397 - %2399 = load i32, ptr %2398, align 4, !tbaa !47 - %2400 = or i32 %2399, %165 - %2401 = getelementptr inbounds i8, ptr %3, i64 4 - %2402 = load i32, ptr %2401, align 4, !tbaa !58 - %2403 = icmp eq i32 %2395, 1 - br i1 %2403, label %2404, label %4518 - -2404: ; preds = %2393 - %2405 = and i32 %2394, 16781311 - %2406 = icmp eq i32 %2405, 16777249 - br i1 %2406, label %2411, label %2407 - -2407: ; preds = %2404 - %2408 = icmp ugt i32 %2402, 3 - %2409 = select i1 %2408, i32 1073741824, i32 0 - %2410 = or i32 %2409, %46 - br label %4518 - -2411: ; preds = %2404 - %2412 = or i32 %46, -2147483648 - %2413 = add i32 %2402, 4 - br label %4518 - -2414: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2415 - i32 17, label %2428 - i32 10, label %2431 + %2328 = icmp eq i32 %2325, %2327 + br i1 %2328, label %2329, label %6031 + +2329: ; preds = %2319 + %2330 = icmp eq i32 %2325, 1 + br i1 %2330, label %2331, label %2353 + +2331: ; preds = %2329 + %2332 = and i32 %2324, 16781311 + %2333 = icmp eq i32 %2332, 16777249 + br i1 %2333, label %2338, label %2334 + +2334: ; preds = %2331 + %2335 = icmp ugt i32 %2321, 3 + %2336 = select i1 %2335, i32 1073741824, i32 0 + %2337 = or i32 %2336, %46 + br label %2341 + +2338: ; preds = %2331 + %2339 = or i32 %46, -2147483648 + %2340 = add i32 %2321, 4 + br label %2341 + +2341: ; preds = %2338, %2334 + %2342 = phi i32 [ %2340, %2338 ], [ %2321, %2334 ] + %2343 = phi i32 [ %2339, %2338 ], [ %2337, %2334 ] + %2344 = and i32 %2326, -16773121 + %2345 = icmp eq i32 %2344, 16777249 + br i1 %2345, label %2350, label %2346 + +2346: ; preds = %2341 + %2347 = icmp ugt i32 %2323, 3 + %2348 = select i1 %2347, i32 1073741824, i32 0 + %2349 = or i32 %2343, %2348 + br label %4377 + +2350: ; preds = %2341 + %2351 = or i32 %2343, -2147483648 + %2352 = add i32 %2323, 4 + br label %4377 + +2353: ; preds = %2329 + %2354 = icmp eq i32 %14, 1640 + br i1 %2354, label %2355, label %2385 + +2355: ; preds = %2353 + %2356 = icmp eq i32 %2323, 0 + %2357 = icmp eq i32 %2321, 0 + %2358 = select i1 %2356, i1 true, i1 %2357 + br i1 %2358, label %2359, label %2385 + +2359: ; preds = %2355 + %2360 = getelementptr inbounds i8, ptr %0, i64 72 + %2361 = load i8, ptr %2360, align 8, !tbaa !42 + %2362 = and i8 %2361, 1 + %2363 = icmp eq i8 %2362, 0 + br i1 %2363, label %2364, label %2373 + +2364: ; preds = %2359 + %2365 = icmp eq i32 %2323, %2321 + %2366 = icmp ugt i32 %2324, 67108863 + %2367 = and i1 %2365, %2366 + br i1 %2367, label %2368, label %2373 + +2368: ; preds = %2364 + %2369 = icmp eq i32 %2325, 8 + br i1 %2369, label %2370, label %2385 + +2370: ; preds = %2368 + %2371 = and i32 %159, 134217728 + %2372 = or disjoint i32 %2371, 144 + br label %4229 + +2373: ; preds = %2364, %2359 + %2374 = and i32 %45, 32 + %2375 = icmp eq i32 %2374, 0 + br i1 %2375, label %2376, label %2385 + +2376: ; preds = %2373 + %2377 = add i32 %2323, %2321 + %2378 = and i32 %2325, 15 + %2379 = zext nneg i32 %2378 to i64 + %2380 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2379 + %2381 = load i32, ptr %2380, align 4, !tbaa !47 + %2382 = or i32 %2381, %159 + %2383 = and i32 %2382, 136314880 + %2384 = or disjoint i32 %2383, 144 + br label %4229 + +2385: ; preds = %2373, %2368, %2355, %2353 + %2386 = and i32 %2325, 15 + %2387 = zext nneg i32 %2386 to i64 + %2388 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2387 + %2389 = load i32, ptr %2388, align 4, !tbaa !47 + %2390 = or i32 %2389, %165 + br label %4377 + +2391: ; preds = %2318, %2296 + %2392 = load i32, ptr %3, align 4, !tbaa !31 + %2393 = lshr i32 %2392, 24 + %2394 = and i32 %2393, 15 + %2395 = zext nneg i32 %2394 to i64 + %2396 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode14addArithBySizeIjEERS2_T_E4mask, i64 0, i64 %2395 + %2397 = load i32, ptr %2396, align 4, !tbaa !47 + %2398 = or i32 %2397, %165 + %2399 = getelementptr inbounds i8, ptr %3, i64 4 + %2400 = load i32, ptr %2399, align 4, !tbaa !58 + %2401 = icmp eq i32 %2393, 1 + br i1 %2401, label %2402, label %4514 + +2402: ; preds = %2391 + %2403 = and i32 %2392, 16781311 + %2404 = icmp eq i32 %2403, 16777249 + br i1 %2404, label %2409, label %2405 + +2405: ; preds = %2402 + %2406 = icmp ugt i32 %2400, 3 + %2407 = select i1 %2406, i32 1073741824, i32 0 + %2408 = or i32 %2407, %46 + br label %4514 + +2409: ; preds = %2402 + %2410 = or i32 %46, -2147483648 + %2411 = add i32 %2400, 4 + br label %4514 + +2412: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2413 + i32 17, label %2426 + i32 10, label %2429 ] -2415: ; preds = %2414 - %2416 = getelementptr inbounds i8, ptr %2, i64 4 +2413: ; preds = %2412 + %2414 = getelementptr inbounds i8, ptr %2, i64 4 + %2415 = load i32, ptr %2414, align 4, !tbaa !58 + %2416 = getelementptr inbounds i8, ptr %3, i64 4 %2417 = load i32, ptr %2416, align 4, !tbaa !58 - %2418 = getelementptr inbounds i8, ptr %3, i64 4 - %2419 = load i32, ptr %2418, align 4, !tbaa !58 - %2420 = and i32 %45, 256 - %2421 = icmp eq i32 %2420, 0 - br i1 %2421, label %4381, label %2422 - -2422: ; preds = %2415 - %2423 = getelementptr inbounds i8, ptr %16, i64 7 - %2424 = load i8, ptr %2423, align 1, !tbaa !61 - %2425 = zext i8 %2424 to i64 - %2426 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2425 - %2427 = load i32, ptr %2426, align 4, !tbaa !47 - br label %4381 - -2428: ; preds = %2414 - %2429 = getelementptr inbounds i8, ptr %2, i64 4 - %2430 = load i32, ptr %2429, align 4, !tbaa !58 - br label %4518 - -2431: ; preds = %2414 - %2432 = getelementptr inbounds i8, ptr %16, i64 7 - %2433 = load i8, ptr %2432, align 1, !tbaa !61 - %2434 = zext i8 %2433 to i64 - %2435 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2434 - %2436 = load i32, ptr %2435, align 4, !tbaa !47 - %2437 = getelementptr inbounds i8, ptr %3, i64 4 - %2438 = load i32, ptr %2437, align 4, !tbaa !58 - br label %4518 - -2439: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2440 - i32 2, label %2458 + %2418 = and i32 %45, 256 + %2419 = icmp eq i32 %2418, 0 + br i1 %2419, label %4377, label %2420 + +2420: ; preds = %2413 + %2421 = getelementptr inbounds i8, ptr %16, i64 7 + %2422 = load i8, ptr %2421, align 1, !tbaa !61 + %2423 = zext i8 %2422 to i64 + %2424 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2423 + %2425 = load i32, ptr %2424, align 4, !tbaa !47 + br label %4377 + +2426: ; preds = %2412 + %2427 = getelementptr inbounds i8, ptr %2, i64 4 + %2428 = load i32, ptr %2427, align 4, !tbaa !58 + br label %4514 + +2429: ; preds = %2412 + %2430 = getelementptr inbounds i8, ptr %16, i64 7 + %2431 = load i8, ptr %2430, align 1, !tbaa !61 + %2432 = zext i8 %2431 to i64 + %2433 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2432 + %2434 = load i32, ptr %2433, align 4, !tbaa !47 + %2435 = getelementptr inbounds i8, ptr %3, i64 4 + %2436 = load i32, ptr %2435, align 4, !tbaa !58 + br label %4514 + +2437: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2438 + i32 2, label %2456 ] -2440: ; preds = %2439 - %2441 = getelementptr inbounds i8, ptr %2, i64 4 +2438: ; preds = %2437 + %2439 = getelementptr inbounds i8, ptr %2, i64 4 + %2440 = load i32, ptr %2439, align 4, !tbaa !58 + %2441 = getelementptr inbounds i8, ptr %3, i64 4 %2442 = load i32, ptr %2441, align 4, !tbaa !58 - %2443 = getelementptr inbounds i8, ptr %3, i64 4 - %2444 = load i32, ptr %2443, align 4, !tbaa !58 - %2445 = icmp eq i32 %2442, 0 - br i1 %2445, label %2446, label %2452 - -2446: ; preds = %2464, %2463, %2440 - %2447 = phi i32 [ %2466, %2464 ], [ %2444, %2440 ], [ 1, %2463 ] - %2448 = lshr i32 %159, 10 - %2449 = and i32 %2448, 255 - %2450 = or disjoint i32 %2449, 221184 - %2451 = add i32 %2450, %2447 - br label %5317 - -2452: ; preds = %2440 - %2453 = icmp eq i32 %2444, 0 - br i1 %2453, label %2454, label %6035 - -2454: ; preds = %2452 - %2455 = and i32 %165, 255 - %2456 = or disjoint i32 %2455, 225280 - %2457 = add i32 %2456, %2442 - br label %5317 - -2458: ; preds = %2463, %2439 - %2459 = load i32, ptr %2, align 4, !tbaa !31 - %2460 = and i32 %2459, -16777216 - %2461 = icmp eq i32 %2460, 67108864 - %2462 = select i1 %2461, i32 216, i32 220 - br label %4518 - -2463: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %2446 - i32 1, label %2464 - i32 2, label %2458 + %2443 = icmp eq i32 %2440, 0 + br i1 %2443, label %2444, label %2450 + +2444: ; preds = %2462, %2461, %2438 + %2445 = phi i32 [ %2464, %2462 ], [ %2442, %2438 ], [ 1, %2461 ] + %2446 = lshr i32 %159, 10 + %2447 = and i32 %2446, 255 + %2448 = or disjoint i32 %2447, 221184 + %2449 = add i32 %2448, %2445 + br label %5313 + +2450: ; preds = %2438 + %2451 = icmp eq i32 %2442, 0 + br i1 %2451, label %2452, label %6031 + +2452: ; preds = %2450 + %2453 = and i32 %165, 255 + %2454 = or disjoint i32 %2453, 225280 + %2455 = add i32 %2454, %2440 + br label %5313 + +2456: ; preds = %2461, %2437 + %2457 = load i32, ptr %2, align 4, !tbaa !31 + %2458 = and i32 %2457, -16777216 + %2459 = icmp eq i32 %2458, 67108864 + %2460 = select i1 %2459, i32 216, i32 220 + br label %4514 + +2461: ; preds = %153 + switch i32 %31, label %6031 [ + i32 0, label %2444 + i32 1, label %2462 + i32 2, label %2456 ] -2464: ; preds = %2463 - %2465 = getelementptr inbounds i8, ptr %2, i64 4 - %2466 = load i32, ptr %2465, align 4, !tbaa !58 - br label %2446 +2462: ; preds = %2461 + %2463 = getelementptr inbounds i8, ptr %2, i64 4 + %2464 = load i32, ptr %2463, align 4, !tbaa !58 + br label %2444 -2467: ; preds = %153 - switch i32 %31, label %6035 [ - i32 2, label %2468 - i32 1, label %2494 +2465: ; preds = %153 + switch i32 %31, label %6031 [ + i32 2, label %2466 + i32 1, label %2492 ] -2468: ; preds = %2467 - %2469 = load i32, ptr %2, align 4, !tbaa !31 - %2470 = lshr i32 %2469, 24 - %2471 = trunc i32 %2470 to i8 - switch i8 %2471, label %6035 [ - i8 4, label %2472 - i8 8, label %2476 - i8 10, label %2482 +2466: ; preds = %2465 + %2467 = load i32, ptr %2, align 4, !tbaa !31 + %2468 = lshr i32 %2467, 24 + %2469 = trunc i32 %2468 to i8 + switch i8 %2469, label %6031 [ + i8 4, label %2470 + i8 8, label %2474 + i8 10, label %2480 ] -2472: ; preds = %2468 - %2473 = load i32, ptr %21, align 4, !tbaa !48 - %2474 = and i32 %2473, 4096 - %2475 = icmp eq i32 %2474, 0 - br i1 %2475, label %6035, label %4518 - -2476: ; preds = %2468 - %2477 = load i32, ptr %21, align 4, !tbaa !48 - %2478 = and i32 %2477, 8192 - %2479 = icmp eq i32 %2478, 0 - br i1 %2479, label %6035, label %2480 - -2480: ; preds = %2476 - %2481 = add i32 %165, 4 - br label %4518 - -2482: ; preds = %2468 - %2483 = load i32, ptr %21, align 4, !tbaa !48 - %2484 = and i32 %2483, 2048 - %2485 = icmp eq i32 %2484, 0 - br i1 %2485, label %6035, label %2486 - -2486: ; preds = %2482 - %2487 = getelementptr inbounds i8, ptr %16, i64 7 - %2488 = load i8, ptr %2487, align 1, !tbaa !61 - %2489 = zext i8 %2488 to i64 - %2490 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2489 - %2491 = load i32, ptr %2490, align 4, !tbaa !47 - %2492 = lshr i32 %2491, 18 - %2493 = and i32 %2492, 7 - br label %4518 - -2494: ; preds = %2467 - switch i32 %14, label %6035 [ - i32 206, label %2495 - i32 236, label %2499 - i32 239, label %2503 +2470: ; preds = %2466 + %2471 = load i32, ptr %21, align 4, !tbaa !48 + %2472 = and i32 %2471, 4096 + %2473 = icmp eq i32 %2472, 0 + br i1 %2473, label %6031, label %4514 + +2474: ; preds = %2466 + %2475 = load i32, ptr %21, align 4, !tbaa !48 + %2476 = and i32 %2475, 8192 + %2477 = icmp eq i32 %2476, 0 + br i1 %2477, label %6031, label %2478 + +2478: ; preds = %2474 + %2479 = add i32 %165, 4 + br label %4514 + +2480: ; preds = %2466 + %2481 = load i32, ptr %21, align 4, !tbaa !48 + %2482 = and i32 %2481, 2048 + %2483 = icmp eq i32 %2482, 0 + br i1 %2483, label %6031, label %2484 + +2484: ; preds = %2480 + %2485 = getelementptr inbounds i8, ptr %16, i64 7 + %2486 = load i8, ptr %2485, align 1, !tbaa !61 + %2487 = zext i8 %2486 to i64 + %2488 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2487 + %2489 = load i32, ptr %2488, align 4, !tbaa !47 + %2490 = lshr i32 %2489, 18 + %2491 = and i32 %2490, 7 + br label %4514 + +2492: ; preds = %2465 + switch i32 %14, label %6031 [ + i32 206, label %2493 + i32 236, label %2497 + i32 239, label %2501 ] -2495: ; preds = %2494 - %2496 = getelementptr inbounds i8, ptr %2, i64 4 - %2497 = load i32, ptr %2496, align 4, !tbaa !58 - %2498 = add i32 %2497, 222400 - br label %5317 - -2499: ; preds = %2494 - %2500 = getelementptr inbounds i8, ptr %2, i64 4 - %2501 = load i32, ptr %2500, align 4, !tbaa !58 - %2502 = add i32 %2501, 226512 - br label %5317 - -2503: ; preds = %2494 - %2504 = getelementptr inbounds i8, ptr %2, i64 4 - %2505 = load i32, ptr %2504, align 4, !tbaa !58 - %2506 = add i32 %2505, 226520 - br label %5317 - -2507: ; preds = %153 - %2508 = icmp eq i32 %31, 2 - br i1 %2508, label %2509, label %6035 - -2509: ; preds = %2507 - %2510 = and i32 %165, -57345 - %2511 = load i32, ptr %2, align 4, !tbaa !31 - %2512 = lshr i32 %2511, 24 - %2513 = trunc i32 %2512 to i8 - switch i8 %2513, label %6035 [ - i8 2, label %2514 - i8 4, label %2520 - i8 8, label %2524 +2493: ; preds = %2492 + %2494 = getelementptr inbounds i8, ptr %2, i64 4 + %2495 = load i32, ptr %2494, align 4, !tbaa !58 + %2496 = add i32 %2495, 222400 + br label %5313 + +2497: ; preds = %2492 + %2498 = getelementptr inbounds i8, ptr %2, i64 4 + %2499 = load i32, ptr %2498, align 4, !tbaa !58 + %2500 = add i32 %2499, 226512 + br label %5313 + +2501: ; preds = %2492 + %2502 = getelementptr inbounds i8, ptr %2, i64 4 + %2503 = load i32, ptr %2502, align 4, !tbaa !58 + %2504 = add i32 %2503, 226520 + br label %5313 + +2505: ; preds = %153 + %2506 = icmp eq i32 %31, 2 + br i1 %2506, label %2507, label %6031 + +2507: ; preds = %2505 + %2508 = and i32 %165, -57345 + %2509 = load i32, ptr %2, align 4, !tbaa !31 + %2510 = lshr i32 %2509, 24 + %2511 = trunc i32 %2510 to i8 + switch i8 %2511, label %6031 [ + i8 2, label %2512 + i8 4, label %2518 + i8 8, label %2522 ] -2514: ; preds = %2509 - %2515 = load i32, ptr %21, align 4, !tbaa !48 - %2516 = and i32 %2515, 2048 - %2517 = icmp eq i32 %2516, 0 - br i1 %2517, label %6035, label %2518 - -2518: ; preds = %2514 - %2519 = add nuw nsw i32 %2510, 4 - br label %4518 - -2520: ; preds = %2509 - %2521 = load i32, ptr %21, align 4, !tbaa !48 - %2522 = and i32 %2521, 4096 - %2523 = icmp eq i32 %2522, 0 - br i1 %2523, label %6035, label %4518 - -2524: ; preds = %2509 - %2525 = load i32, ptr %21, align 4, !tbaa !48 - %2526 = and i32 %2525, 8192 - %2527 = icmp eq i32 %2526, 0 - br i1 %2527, label %6035, label %2528 - -2528: ; preds = %2524 - %2529 = getelementptr inbounds i8, ptr %16, i64 7 - %2530 = load i8, ptr %2529, align 1, !tbaa !61 - %2531 = zext i8 %2530 to i64 - %2532 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2531 - %2533 = load i32, ptr %2532, align 4, !tbaa !47 - %2534 = and i32 %2533, -57345 - %2535 = lshr i32 %2533, 18 - %2536 = and i32 %2535, 7 - br label %4518 - -2537: ; preds = %153 - switch i32 %31, label %6035 [ - i32 0, label %2538 - i32 1, label %2542 +2512: ; preds = %2507 + %2513 = load i32, ptr %21, align 4, !tbaa !48 + %2514 = and i32 %2513, 2048 + %2515 = icmp eq i32 %2514, 0 + br i1 %2515, label %6031, label %2516 + +2516: ; preds = %2512 + %2517 = add nuw nsw i32 %2508, 4 + br label %4514 + +2518: ; preds = %2507 + %2519 = load i32, ptr %21, align 4, !tbaa !48 + %2520 = and i32 %2519, 4096 + %2521 = icmp eq i32 %2520, 0 + br i1 %2521, label %6031, label %4514 + +2522: ; preds = %2507 + %2523 = load i32, ptr %21, align 4, !tbaa !48 + %2524 = and i32 %2523, 8192 + %2525 = icmp eq i32 %2524, 0 + br i1 %2525, label %6031, label %2526 + +2526: ; preds = %2522 + %2527 = getelementptr inbounds i8, ptr %16, i64 7 + %2528 = load i8, ptr %2527, align 1, !tbaa !61 + %2529 = zext i8 %2528 to i64 + %2530 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2529 + %2531 = load i32, ptr %2530, align 4, !tbaa !47 + %2532 = and i32 %2531, -57345 + %2533 = lshr i32 %2531, 18 + %2534 = and i32 %2533, 7 + br label %4514 + +2535: ; preds = %153 + switch i32 %31, label %6031 [ + i32 0, label %2536 + i32 1, label %2540 ] -2538: ; preds = %2537 - %2539 = add i32 %165, 1 - br label %5317 +2536: ; preds = %2535 + %2537 = add i32 %165, 1 + br label %5313 -2540: ; preds = %153 - %2541 = icmp eq i32 %31, 1 - br i1 %2541, label %2542, label %6035 +2538: ; preds = %153 + %2539 = icmp eq i32 %31, 1 + br i1 %2539, label %2540, label %6031 -2542: ; preds = %2540, %2537 - %2543 = getelementptr inbounds i8, ptr %2, i64 4 - %2544 = load i32, ptr %2543, align 4, !tbaa !58 - %2545 = add i32 %2544, %165 - br label %5317 +2540: ; preds = %2538, %2535 + %2541 = getelementptr inbounds i8, ptr %2, i64 4 + %2542 = load i32, ptr %2541, align 4, !tbaa !58 + %2543 = add i32 %2542, %165 + br label %5313 -2546: ; preds = %153 - switch i32 %31, label %6035 [ - i32 1, label %2547 - i32 2, label %2557 +2544: ; preds = %153 + switch i32 %31, label %6031 [ + i32 1, label %2545 + i32 2, label %2555 ] -2547: ; preds = %2546 - %2548 = getelementptr inbounds i8, ptr %2, i64 4 - %2549 = load i32, ptr %2548, align 4, !tbaa !58 - %2550 = icmp eq i32 %2549, 0 - br i1 %2550, label %2551, label %6035, !prof !35 - -2551: ; preds = %2547 - %2552 = getelementptr inbounds i8, ptr %16, i64 7 - %2553 = load i8, ptr %2552, align 1, !tbaa !61 - %2554 = zext i8 %2553 to i64 - %2555 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2554 - %2556 = load i32, ptr %2555, align 4, !tbaa !47 - br label %5317 - -2557: ; preds = %2546 - %2558 = and i32 %165, -57345 - br label %4518 - -2559: ; preds = %153 - switch i32 %31, label %6035 [ - i32 201, label %2560 - i32 202, label %2572 +2545: ; preds = %2544 + %2546 = getelementptr inbounds i8, ptr %2, i64 4 + %2547 = load i32, ptr %2546, align 4, !tbaa !58 + %2548 = icmp eq i32 %2547, 0 + br i1 %2548, label %2549, label %6031, !prof !35 + +2549: ; preds = %2545 + %2550 = getelementptr inbounds i8, ptr %16, i64 7 + %2551 = load i8, ptr %2550, align 1, !tbaa !61 + %2552 = zext i8 %2551 to i64 + %2553 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2552 + %2554 = load i32, ptr %2553, align 4, !tbaa !47 + br label %5313 + +2555: ; preds = %2544 + %2556 = and i32 %165, -57345 + br label %4514 + +2557: ; preds = %153 + switch i32 %31, label %6031 [ + i32 201, label %2558 + i32 202, label %2570 ] -2560: ; preds = %2559 - %2561 = load i32, ptr %3, align 4, !tbaa !31 - %2562 = and i32 %2561, -16773121 - %2563 = icmp eq i32 %2562, 268435809 - %2564 = select i1 %2563, i32 2097152, i32 0 - %2565 = or i32 %2564, %165 - %2566 = getelementptr inbounds i8, ptr %4, i64 8 - %2567 = load i64, ptr %2566, align 4 - %2568 = getelementptr inbounds i8, ptr %2, i64 4 +2558: ; preds = %2557 + %2559 = load i32, ptr %3, align 4, !tbaa !31 + %2560 = and i32 %2559, -16773121 + %2561 = icmp eq i32 %2560, 268435809 + %2562 = select i1 %2561, i32 2097152, i32 0 + %2563 = or i32 %2562, %165 + %2564 = getelementptr inbounds i8, ptr %4, i64 8 + %2565 = load i64, ptr %2564, align 4 + %2566 = getelementptr inbounds i8, ptr %2, i64 4 + %2567 = load i32, ptr %2566, align 4, !tbaa !58 + %2568 = getelementptr inbounds i8, ptr %3, i64 4 %2569 = load i32, ptr %2568, align 4, !tbaa !58 - %2570 = getelementptr inbounds i8, ptr %3, i64 4 - %2571 = load i32, ptr %2570, align 4, !tbaa !58 - br label %4381 - -2572: ; preds = %2559 - %2573 = getelementptr inbounds i8, ptr %16, i64 7 - %2574 = load i8, ptr %2573, align 1, !tbaa !61 - %2575 = zext i8 %2574 to i64 - %2576 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2575 - %2577 = load i32, ptr %2576, align 4, !tbaa !47 - %2578 = load i32, ptr %3, align 4, !tbaa !31 - %2579 = and i32 %2578, -16773121 - %2580 = icmp eq i32 %2579, 268435809 - %2581 = select i1 %2580, i32 2097152, i32 0 - %2582 = or i32 %2581, %2577 - %2583 = getelementptr inbounds i8, ptr %4, i64 8 - %2584 = load i64, ptr %2583, align 4 - %2585 = getelementptr inbounds i8, ptr %3, i64 4 - %2586 = load i32, ptr %2585, align 4, !tbaa !58 - br label %4518 - -2587: ; preds = %153 - switch i32 %31, label %6035 [ - i32 201, label %2588 - i32 202, label %2600 + br label %4377 + +2570: ; preds = %2557 + %2571 = getelementptr inbounds i8, ptr %16, i64 7 + %2572 = load i8, ptr %2571, align 1, !tbaa !61 + %2573 = zext i8 %2572 to i64 + %2574 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2573 + %2575 = load i32, ptr %2574, align 4, !tbaa !47 + %2576 = load i32, ptr %3, align 4, !tbaa !31 + %2577 = and i32 %2576, -16773121 + %2578 = icmp eq i32 %2577, 268435809 + %2579 = select i1 %2578, i32 2097152, i32 0 + %2580 = or i32 %2579, %2575 + %2581 = getelementptr inbounds i8, ptr %4, i64 8 + %2582 = load i64, ptr %2581, align 4 + %2583 = getelementptr inbounds i8, ptr %3, i64 4 + %2584 = load i32, ptr %2583, align 4, !tbaa !58 + br label %4514 + +2585: ; preds = %153 + switch i32 %31, label %6031 [ + i32 201, label %2586 + i32 202, label %2598 ] -2588: ; preds = %2587 - %2589 = load i32, ptr %3, align 4, !tbaa !31 - %2590 = and i32 %2589, -16773121 - %2591 = icmp eq i32 %2590, 268435809 - %2592 = select i1 %2591, i32 2097152, i32 0 - %2593 = or i32 %2592, %165 - %2594 = getelementptr inbounds i8, ptr %4, i64 8 - %2595 = load i64, ptr %2594, align 4 - %2596 = getelementptr inbounds i8, ptr %3, i64 4 +2586: ; preds = %2585 + %2587 = load i32, ptr %3, align 4, !tbaa !31 + %2588 = and i32 %2587, -16773121 + %2589 = icmp eq i32 %2588, 268435809 + %2590 = select i1 %2589, i32 2097152, i32 0 + %2591 = or i32 %2590, %165 + %2592 = getelementptr inbounds i8, ptr %4, i64 8 + %2593 = load i64, ptr %2592, align 4 + %2594 = getelementptr inbounds i8, ptr %3, i64 4 + %2595 = load i32, ptr %2594, align 4, !tbaa !58 + %2596 = getelementptr inbounds i8, ptr %2, i64 4 %2597 = load i32, ptr %2596, align 4, !tbaa !58 - %2598 = getelementptr inbounds i8, ptr %2, i64 4 - %2599 = load i32, ptr %2598, align 4, !tbaa !58 - br label %4381 - -2600: ; preds = %2587 - %2601 = load i32, ptr %3, align 4, !tbaa !31 - %2602 = and i32 %2601, -16773121 - %2603 = icmp eq i32 %2602, 268435809 - %2604 = select i1 %2603, i32 2097152, i32 0 - %2605 = or i32 %2604, %165 - %2606 = getelementptr inbounds i8, ptr %4, i64 8 - %2607 = load i64, ptr %2606, align 4 - %2608 = getelementptr inbounds i8, ptr %3, i64 4 - %2609 = load i32, ptr %2608, align 4, !tbaa !58 - br label %4518 - -2610: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2611 - i32 17, label %2626 - i32 10, label %2629 + br label %4377 + +2598: ; preds = %2585 + %2599 = load i32, ptr %3, align 4, !tbaa !31 + %2600 = and i32 %2599, -16773121 + %2601 = icmp eq i32 %2600, 268435809 + %2602 = select i1 %2601, i32 2097152, i32 0 + %2603 = or i32 %2602, %165 + %2604 = getelementptr inbounds i8, ptr %4, i64 8 + %2605 = load i64, ptr %2604, align 4 + %2606 = getelementptr inbounds i8, ptr %3, i64 4 + %2607 = load i32, ptr %2606, align 4, !tbaa !58 + br label %4514 + +2608: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2609 + i32 17, label %2624 + i32 10, label %2627 ] -2611: ; preds = %2610 - %2612 = getelementptr inbounds i8, ptr %2, i64 4 +2609: ; preds = %2608 + %2610 = getelementptr inbounds i8, ptr %2, i64 4 + %2611 = load i32, ptr %2610, align 4, !tbaa !58 + %2612 = getelementptr inbounds i8, ptr %3, i64 4 %2613 = load i32, ptr %2612, align 4, !tbaa !58 - %2614 = getelementptr inbounds i8, ptr %3, i64 4 - %2615 = load i32, ptr %2614, align 4, !tbaa !58 - %2616 = and i32 %45, 256 - %2617 = icmp eq i32 %2616, 0 - br i1 %2617, label %4381, label %2618 - -2618: ; preds = %2611 - %2619 = getelementptr inbounds i8, ptr %16, i64 7 - %2620 = load i8, ptr %2619, align 1, !tbaa !61 - %2621 = icmp eq i8 %2620, 0 - br i1 %2621, label %4381, label %2622 - -2622: ; preds = %2618 - %2623 = zext i8 %2620 to i64 - %2624 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2623 - %2625 = load i32, ptr %2624, align 4, !tbaa !47 - br label %4381 - -2626: ; preds = %2610 - %2627 = getelementptr inbounds i8, ptr %2, i64 4 - %2628 = load i32, ptr %2627, align 4, !tbaa !58 - br label %4518 - -2629: ; preds = %2610 - %2630 = getelementptr inbounds i8, ptr %16, i64 7 - %2631 = load i8, ptr %2630, align 1, !tbaa !61 - %2632 = zext i8 %2631 to i64 - %2633 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2632 - %2634 = load i32, ptr %2633, align 4, !tbaa !47 - %2635 = getelementptr inbounds i8, ptr %3, i64 4 - %2636 = load i32, ptr %2635, align 4, !tbaa !58 - br label %4518 - -2637: ; preds = %153 - %2638 = icmp eq i32 %31, 17 - br i1 %2638, label %2639, label %2651 - -2639: ; preds = %2637 - %2640 = load i32, ptr %2, align 4, !tbaa !31 - %2641 = lshr i32 %2640, 24 - %2642 = icmp eq i32 %2641, 1 - br i1 %2642, label %6035, label %2643 - -2643: ; preds = %2639 - %2644 = and i32 %2641, 15 - %2645 = zext nneg i32 %2644 to i64 - %2646 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2645 - %2647 = load i32, ptr %2646, align 4, !tbaa !47 - %2648 = or i32 %2647, %165 - %2649 = getelementptr inbounds i8, ptr %2, i64 4 - %2650 = load i32, ptr %2649, align 4, !tbaa !58 - br label %4518 - -2651: ; preds = %2637 - %2652 = getelementptr inbounds i8, ptr %16, i64 7 - %2653 = load i8, ptr %2652, align 1, !tbaa !61 - %2654 = zext i8 %2653 to i64 - %2655 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2654 - %2656 = load i32, ptr %2655, align 4, !tbaa !47 - %2657 = icmp eq i32 %31, 10 - br i1 %2657, label %2658, label %6035 - -2658: ; preds = %2651 - %2659 = load i32, ptr %3, align 4, !tbaa !31 - %2660 = lshr i32 %2659, 24 - %2661 = icmp eq i32 %2660, 1 - br i1 %2661, label %6035, label %2662 - -2662: ; preds = %2658 - %2663 = and i32 %2660, 15 - %2664 = zext nneg i32 %2663 to i64 - %2665 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2664 - %2666 = load i32, ptr %2665, align 4, !tbaa !47 - %2667 = or i32 %2666, %2656 - %2668 = getelementptr inbounds i8, ptr %3, i64 4 - %2669 = load i32, ptr %2668, align 4, !tbaa !58 - br label %4518 - -2670: ; preds = %2745, %153 - %2671 = phi i32 [ %2746, %2745 ], [ %165, %153 ] - %2672 = getelementptr inbounds i8, ptr %2, i64 4 - %2673 = load i32, ptr %2672, align 4, !tbaa !58 - %2674 = load i32, ptr %2, align 4, !tbaa !47 - %2675 = and i32 %2674, -16773121 - %2676 = icmp eq i32 %2675, 268435809 - %2677 = select i1 %2676, i32 2097152, i32 0 - %2678 = or i32 %2677, %2671 - %2679 = icmp eq i32 %31, 9 - br i1 %2679, label %2680, label %2687 - -2680: ; preds = %2670 - %2681 = load i32, ptr %3, align 4, !tbaa !47 - %2682 = and i32 %2681, 3847 - %2683 = icmp eq i32 %2682, 1 - br i1 %2683, label %2684, label %2691 - -2684: ; preds = %2680 - %2685 = getelementptr inbounds i8, ptr %3, i64 4 - %2686 = load i32, ptr %2685, align 4, !tbaa !58 - br label %4381 - -2687: ; preds = %2670 - %2688 = icmp eq i32 %31, 17 - br i1 %2688, label %4518, label %2689 - -2689: ; preds = %2687 - %2690 = load i32, ptr %3, align 4, !tbaa !31 - br label %2691 - -2691: ; preds = %2689, %2680 - %2692 = phi i32 [ %2690, %2689 ], [ %2681, %2680 ] - %2693 = and i32 %2671, 134217728 - %2694 = getelementptr inbounds i8, ptr %16, i64 7 - %2695 = load i8, ptr %2694, align 1, !tbaa !61 - %2696 = zext i8 %2695 to i64 - %2697 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2696 - %2698 = load i32, ptr %2697, align 4, !tbaa !47 - %2699 = or i32 %2698, %2693 - %2700 = getelementptr inbounds i8, ptr %3, i64 4 - %2701 = load i32, ptr %2700, align 4, !tbaa !58 - %2702 = and i32 %2692, -16773121 - %2703 = icmp eq i32 %2702, 268435809 - %2704 = select i1 %2703, i32 2097152, i32 0 - %2705 = or i32 %2699, %2704 - br i1 %2679, label %2706, label %2709 - -2706: ; preds = %2691 - %2707 = and i32 %2674, 3847 - %2708 = icmp eq i32 %2707, 1 - br i1 %2708, label %4381, label %6035 - -2709: ; preds = %2691 - %2710 = icmp eq i32 %31, 10 - br i1 %2710, label %4518, label %6035 - -2711: ; preds = %153 - switch i32 %31, label %2745 [ - i32 9, label %2712 - i32 17, label %2735 - i32 10, label %2740 + %2614 = and i32 %45, 256 + %2615 = icmp eq i32 %2614, 0 + br i1 %2615, label %4377, label %2616 + +2616: ; preds = %2609 + %2617 = getelementptr inbounds i8, ptr %16, i64 7 + %2618 = load i8, ptr %2617, align 1, !tbaa !61 + %2619 = icmp eq i8 %2618, 0 + br i1 %2619, label %4377, label %2620 + +2620: ; preds = %2616 + %2621 = zext i8 %2618 to i64 + %2622 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2621 + %2623 = load i32, ptr %2622, align 4, !tbaa !47 + br label %4377 + +2624: ; preds = %2608 + %2625 = getelementptr inbounds i8, ptr %2, i64 4 + %2626 = load i32, ptr %2625, align 4, !tbaa !58 + br label %4514 + +2627: ; preds = %2608 + %2628 = getelementptr inbounds i8, ptr %16, i64 7 + %2629 = load i8, ptr %2628, align 1, !tbaa !61 + %2630 = zext i8 %2629 to i64 + %2631 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2630 + %2632 = load i32, ptr %2631, align 4, !tbaa !47 + %2633 = getelementptr inbounds i8, ptr %3, i64 4 + %2634 = load i32, ptr %2633, align 4, !tbaa !58 + br label %4514 + +2635: ; preds = %153 + %2636 = icmp eq i32 %31, 17 + br i1 %2636, label %2637, label %2649 + +2637: ; preds = %2635 + %2638 = load i32, ptr %2, align 4, !tbaa !31 + %2639 = lshr i32 %2638, 24 + %2640 = icmp eq i32 %2639, 1 + br i1 %2640, label %6031, label %2641 + +2641: ; preds = %2637 + %2642 = and i32 %2639, 15 + %2643 = zext nneg i32 %2642 to i64 + %2644 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2643 + %2645 = load i32, ptr %2644, align 4, !tbaa !47 + %2646 = or i32 %2645, %165 + %2647 = getelementptr inbounds i8, ptr %2, i64 4 + %2648 = load i32, ptr %2647, align 4, !tbaa !58 + br label %4514 + +2649: ; preds = %2635 + %2650 = getelementptr inbounds i8, ptr %16, i64 7 + %2651 = load i8, ptr %2650, align 1, !tbaa !61 + %2652 = zext i8 %2651 to i64 + %2653 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2652 + %2654 = load i32, ptr %2653, align 4, !tbaa !47 + %2655 = icmp eq i32 %31, 10 + br i1 %2655, label %2656, label %6031 + +2656: ; preds = %2649 + %2657 = load i32, ptr %3, align 4, !tbaa !31 + %2658 = lshr i32 %2657, 24 + %2659 = icmp eq i32 %2658, 1 + br i1 %2659, label %6031, label %2660 + +2660: ; preds = %2656 + %2661 = and i32 %2658, 15 + %2662 = zext nneg i32 %2661 to i64 + %2663 = getelementptr inbounds [16 x i32], ptr @_ZZN6asmjit9_abi_1_103x866Opcode15addPrefixBySizeIjEERS2_T_E4mask, i64 0, i64 %2662 + %2664 = load i32, ptr %2663, align 4, !tbaa !47 + %2665 = or i32 %2664, %2654 + %2666 = getelementptr inbounds i8, ptr %3, i64 4 + %2667 = load i32, ptr %2666, align 4, !tbaa !58 + br label %4514 + +2668: ; preds = %2743, %153 + %2669 = phi i32 [ %2744, %2743 ], [ %165, %153 ] + %2670 = getelementptr inbounds i8, ptr %2, i64 4 + %2671 = load i32, ptr %2670, align 4, !tbaa !58 + %2672 = load i32, ptr %2, align 4, !tbaa !47 + %2673 = and i32 %2672, -16773121 + %2674 = icmp eq i32 %2673, 268435809 + %2675 = select i1 %2674, i32 2097152, i32 0 + %2676 = or i32 %2675, %2669 + %2677 = icmp eq i32 %31, 9 + br i1 %2677, label %2678, label %2685 + +2678: ; preds = %2668 + %2679 = load i32, ptr %3, align 4, !tbaa !47 + %2680 = and i32 %2679, 3847 + %2681 = icmp eq i32 %2680, 1 + br i1 %2681, label %2682, label %2689 + +2682: ; preds = %2678 + %2683 = getelementptr inbounds i8, ptr %3, i64 4 + %2684 = load i32, ptr %2683, align 4, !tbaa !58 + br label %4377 + +2685: ; preds = %2668 + %2686 = icmp eq i32 %31, 17 + br i1 %2686, label %4514, label %2687 + +2687: ; preds = %2685 + %2688 = load i32, ptr %3, align 4, !tbaa !31 + br label %2689 + +2689: ; preds = %2687, %2678 + %2690 = phi i32 [ %2688, %2687 ], [ %2679, %2678 ] + %2691 = and i32 %2669, 134217728 + %2692 = getelementptr inbounds i8, ptr %16, i64 7 + %2693 = load i8, ptr %2692, align 1, !tbaa !61 + %2694 = zext i8 %2693 to i64 + %2695 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2694 + %2696 = load i32, ptr %2695, align 4, !tbaa !47 + %2697 = or i32 %2696, %2691 + %2698 = getelementptr inbounds i8, ptr %3, i64 4 + %2699 = load i32, ptr %2698, align 4, !tbaa !58 + %2700 = and i32 %2690, -16773121 + %2701 = icmp eq i32 %2700, 268435809 + %2702 = select i1 %2701, i32 2097152, i32 0 + %2703 = or i32 %2697, %2702 + br i1 %2677, label %2704, label %2707 + +2704: ; preds = %2689 + %2705 = and i32 %2672, 3847 + %2706 = icmp eq i32 %2705, 1 + br i1 %2706, label %4377, label %6031 + +2707: ; preds = %2689 + %2708 = icmp eq i32 %31, 10 + br i1 %2708, label %4514, label %6031 + +2709: ; preds = %153 + switch i32 %31, label %2743 [ + i32 9, label %2710 + i32 17, label %2733 + i32 10, label %2738 ] -2712: ; preds = %2711 - %2713 = getelementptr inbounds i8, ptr %2, i64 4 +2710: ; preds = %2709 + %2711 = getelementptr inbounds i8, ptr %2, i64 4 + %2712 = load i32, ptr %2711, align 4, !tbaa !58 + %2713 = getelementptr inbounds i8, ptr %3, i64 4 %2714 = load i32, ptr %2713, align 4, !tbaa !58 - %2715 = getelementptr inbounds i8, ptr %3, i64 4 - %2716 = load i32, ptr %2715, align 4, !tbaa !58 - %2717 = load i32, ptr %2, align 4, !tbaa !31 - %2718 = and i32 %2717, -16773121 - switch i32 %2718, label %2745 [ - i32 134218641, label %2719 - i32 268435809, label %2727 + %2715 = load i32, ptr %2, align 4, !tbaa !31 + %2716 = and i32 %2715, -16773121 + switch i32 %2716, label %2743 [ + i32 134218641, label %2717 + i32 268435809, label %2725 ] -2719: ; preds = %2712 - %2720 = load i32, ptr %3, align 4, !tbaa !31 - %2721 = and i32 %2720, -16773121 - %2722 = icmp eq i32 %2721, 134218641 - br i1 %2722, label %2723, label %2745 - -2723: ; preds = %2719 - %2724 = and i32 %45, 256 - %2725 = icmp eq i32 %2724, 0 - br i1 %2725, label %4381, label %2726 - -2726: ; preds = %2723 - br label %4381 - -2727: ; preds = %2712 - %2728 = load i32, ptr %3, align 4, !tbaa !31 - %2729 = and i32 %2728, -16773121 - %2730 = icmp eq i32 %2729, 268435809 - br i1 %2730, label %2731, label %2745 - -2731: ; preds = %2727 - %2732 = and i32 %45, 256 - %2733 = icmp eq i32 %2732, 0 - br i1 %2733, label %4381, label %2734 - -2734: ; preds = %2731 - br label %4381 - -2735: ; preds = %2711 - %2736 = getelementptr inbounds i8, ptr %2, i64 4 - %2737 = load i32, ptr %2736, align 4, !tbaa !58 - %2738 = load i32, ptr %2, align 4, !tbaa !31 - %2739 = and i32 %2738, -16773121 - switch i32 %2739, label %2745 [ - i32 134218641, label %4518 - i32 268435809, label %4516 +2717: ; preds = %2710 + %2718 = load i32, ptr %3, align 4, !tbaa !31 + %2719 = and i32 %2718, -16773121 + %2720 = icmp eq i32 %2719, 134218641 + br i1 %2720, label %2721, label %2743 + +2721: ; preds = %2717 + %2722 = and i32 %45, 256 + %2723 = icmp eq i32 %2722, 0 + br i1 %2723, label %4377, label %2724 + +2724: ; preds = %2721 + br label %4377 + +2725: ; preds = %2710 + %2726 = load i32, ptr %3, align 4, !tbaa !31 + %2727 = and i32 %2726, -16773121 + %2728 = icmp eq i32 %2727, 268435809 + br i1 %2728, label %2729, label %2743 + +2729: ; preds = %2725 + %2730 = and i32 %45, 256 + %2731 = icmp eq i32 %2730, 0 + br i1 %2731, label %4377, label %2732 + +2732: ; preds = %2729 + br label %4377 + +2733: ; preds = %2709 + %2734 = getelementptr inbounds i8, ptr %2, i64 4 + %2735 = load i32, ptr %2734, align 4, !tbaa !58 + %2736 = load i32, ptr %2, align 4, !tbaa !31 + %2737 = and i32 %2736, -16773121 + switch i32 %2737, label %2743 [ + i32 134218641, label %4514 + i32 268435809, label %4512 ] -2740: ; preds = %2711 - %2741 = getelementptr inbounds i8, ptr %3, i64 4 - %2742 = load i32, ptr %2741, align 4, !tbaa !58 - %2743 = load i32, ptr %3, align 4, !tbaa !31 - %2744 = and i32 %2743, -16773121 - switch i32 %2744, label %2745 [ - i32 134218641, label %4518 - i32 268435809, label %4517 +2738: ; preds = %2709 + %2739 = getelementptr inbounds i8, ptr %3, i64 4 + %2740 = load i32, ptr %2739, align 4, !tbaa !58 + %2741 = load i32, ptr %3, align 4, !tbaa !31 + %2742 = and i32 %2741, -16773121 + switch i32 %2742, label %2743 [ + i32 134218641, label %4514 + i32 268435809, label %4513 ] -2745: ; preds = %2740, %2735, %2727, %2719, %2712, %2711 - %2746 = or i32 %165, 134217728 - br label %2670 - -2747: ; preds = %153 - %2748 = load i32, ptr %4, align 4, !tbaa !31 - %2749 = icmp eq i32 %2748, 0 - br i1 %2749, label %2788, label %2750 - -2750: ; preds = %2747 - %2751 = and i32 %2748, -16773121 - %2752 = icmp ne i32 %2751, 268435809 - %2753 = getelementptr inbounds i8, ptr %4, i64 4 - %2754 = load i32, ptr %2753, align 4, !tbaa !58 - %2755 = icmp ne i32 %2754, 0 - %2756 = or i1 %2752, %2755 - br i1 %2756, label %6035, label %2788, !prof !37 - -2757: ; preds = %153 - %2758 = load i32, ptr %4, align 4, !tbaa !31 - %2759 = icmp eq i32 %2758, 0 - br i1 %2759, label %2788, label %2760 - -2760: ; preds = %2757 - %2761 = and i32 %2758, 7 - %2762 = icmp eq i32 %2761, 2 - %2763 = getelementptr inbounds i8, ptr %4, i64 4 - %2764 = load i32, ptr %2763, align 4 - %2765 = icmp eq i32 %2764, 7 - %2766 = select i1 %2762, i1 %2765, i1 false - br i1 %2766, label %2767, label %6035 - -2767: ; preds = %2760 - %2768 = getelementptr inbounds i8, ptr %4, i64 12 - %2769 = load i32, ptr %2768, align 4, !tbaa !47 - %2770 = and i32 %2758, 248 - %2771 = icmp eq i32 %2770, 0 - %2772 = select i1 %2771, i32 7, i32 0 - %2773 = or i32 %2769, %2772 - %2774 = icmp eq i32 %2773, 0 - br i1 %2774, label %2788, label %6035, !prof !89 - -2775: ; preds = %153 - %2776 = load i32, ptr %3, align 4, !tbaa !31 - %2777 = and i32 %2776, -16777216 - %2778 = icmp eq i32 %2777, 134217728 - %2779 = select i1 %2778, i32 134217728, i32 0 - %2780 = or i32 %2779, %165 - br label %2781 - -2781: ; preds = %2775, %153 - %2782 = phi i32 [ %165, %153 ], [ %2780, %2775 ] - %2783 = load i32, ptr %2, align 4, !tbaa !31 - %2784 = and i32 %2783, -16773121 - %2785 = icmp eq i32 %2784, 134217785 - %2786 = select i1 %2785, i32 134217728, i32 0 - %2787 = or i32 %2786, %2782 - br label %2788 - -2788: ; preds = %2781, %2767, %2757, %2750, %2747, %153 - %2789 = phi i32 [ %165, %153 ], [ %2787, %2781 ], [ %165, %2747 ], [ %165, %2750 ], [ %165, %2757 ], [ %165, %2767 ] - %2790 = phi i32 [ %31, %153 ], [ %31, %2781 ], [ %27, %2747 ], [ %27, %2750 ], [ %27, %2757 ], [ %27, %2767 ] - switch i32 %2790, label %6035 [ - i32 9, label %2791 - i32 17, label %2796 +2743: ; preds = %2738, %2733, %2725, %2717, %2710, %2709 + %2744 = or i32 %165, 134217728 + br label %2668 + +2745: ; preds = %153 + %2746 = load i32, ptr %4, align 4, !tbaa !31 + %2747 = icmp eq i32 %2746, 0 + br i1 %2747, label %2785, label %2748 + +2748: ; preds = %2745 + %2749 = and i32 %2746, -16773121 + %2750 = icmp ne i32 %2749, 268435809 + %2751 = getelementptr inbounds i8, ptr %4, i64 4 + %2752 = load i32, ptr %2751, align 4, !tbaa !58 + %2753 = icmp ne i32 %2752, 0 + %2754 = or i1 %2750, %2753 + br i1 %2754, label %6031, label %2785, !prof !37 + +2755: ; preds = %153 + %2756 = load i32, ptr %4, align 4, !tbaa !31 + %2757 = icmp eq i32 %2756, 0 + br i1 %2757, label %2785, label %2758 + +2758: ; preds = %2755 + %2759 = and i32 %2756, 7 + %2760 = icmp eq i32 %2759, 2 + %2761 = getelementptr inbounds i8, ptr %4, i64 4 + %2762 = load i32, ptr %2761, align 4 + %2763 = icmp eq i32 %2762, 7 + %2764 = select i1 %2760, i1 %2763, i1 false + br i1 %2764, label %2765, label %6031 + +2765: ; preds = %2758 + %2766 = getelementptr inbounds i8, ptr %4, i64 12 + %2767 = load i32, ptr %2766, align 4, !tbaa !47 + %2768 = and i32 %2756, 248 + %2769 = icmp ne i32 %2768, 0 + %2770 = icmp eq i32 %2767, 0 + %2771 = and i1 %2769, %2770 + br i1 %2771, label %2785, label %6031, !prof !89 + +2772: ; preds = %153 + %2773 = load i32, ptr %3, align 4, !tbaa !31 + %2774 = and i32 %2773, -16777216 + %2775 = icmp eq i32 %2774, 134217728 + %2776 = select i1 %2775, i32 134217728, i32 0 + %2777 = or i32 %2776, %165 + br label %2778 + +2778: ; preds = %2772, %153 + %2779 = phi i32 [ %165, %153 ], [ %2777, %2772 ] + %2780 = load i32, ptr %2, align 4, !tbaa !31 + %2781 = and i32 %2780, -16773121 + %2782 = icmp eq i32 %2781, 134217785 + %2783 = select i1 %2782, i32 134217728, i32 0 + %2784 = or i32 %2783, %2779 + br label %2785 + +2785: ; preds = %2778, %2765, %2755, %2748, %2745, %153 + %2786 = phi i32 [ %165, %153 ], [ %2784, %2778 ], [ %165, %2745 ], [ %165, %2748 ], [ %165, %2755 ], [ %165, %2765 ] + %2787 = phi i32 [ %31, %153 ], [ %31, %2778 ], [ %27, %2745 ], [ %27, %2748 ], [ %27, %2755 ], [ %27, %2765 ] + switch i32 %2787, label %6031 [ + i32 9, label %2788 + i32 17, label %2793 ] -2791: ; preds = %2788 - %2792 = getelementptr inbounds i8, ptr %2, i64 4 - %2793 = load i32, ptr %2792, align 4, !tbaa !58 - %2794 = getelementptr inbounds i8, ptr %3, i64 4 - %2795 = load i32, ptr %2794, align 4, !tbaa !58 - br label %4381 +2788: ; preds = %2785 + %2789 = getelementptr inbounds i8, ptr %2, i64 4 + %2790 = load i32, ptr %2789, align 4, !tbaa !58 + %2791 = getelementptr inbounds i8, ptr %3, i64 4 + %2792 = load i32, ptr %2791, align 4, !tbaa !58 + br label %4377 -2796: ; preds = %2788 - %2797 = getelementptr inbounds i8, ptr %2, i64 4 - %2798 = load i32, ptr %2797, align 4, !tbaa !58 - br label %4518 +2793: ; preds = %2785 + %2794 = getelementptr inbounds i8, ptr %2, i64 4 + %2795 = load i32, ptr %2794, align 4, !tbaa !58 + br label %4514 -2799: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2800 - i32 17, label %2814 +2796: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2797 + i32 17, label %2811 ] -2800: ; preds = %2799 - %2801 = load i32, ptr %2, align 4, !tbaa !31 +2797: ; preds = %2796 + %2798 = load i32, ptr %2, align 4, !tbaa !31 + %2799 = and i32 %2798, -16773121 + %2800 = icmp eq i32 %2799, 268435809 + %2801 = load i32, ptr %3, align 4, !tbaa !31 %2802 = and i32 %2801, -16773121 %2803 = icmp eq i32 %2802, 268435809 - %2804 = load i32, ptr %3, align 4, !tbaa !31 - %2805 = and i32 %2804, -16773121 - %2806 = icmp eq i32 %2805, 268435809 - %2807 = or i1 %2803, %2806 - %2808 = select i1 %2807, i32 2097152, i32 0 - %2809 = or i32 %2808, %165 - %2810 = getelementptr inbounds i8, ptr %2, i64 4 - %2811 = load i32, ptr %2810, align 4, !tbaa !58 - %2812 = getelementptr inbounds i8, ptr %3, i64 4 - %2813 = load i32, ptr %2812, align 4, !tbaa !58 - br label %4381 - -2814: ; preds = %2799 - %2815 = load i32, ptr %2, align 4, !tbaa !31 - %2816 = and i32 %2815, -16773121 - %2817 = icmp eq i32 %2816, 268435809 - %2818 = select i1 %2817, i32 2097152, i32 0 - %2819 = or i32 %2818, %165 - %2820 = getelementptr inbounds i8, ptr %2, i64 4 - %2821 = load i32, ptr %2820, align 4, !tbaa !58 - br label %4518 - -2822: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2823 - i32 17, label %2828 - i32 25, label %2831 + %2804 = or i1 %2800, %2803 + %2805 = select i1 %2804, i32 2097152, i32 0 + %2806 = or i32 %2805, %165 + %2807 = getelementptr inbounds i8, ptr %2, i64 4 + %2808 = load i32, ptr %2807, align 4, !tbaa !58 + %2809 = getelementptr inbounds i8, ptr %3, i64 4 + %2810 = load i32, ptr %2809, align 4, !tbaa !58 + br label %4377 + +2811: ; preds = %2796 + %2812 = load i32, ptr %2, align 4, !tbaa !31 + %2813 = and i32 %2812, -16773121 + %2814 = icmp eq i32 %2813, 268435809 + %2815 = select i1 %2814, i32 2097152, i32 0 + %2816 = or i32 %2815, %165 + %2817 = getelementptr inbounds i8, ptr %2, i64 4 + %2818 = load i32, ptr %2817, align 4, !tbaa !58 + br label %4514 + +2819: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2820 + i32 17, label %2825 + i32 25, label %2828 ] -2823: ; preds = %2822 - %2824 = getelementptr inbounds i8, ptr %2, i64 4 - %2825 = load i32, ptr %2824, align 4, !tbaa !58 - %2826 = getelementptr inbounds i8, ptr %3, i64 4 +2820: ; preds = %2819 + %2821 = getelementptr inbounds i8, ptr %2, i64 4 + %2822 = load i32, ptr %2821, align 4, !tbaa !58 + %2823 = getelementptr inbounds i8, ptr %3, i64 4 + %2824 = load i32, ptr %2823, align 4, !tbaa !58 + br label %4377 + +2825: ; preds = %2819 + %2826 = getelementptr inbounds i8, ptr %2, i64 4 %2827 = load i32, ptr %2826, align 4, !tbaa !58 - br label %4381 - -2828: ; preds = %2822 - %2829 = getelementptr inbounds i8, ptr %2, i64 4 - %2830 = load i32, ptr %2829, align 4, !tbaa !58 - br label %4518 - -2831: ; preds = %2822 - %2832 = getelementptr inbounds i8, ptr %16, i64 7 - %2833 = load i8, ptr %2832, align 1, !tbaa !61 - %2834 = zext i8 %2833 to i64 - %2835 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2834 - %2836 = load i32, ptr %2835, align 4, !tbaa !47 - %2837 = lshr i32 %2836, 18 - %2838 = and i32 %2837, 7 - %2839 = getelementptr inbounds i8, ptr %3, i64 8 - %2840 = load i64, ptr %2839, align 4 - %2841 = getelementptr inbounds i8, ptr %2, i64 4 - %2842 = load i32, ptr %2841, align 4, !tbaa !58 - br label %4381 - -2843: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2844 - i32 17, label %2858 - i32 25, label %2866 + br label %4514 + +2828: ; preds = %2819 + %2829 = getelementptr inbounds i8, ptr %16, i64 7 + %2830 = load i8, ptr %2829, align 1, !tbaa !61 + %2831 = zext i8 %2830 to i64 + %2832 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2831 + %2833 = load i32, ptr %2832, align 4, !tbaa !47 + %2834 = lshr i32 %2833, 18 + %2835 = and i32 %2834, 7 + %2836 = getelementptr inbounds i8, ptr %3, i64 8 + %2837 = load i64, ptr %2836, align 4 + %2838 = getelementptr inbounds i8, ptr %2, i64 4 + %2839 = load i32, ptr %2838, align 4, !tbaa !58 + br label %4377 + +2840: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2841 + i32 17, label %2855 + i32 25, label %2863 ] -2844: ; preds = %2843 - %2845 = load i32, ptr %2, align 4, !tbaa !31 +2841: ; preds = %2840 + %2842 = load i32, ptr %2, align 4, !tbaa !31 + %2843 = and i32 %2842, -16773121 + %2844 = icmp eq i32 %2843, 268435809 + %2845 = load i32, ptr %3, align 4, !tbaa !31 %2846 = and i32 %2845, -16773121 %2847 = icmp eq i32 %2846, 268435809 - %2848 = load i32, ptr %3, align 4, !tbaa !31 - %2849 = and i32 %2848, -16773121 - %2850 = icmp eq i32 %2849, 268435809 - %2851 = or i1 %2847, %2850 - %2852 = select i1 %2851, i32 2097152, i32 0 - %2853 = or i32 %2852, %165 - %2854 = getelementptr inbounds i8, ptr %2, i64 4 - %2855 = load i32, ptr %2854, align 4, !tbaa !58 - %2856 = getelementptr inbounds i8, ptr %3, i64 4 - %2857 = load i32, ptr %2856, align 4, !tbaa !58 - br label %4381 - -2858: ; preds = %2843 - %2859 = load i32, ptr %2, align 4, !tbaa !31 - %2860 = and i32 %2859, -16773121 - %2861 = icmp eq i32 %2860, 268435809 - %2862 = select i1 %2861, i32 2097152, i32 0 - %2863 = or i32 %2862, %165 - %2864 = getelementptr inbounds i8, ptr %2, i64 4 - %2865 = load i32, ptr %2864, align 4, !tbaa !58 - br label %4518 - -2866: ; preds = %2843 - %2867 = getelementptr inbounds i8, ptr %16, i64 7 - %2868 = load i8, ptr %2867, align 1, !tbaa !61 - %2869 = zext i8 %2868 to i64 - %2870 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2869 - %2871 = load i32, ptr %2870, align 4, !tbaa !47 - %2872 = lshr i32 %2871, 18 - %2873 = and i32 %2872, 7 - %2874 = load i32, ptr %2, align 4, !tbaa !31 - %2875 = and i32 %2874, -16773121 - %2876 = icmp eq i32 %2875, 268435809 - %2877 = select i1 %2876, i32 2097152, i32 0 - %2878 = or i32 %2877, %2871 - %2879 = getelementptr inbounds i8, ptr %3, i64 8 - %2880 = load i64, ptr %2879, align 4 - %2881 = getelementptr inbounds i8, ptr %2, i64 4 - %2882 = load i32, ptr %2881, align 4, !tbaa !58 - br label %4381 - -2883: ; preds = %153 - %2884 = getelementptr inbounds i8, ptr %4, i64 8 - %2885 = load i64, ptr %2884, align 4 - switch i32 %31, label %6035 [ - i32 201, label %2886 - i32 209, label %2891 + %2848 = or i1 %2844, %2847 + %2849 = select i1 %2848, i32 2097152, i32 0 + %2850 = or i32 %2849, %165 + %2851 = getelementptr inbounds i8, ptr %2, i64 4 + %2852 = load i32, ptr %2851, align 4, !tbaa !58 + %2853 = getelementptr inbounds i8, ptr %3, i64 4 + %2854 = load i32, ptr %2853, align 4, !tbaa !58 + br label %4377 + +2855: ; preds = %2840 + %2856 = load i32, ptr %2, align 4, !tbaa !31 + %2857 = and i32 %2856, -16773121 + %2858 = icmp eq i32 %2857, 268435809 + %2859 = select i1 %2858, i32 2097152, i32 0 + %2860 = or i32 %2859, %165 + %2861 = getelementptr inbounds i8, ptr %2, i64 4 + %2862 = load i32, ptr %2861, align 4, !tbaa !58 + br label %4514 + +2863: ; preds = %2840 + %2864 = getelementptr inbounds i8, ptr %16, i64 7 + %2865 = load i8, ptr %2864, align 1, !tbaa !61 + %2866 = zext i8 %2865 to i64 + %2867 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2866 + %2868 = load i32, ptr %2867, align 4, !tbaa !47 + %2869 = lshr i32 %2868, 18 + %2870 = and i32 %2869, 7 + %2871 = load i32, ptr %2, align 4, !tbaa !31 + %2872 = and i32 %2871, -16773121 + %2873 = icmp eq i32 %2872, 268435809 + %2874 = select i1 %2873, i32 2097152, i32 0 + %2875 = or i32 %2874, %2868 + %2876 = getelementptr inbounds i8, ptr %3, i64 8 + %2877 = load i64, ptr %2876, align 4 + %2878 = getelementptr inbounds i8, ptr %2, i64 4 + %2879 = load i32, ptr %2878, align 4, !tbaa !58 + br label %4377 + +2880: ; preds = %153 + %2881 = getelementptr inbounds i8, ptr %4, i64 8 + %2882 = load i64, ptr %2881, align 4 + switch i32 %31, label %6031 [ + i32 201, label %2883 + i32 209, label %2888 ] -2886: ; preds = %2883 - %2887 = getelementptr inbounds i8, ptr %2, i64 4 - %2888 = load i32, ptr %2887, align 4, !tbaa !58 - %2889 = getelementptr inbounds i8, ptr %3, i64 4 +2883: ; preds = %2880 + %2884 = getelementptr inbounds i8, ptr %2, i64 4 + %2885 = load i32, ptr %2884, align 4, !tbaa !58 + %2886 = getelementptr inbounds i8, ptr %3, i64 4 + %2887 = load i32, ptr %2886, align 4, !tbaa !58 + br label %4377 + +2888: ; preds = %2880 + %2889 = getelementptr inbounds i8, ptr %2, i64 4 %2890 = load i32, ptr %2889, align 4, !tbaa !58 - br label %4381 - -2891: ; preds = %2883 - %2892 = getelementptr inbounds i8, ptr %2, i64 4 - %2893 = load i32, ptr %2892, align 4, !tbaa !58 - br label %4518 - -2894: ; preds = %153 - %2895 = getelementptr inbounds i8, ptr %4, i64 8 - %2896 = load i64, ptr %2895, align 4 - switch i32 %31, label %6035 [ - i32 201, label %2897 - i32 209, label %2911 + br label %4514 + +2891: ; preds = %153 + %2892 = getelementptr inbounds i8, ptr %4, i64 8 + %2893 = load i64, ptr %2892, align 4 + switch i32 %31, label %6031 [ + i32 201, label %2894 + i32 209, label %2908 ] -2897: ; preds = %2894 - %2898 = load i32, ptr %2, align 4, !tbaa !31 +2894: ; preds = %2891 + %2895 = load i32, ptr %2, align 4, !tbaa !31 + %2896 = and i32 %2895, -16773121 + %2897 = icmp eq i32 %2896, 268435809 + %2898 = load i32, ptr %3, align 4, !tbaa !31 %2899 = and i32 %2898, -16773121 %2900 = icmp eq i32 %2899, 268435809 - %2901 = load i32, ptr %3, align 4, !tbaa !31 - %2902 = and i32 %2901, -16773121 - %2903 = icmp eq i32 %2902, 268435809 - %2904 = or i1 %2900, %2903 - %2905 = select i1 %2904, i32 2097152, i32 0 - %2906 = or i32 %2905, %165 - %2907 = getelementptr inbounds i8, ptr %2, i64 4 - %2908 = load i32, ptr %2907, align 4, !tbaa !58 - %2909 = getelementptr inbounds i8, ptr %3, i64 4 - %2910 = load i32, ptr %2909, align 4, !tbaa !58 - br label %4381 - -2911: ; preds = %2894 - %2912 = load i32, ptr %2, align 4, !tbaa !31 - %2913 = and i32 %2912, -16773121 - %2914 = icmp eq i32 %2913, 268435809 - %2915 = select i1 %2914, i32 2097152, i32 0 - %2916 = or i32 %2915, %165 + %2901 = or i1 %2897, %2900 + %2902 = select i1 %2901, i32 2097152, i32 0 + %2903 = or i32 %2902, %165 + %2904 = getelementptr inbounds i8, ptr %2, i64 4 + %2905 = load i32, ptr %2904, align 4, !tbaa !58 + %2906 = getelementptr inbounds i8, ptr %3, i64 4 + %2907 = load i32, ptr %2906, align 4, !tbaa !58 + br label %4377 + +2908: ; preds = %2891 + %2909 = load i32, ptr %2, align 4, !tbaa !31 + %2910 = and i32 %2909, -16773121 + %2911 = icmp eq i32 %2910, 268435809 + %2912 = select i1 %2911, i32 2097152, i32 0 + %2913 = or i32 %2912, %165 + %2914 = getelementptr inbounds i8, ptr %2, i64 4 + %2915 = load i32, ptr %2914, align 4, !tbaa !58 + br label %4514 + +2916: ; preds = %153 %2917 = getelementptr inbounds i8, ptr %2, i64 4 %2918 = load i32, ptr %2917, align 4, !tbaa !58 - br label %4518 - -2919: ; preds = %153 - %2920 = getelementptr inbounds i8, ptr %2, i64 4 - %2921 = load i32, ptr %2920, align 4, !tbaa !58 - %2922 = getelementptr inbounds i8, ptr %3, i64 4 - %2923 = load i32, ptr %2922, align 4, !tbaa !58 - switch i32 %31, label %6035 [ - i32 9, label %4381 - i32 217, label %2924 + %2919 = getelementptr inbounds i8, ptr %3, i64 4 + %2920 = load i32, ptr %2919, align 4, !tbaa !58 + switch i32 %31, label %6031 [ + i32 9, label %4377 + i32 217, label %2921 ] -2924: ; preds = %2919 - %2925 = getelementptr inbounds i8, ptr %16, i64 7 - %2926 = load i8, ptr %2925, align 1, !tbaa !61 - %2927 = zext i8 %2926 to i64 - %2928 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2927 - %2929 = load i32, ptr %2928, align 4, !tbaa !47 - %2930 = lshr i32 %2929, 18 - %2931 = and i32 %2930, 7 - %2932 = getelementptr inbounds i8, ptr %3, i64 8 +2921: ; preds = %2916 + %2922 = getelementptr inbounds i8, ptr %16, i64 7 + %2923 = load i8, ptr %2922, align 1, !tbaa !61 + %2924 = zext i8 %2923 to i64 + %2925 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2924 + %2926 = load i32, ptr %2925, align 4, !tbaa !47 + %2927 = lshr i32 %2926, 18 + %2928 = and i32 %2927, 7 + %2929 = getelementptr inbounds i8, ptr %3, i64 8 + %2930 = load i64, ptr %2929, align 4 + %2931 = and i64 %2930, 255 + %2932 = getelementptr inbounds i8, ptr %4, i64 8 %2933 = load i64, ptr %2932, align 4 - %2934 = and i64 %2933, 255 - %2935 = getelementptr inbounds i8, ptr %4, i64 8 - %2936 = load i64, ptr %2935, align 4 - %2937 = shl i64 %2936, 8 - %2938 = and i64 %2937, 65280 - %2939 = or disjoint i64 %2938, %2934 - br label %4381 - -2940: ; preds = %153 - %2941 = load i32, ptr %5, align 4, !tbaa !31 - %2942 = shl i32 %2941, 9 - %2943 = and i32 %2942, 3584 - %2944 = or disjoint i32 %2943, %31 - %2945 = getelementptr inbounds i8, ptr %2, i64 4 - %2946 = load i32, ptr %2945, align 4, !tbaa !58 - %2947 = getelementptr inbounds i8, ptr %3, i64 4 - %2948 = load i32, ptr %2947, align 4, !tbaa !58 - switch i32 %2944, label %6035 [ - i32 9, label %4381 - i32 1737, label %2949 + %2934 = shl i64 %2933, 8 + %2935 = and i64 %2934, 65280 + %2936 = or disjoint i64 %2935, %2931 + br label %4377 + +2937: ; preds = %153 + %2938 = load i32, ptr %5, align 4, !tbaa !31 + %2939 = shl i32 %2938, 9 + %2940 = and i32 %2939, 3584 + %2941 = or disjoint i32 %2940, %31 + %2942 = getelementptr inbounds i8, ptr %2, i64 4 + %2943 = load i32, ptr %2942, align 4, !tbaa !58 + %2944 = getelementptr inbounds i8, ptr %3, i64 4 + %2945 = load i32, ptr %2944, align 4, !tbaa !58 + switch i32 %2941, label %6031 [ + i32 9, label %4377 + i32 1737, label %2946 ] -2949: ; preds = %2940 - %2950 = getelementptr inbounds i8, ptr %16, i64 7 - %2951 = load i8, ptr %2950, align 1, !tbaa !61 - %2952 = zext i8 %2951 to i64 - %2953 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2952 - %2954 = load i32, ptr %2953, align 4, !tbaa !47 - %2955 = getelementptr inbounds i8, ptr %4, i64 8 +2946: ; preds = %2937 + %2947 = getelementptr inbounds i8, ptr %16, i64 7 + %2948 = load i8, ptr %2947, align 1, !tbaa !61 + %2949 = zext i8 %2948 to i64 + %2950 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2949 + %2951 = load i32, ptr %2950, align 4, !tbaa !47 + %2952 = getelementptr inbounds i8, ptr %4, i64 8 + %2953 = load i64, ptr %2952, align 4 + %2954 = and i64 %2953, 255 + %2955 = getelementptr inbounds i8, ptr %5, i64 8 %2956 = load i64, ptr %2955, align 4 - %2957 = and i64 %2956, 255 - %2958 = getelementptr inbounds i8, ptr %5, i64 8 - %2959 = load i64, ptr %2958, align 4 - %2960 = shl i64 %2959, 8 - %2961 = and i64 %2960, 65280 - %2962 = or disjoint i64 %2961, %2957 - br label %4381 - -2963: ; preds = %153 - %2964 = and i32 %165, 255 - %2965 = zext nneg i32 %2964 to i64 - %2966 = getelementptr inbounds i8, ptr %2, i64 4 - %2967 = load i32, ptr %2966, align 4, !tbaa !58 - switch i32 %31, label %6035 [ - i32 9, label %2968 - i32 17, label %4518 + %2957 = shl i64 %2956, 8 + %2958 = and i64 %2957, 65280 + %2959 = or disjoint i64 %2958, %2954 + br label %4377 + +2960: ; preds = %153 + %2961 = and i32 %165, 255 + %2962 = zext nneg i32 %2961 to i64 + %2963 = getelementptr inbounds i8, ptr %2, i64 4 + %2964 = load i32, ptr %2963, align 4, !tbaa !58 + switch i32 %31, label %6031 [ + i32 9, label %2965 + i32 17, label %4514 ] -2968: ; preds = %2963 - %2969 = getelementptr inbounds i8, ptr %3, i64 4 - %2970 = load i32, ptr %2969, align 4, !tbaa !58 - br label %4381 +2965: ; preds = %2960 + %2966 = getelementptr inbounds i8, ptr %3, i64 4 + %2967 = load i32, ptr %2966, align 4, !tbaa !58 + br label %4377 -2971: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %2972 - i32 17, label %3002 - i32 10, label %3005 +2968: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %2969 + i32 17, label %2999 + i32 10, label %3002 ] -2972: ; preds = %2971 - %2973 = getelementptr inbounds i8, ptr %2, i64 4 - %2974 = load i32, ptr %2973, align 4, !tbaa !58 - %2975 = getelementptr inbounds i8, ptr %3, i64 4 - %2976 = load i32, ptr %2975, align 4, !tbaa !58 - %2977 = load i32, ptr %3, align 4, !tbaa !47 - %2978 = and i32 %2977, 3847 - %2979 = icmp eq i32 %2978, 1 - br i1 %2979, label %2980, label %2986 - -2980: ; preds = %2972 - %2981 = getelementptr inbounds i8, ptr %16, i64 7 - %2982 = load i8, ptr %2981, align 1, !tbaa !61 - %2983 = zext i8 %2982 to i64 - %2984 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2983 - %2985 = load i32, ptr %2984, align 4, !tbaa !47 - br label %5358 - -2986: ; preds = %2972 - %2987 = load i32, ptr %2, align 4, !tbaa !47 - %2988 = and i32 %2987, 3847 - %2989 = icmp eq i32 %2988, 1 - br i1 %2989, label %2990, label %2997 - -2990: ; preds = %2986 - %2991 = getelementptr inbounds i8, ptr %16, i64 7 - %2992 = load i8, ptr %2991, align 1, !tbaa !61 - %2993 = zext i8 %2992 to i64 - %2994 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2993 - %2995 = load i32, ptr %2994, align 4, !tbaa !47 - %2996 = add i32 %2995, 1 - br label %5358 - -2997: ; preds = %2986 - %2998 = and i32 %45, 256 - %2999 = icmp eq i32 %2998, 0 - br i1 %2999, label %5358, label %3000 - -3000: ; preds = %2997 - %3001 = add i32 %165, 1 - br label %5358 - -3002: ; preds = %2971 - %3003 = getelementptr inbounds i8, ptr %2, i64 4 - %3004 = load i32, ptr %3003, align 4, !tbaa !58 - br label %5532 - -3005: ; preds = %2971 - %3006 = add i32 %165, 1 - %3007 = getelementptr inbounds i8, ptr %3, i64 4 - %3008 = load i32, ptr %3007, align 4, !tbaa !58 - br label %5532 - -3009: ; preds = %153 - %3010 = icmp eq i32 %31, 1 - br i1 %3010, label %3011, label %6035 - -3011: ; preds = %3009 - %3012 = getelementptr inbounds i8, ptr %2, i64 4 - %3013 = load i32, ptr %3012, align 4, !tbaa !58 - %3014 = load i32, ptr %2, align 4, !tbaa !31 - %3015 = and i32 %3014, -16773121 - %3016 = icmp eq i32 %3015, 134217785 - %3017 = select i1 %3016, i32 134217728, i32 0 - %3018 = or i32 %3017, %165 - br label %5358 - -3019: ; preds = %153 - %3020 = icmp eq i32 %31, 2 - br i1 %3020, label %5532, label %6035 - -3021: ; preds = %153 - %3022 = icmp eq i32 %31, 2 - br i1 %3022, label %5532, label %6035 - -3023: ; preds = %153 - %3024 = load i32, ptr %2, align 4, !tbaa !31 - %3025 = load i32, ptr %3, align 4, !tbaa !31 - %3026 = or i32 %3025, %3024 - %3027 = lshr i32 %3026, 28 - %3028 = zext nneg i32 %3027 to i64 - %3029 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3028 - %3030 = load i32, ptr %3029, align 4, !tbaa !47 - %3031 = or i32 %3030, %165 - switch i32 %31, label %6035 [ - i32 9, label %3032 - i32 10, label %3037 +2969: ; preds = %2968 + %2970 = getelementptr inbounds i8, ptr %2, i64 4 + %2971 = load i32, ptr %2970, align 4, !tbaa !58 + %2972 = getelementptr inbounds i8, ptr %3, i64 4 + %2973 = load i32, ptr %2972, align 4, !tbaa !58 + %2974 = load i32, ptr %3, align 4, !tbaa !47 + %2975 = and i32 %2974, 3847 + %2976 = icmp eq i32 %2975, 1 + br i1 %2976, label %2977, label %2983 + +2977: ; preds = %2969 + %2978 = getelementptr inbounds i8, ptr %16, i64 7 + %2979 = load i8, ptr %2978, align 1, !tbaa !61 + %2980 = zext i8 %2979 to i64 + %2981 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2980 + %2982 = load i32, ptr %2981, align 4, !tbaa !47 + br label %5354 + +2983: ; preds = %2969 + %2984 = load i32, ptr %2, align 4, !tbaa !47 + %2985 = and i32 %2984, 3847 + %2986 = icmp eq i32 %2985, 1 + br i1 %2986, label %2987, label %2994 + +2987: ; preds = %2983 + %2988 = getelementptr inbounds i8, ptr %16, i64 7 + %2989 = load i8, ptr %2988, align 1, !tbaa !61 + %2990 = zext i8 %2989 to i64 + %2991 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %2990 + %2992 = load i32, ptr %2991, align 4, !tbaa !47 + %2993 = add i32 %2992, 1 + br label %5354 + +2994: ; preds = %2983 + %2995 = and i32 %45, 256 + %2996 = icmp eq i32 %2995, 0 + br i1 %2996, label %5354, label %2997 + +2997: ; preds = %2994 + %2998 = add i32 %165, 1 + br label %5354 + +2999: ; preds = %2968 + %3000 = getelementptr inbounds i8, ptr %2, i64 4 + %3001 = load i32, ptr %3000, align 4, !tbaa !58 + br label %5528 + +3002: ; preds = %2968 + %3003 = add i32 %165, 1 + %3004 = getelementptr inbounds i8, ptr %3, i64 4 + %3005 = load i32, ptr %3004, align 4, !tbaa !58 + br label %5528 + +3006: ; preds = %153 + %3007 = icmp eq i32 %31, 1 + br i1 %3007, label %3008, label %6031 + +3008: ; preds = %3006 + %3009 = getelementptr inbounds i8, ptr %2, i64 4 + %3010 = load i32, ptr %3009, align 4, !tbaa !58 + %3011 = load i32, ptr %2, align 4, !tbaa !31 + %3012 = and i32 %3011, -16773121 + %3013 = icmp eq i32 %3012, 134217785 + %3014 = select i1 %3013, i32 134217728, i32 0 + %3015 = or i32 %3014, %165 + br label %5354 + +3016: ; preds = %153 + %3017 = icmp eq i32 %31, 2 + br i1 %3017, label %5528, label %6031 + +3018: ; preds = %153 + %3019 = icmp eq i32 %31, 2 + br i1 %3019, label %5528, label %6031 + +3020: ; preds = %153 + %3021 = load i32, ptr %2, align 4, !tbaa !31 + %3022 = load i32, ptr %3, align 4, !tbaa !31 + %3023 = or i32 %3022, %3021 + %3024 = lshr i32 %3023, 28 + %3025 = zext nneg i32 %3024 to i64 + %3026 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3025 + %3027 = load i32, ptr %3026, align 4, !tbaa !47 + %3028 = or i32 %3027, %165 + switch i32 %31, label %6031 [ + i32 9, label %3029 + i32 10, label %3034 ] -3032: ; preds = %3023 - %3033 = getelementptr inbounds i8, ptr %3, i64 4 - %3034 = load i32, ptr %3033, align 4, !tbaa !58 - %3035 = getelementptr inbounds i8, ptr %2, i64 4 +3029: ; preds = %3020 + %3030 = getelementptr inbounds i8, ptr %3, i64 4 + %3031 = load i32, ptr %3030, align 4, !tbaa !58 + %3032 = getelementptr inbounds i8, ptr %2, i64 4 + %3033 = load i32, ptr %3032, align 4, !tbaa !58 + br label %5354 + +3034: ; preds = %3020 + %3035 = getelementptr inbounds i8, ptr %3, i64 4 %3036 = load i32, ptr %3035, align 4, !tbaa !58 - br label %5358 - -3037: ; preds = %3023 - %3038 = getelementptr inbounds i8, ptr %3, i64 4 - %3039 = load i32, ptr %3038, align 4, !tbaa !58 - br label %5532 - -3040: ; preds = %153 - %3041 = icmp eq i32 %31, 10 - br i1 %3041, label %3042, label %6035 - -3042: ; preds = %3040 - %3043 = load i32, ptr %2, align 4, !tbaa !31 - %3044 = lshr i32 %3043, 8 - %3045 = and i32 %3044, 31 - %3046 = zext nneg i32 %3045 to i64 - %3047 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3046 - %3048 = load i32, ptr %3047, align 4, !tbaa !47 - %3049 = load i32, ptr %3, align 4, !tbaa !31 - %3050 = lshr i32 %3049, 28 - %3051 = zext nneg i32 %3050 to i64 - %3052 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3051 - %3053 = load i32, ptr %3052, align 4, !tbaa !47 - %3054 = call noundef i32 @llvm.umax.i32(i32 %3048, i32 %3053) - %3055 = or i32 %3054, %165 - %3056 = getelementptr inbounds i8, ptr %3, i64 4 - %3057 = load i32, ptr %3056, align 4, !tbaa !58 - br label %5532 - -3058: ; preds = %153 - %3059 = icmp eq i32 %31, 201 - br i1 %3059, label %3060, label %3076 - -3060: ; preds = %3058 - %3061 = getelementptr inbounds i8, ptr %2, i64 4 - %3062 = load i32, ptr %3061, align 4, !tbaa !58 - %3063 = getelementptr inbounds i8, ptr %3, i64 4 - %3064 = load i32, ptr %3063, align 4, !tbaa !58 - %3065 = getelementptr inbounds i8, ptr %4, i64 8 - %3066 = load i64, ptr %3065, align 4 - br label %5358 - -3067: ; preds = %153 - %3068 = load i32, ptr %2, align 4, !tbaa !31 - %3069 = load i32, ptr %3, align 4, !tbaa !31 - %3070 = or i32 %3069, %3068 - %3071 = lshr i32 %3070, 28 - %3072 = zext nneg i32 %3071 to i64 - %3073 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3072 - %3074 = load i32, ptr %3073, align 4, !tbaa !47 - %3075 = or i32 %3074, %165 - br label %3076 - -3076: ; preds = %3067, %3058, %153 - %3077 = phi i32 [ %165, %153 ], [ %3075, %3067 ], [ %165, %3058 ] - %3078 = getelementptr inbounds i8, ptr %4, i64 8 - %3079 = load i64, ptr %3078, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3080 - i32 202, label %3085 + br label %5528 + +3037: ; preds = %153 + %3038 = icmp eq i32 %31, 10 + br i1 %3038, label %3039, label %6031 + +3039: ; preds = %3037 + %3040 = load i32, ptr %2, align 4, !tbaa !31 + %3041 = lshr i32 %3040, 8 + %3042 = and i32 %3041, 31 + %3043 = zext nneg i32 %3042 to i64 + %3044 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3043 + %3045 = load i32, ptr %3044, align 4, !tbaa !47 + %3046 = load i32, ptr %3, align 4, !tbaa !31 + %3047 = lshr i32 %3046, 28 + %3048 = zext nneg i32 %3047 to i64 + %3049 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3048 + %3050 = load i32, ptr %3049, align 4, !tbaa !47 + %3051 = call noundef i32 @llvm.umax.i32(i32 %3045, i32 %3050) + %3052 = or i32 %3051, %165 + %3053 = getelementptr inbounds i8, ptr %3, i64 4 + %3054 = load i32, ptr %3053, align 4, !tbaa !58 + br label %5528 + +3055: ; preds = %153 + %3056 = icmp eq i32 %31, 201 + br i1 %3056, label %3057, label %3073 + +3057: ; preds = %3055 + %3058 = getelementptr inbounds i8, ptr %2, i64 4 + %3059 = load i32, ptr %3058, align 4, !tbaa !58 + %3060 = getelementptr inbounds i8, ptr %3, i64 4 + %3061 = load i32, ptr %3060, align 4, !tbaa !58 + %3062 = getelementptr inbounds i8, ptr %4, i64 8 + %3063 = load i64, ptr %3062, align 4 + br label %5354 + +3064: ; preds = %153 + %3065 = load i32, ptr %2, align 4, !tbaa !31 + %3066 = load i32, ptr %3, align 4, !tbaa !31 + %3067 = or i32 %3066, %3065 + %3068 = lshr i32 %3067, 28 + %3069 = zext nneg i32 %3068 to i64 + %3070 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3069 + %3071 = load i32, ptr %3070, align 4, !tbaa !47 + %3072 = or i32 %3071, %165 + br label %3073 + +3073: ; preds = %3064, %3055, %153 + %3074 = phi i32 [ %165, %153 ], [ %3072, %3064 ], [ %165, %3055 ] + %3075 = getelementptr inbounds i8, ptr %4, i64 8 + %3076 = load i64, ptr %3075, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3077 + i32 202, label %3082 ] -3080: ; preds = %3076 - %3081 = getelementptr inbounds i8, ptr %3, i64 4 - %3082 = load i32, ptr %3081, align 4, !tbaa !58 - %3083 = getelementptr inbounds i8, ptr %2, i64 4 +3077: ; preds = %3073 + %3078 = getelementptr inbounds i8, ptr %3, i64 4 + %3079 = load i32, ptr %3078, align 4, !tbaa !58 + %3080 = getelementptr inbounds i8, ptr %2, i64 4 + %3081 = load i32, ptr %3080, align 4, !tbaa !58 + br label %5354 + +3082: ; preds = %3073 + %3083 = getelementptr inbounds i8, ptr %3, i64 4 %3084 = load i32, ptr %3083, align 4, !tbaa !58 - br label %5358 - -3085: ; preds = %3076 - %3086 = getelementptr inbounds i8, ptr %3, i64 4 - %3087 = load i32, ptr %3086, align 4, !tbaa !58 - br label %5532 - -3088: ; preds = %153 - %3089 = load i32, ptr %4, align 4, !tbaa !31 - %3090 = icmp eq i32 %3089, 0 - br i1 %3090, label %3162, label %3091 - -3091: ; preds = %3088 - %3092 = and i32 %3089, 7 - %3093 = icmp eq i32 %3092, 2 - %3094 = getelementptr inbounds i8, ptr %4, i64 4 - %3095 = load i32, ptr %3094, align 4 - %3096 = icmp eq i32 %3095, 7 - %3097 = select i1 %3093, i1 %3096, i1 false - br i1 %3097, label %3098, label %6035 - -3098: ; preds = %3091 - %3099 = getelementptr inbounds i8, ptr %4, i64 12 - %3100 = load i32, ptr %3099, align 4, !tbaa !47 - %3101 = and i32 %3089, 248 - %3102 = icmp eq i32 %3101, 0 - %3103 = select i1 %3102, i32 7, i32 0 - %3104 = or i32 %3100, %3103 - %3105 = icmp eq i32 %3104, 0 - br i1 %3105, label %3162, label %6035, !prof !89 - -3106: ; preds = %153 - %3107 = load i32, ptr %2, align 4, !tbaa !31 - %3108 = and i32 %3107, -16773121 - %3109 = icmp eq i32 %3108, 134217785 - %3110 = load i32, ptr %3, align 4, !tbaa !31 - %3111 = and i32 %3110, -16773121 - %3112 = icmp eq i32 %3111, 134217785 - %3113 = or i1 %3109, %3112 - %3114 = select i1 %3113, i32 134217728, i32 0 - %3115 = or i32 %3114, %165 - br label %3162 - -3116: ; preds = %153 - %3117 = load i32, ptr %3, align 4, !tbaa !31 - %3118 = icmp ult i32 %3117, 16777216 - br i1 %3118, label %3125, label %3119 - -3119: ; preds = %3116 - %3120 = lshr i32 %3117, 28 - %3121 = zext nneg i32 %3120 to i64 - %3122 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3121 - %3123 = load i32, ptr %3122, align 4, !tbaa !47 - %3124 = or i32 %3123, %165 - br label %3162 - -3125: ; preds = %3116 - %3126 = load i32, ptr %2, align 4, !tbaa !31 - %3127 = and i32 %3126, -16777216 - %3128 = icmp eq i32 %3127, 536870912 - %3129 = or i32 %165, 1073741824 - %3130 = select i1 %3128, i32 %3129, i32 %165 - br label %3162 - -3131: ; preds = %153 - %3132 = icmp eq i32 %31, 9 - %3133 = load i32, ptr %3, align 4, !tbaa !47 - %3134 = and i32 %3133, 3847 - %3135 = icmp eq i32 %3134, 1 - %3136 = select i1 %3132, i1 %3135, i1 false + br label %5528 + +3085: ; preds = %153 + %3086 = load i32, ptr %4, align 4, !tbaa !31 + %3087 = icmp eq i32 %3086, 0 + br i1 %3087, label %3158, label %3088 + +3088: ; preds = %3085 + %3089 = and i32 %3086, 7 + %3090 = icmp eq i32 %3089, 2 + %3091 = getelementptr inbounds i8, ptr %4, i64 4 + %3092 = load i32, ptr %3091, align 4 + %3093 = icmp eq i32 %3092, 7 + %3094 = select i1 %3090, i1 %3093, i1 false + br i1 %3094, label %3095, label %6031 + +3095: ; preds = %3088 + %3096 = getelementptr inbounds i8, ptr %4, i64 12 + %3097 = load i32, ptr %3096, align 4, !tbaa !47 + %3098 = and i32 %3086, 248 + %3099 = icmp ne i32 %3098, 0 + %3100 = icmp eq i32 %3097, 0 + %3101 = and i1 %3099, %3100 + br i1 %3101, label %3158, label %6031, !prof !89 + +3102: ; preds = %153 + %3103 = load i32, ptr %2, align 4, !tbaa !31 + %3104 = and i32 %3103, -16773121 + %3105 = icmp eq i32 %3104, 134217785 + %3106 = load i32, ptr %3, align 4, !tbaa !31 + %3107 = and i32 %3106, -16773121 + %3108 = icmp eq i32 %3107, 134217785 + %3109 = or i1 %3105, %3108 + %3110 = select i1 %3109, i32 134217728, i32 0 + %3111 = or i32 %3110, %165 + br label %3158 + +3112: ; preds = %153 + %3113 = load i32, ptr %3, align 4, !tbaa !31 + %3114 = icmp ult i32 %3113, 16777216 + br i1 %3114, label %3121, label %3115 + +3115: ; preds = %3112 + %3116 = lshr i32 %3113, 28 + %3117 = zext nneg i32 %3116 to i64 + %3118 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3117 + %3119 = load i32, ptr %3118, align 4, !tbaa !47 + %3120 = or i32 %3119, %165 + br label %3158 + +3121: ; preds = %3112 + %3122 = load i32, ptr %2, align 4, !tbaa !31 + %3123 = and i32 %3122, -16777216 + %3124 = icmp eq i32 %3123, 536870912 + %3125 = or i32 %165, 1073741824 + %3126 = select i1 %3124, i32 %3125, i32 %165 + br label %3158 + +3127: ; preds = %153 + %3128 = icmp eq i32 %31, 9 + %3129 = load i32, ptr %3, align 4, !tbaa !47 + %3130 = and i32 %3129, 3847 + %3131 = icmp eq i32 %3130, 1 + %3132 = select i1 %3128, i1 %3131, i1 false %.pre145 = load i32, ptr %2, align 4, !tbaa !31 - br i1 %3136, label %3137, label %3153 - -3137: ; preds = %3131 - %3138 = getelementptr inbounds i8, ptr %16, i64 7 - %3139 = load i8, ptr %3138, align 1, !tbaa !61 - %3140 = zext i8 %3139 to i64 - %3141 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3140 - %3142 = load i32, ptr %3141, align 4, !tbaa !47 - %3143 = or i32 %.pre145, %3133 - %3144 = lshr i32 %3143, 28 - %3145 = zext nneg i32 %3144 to i64 - %3146 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3145 - %3147 = load i32, ptr %3146, align 4, !tbaa !47 - %3148 = or i32 %3147, %3142 - %3149 = getelementptr inbounds i8, ptr %2, i64 4 - %3150 = load i32, ptr %3149, align 4, !tbaa !58 - %3151 = getelementptr inbounds i8, ptr %3, i64 4 - %3152 = load i32, ptr %3151, align 4, !tbaa !58 - br label %5358 - -3153: ; preds = %3131, %168 - %3154 = phi i32 [ %.pre, %168 ], [ %.pre145, %3131 ] - %3155 = phi i32 [ %169, %168 ], [ %3133, %3131 ] - %3156 = or i32 %3154, %3155 - %3157 = lshr i32 %3156, 28 - %3158 = zext nneg i32 %3157 to i64 - %3159 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3158 - %3160 = load i32, ptr %3159, align 4, !tbaa !47 - %3161 = or i32 %3160, %165 - br label %3162 - -3162: ; preds = %3153, %3125, %3119, %3106, %3098, %3088, %153 - %3163 = phi i32 [ %165, %153 ], [ %3161, %3153 ], [ %3124, %3119 ], [ %3115, %3106 ], [ %165, %3088 ], [ %165, %3098 ], [ %3130, %3125 ] - %3164 = phi i32 [ %31, %153 ], [ %31, %3153 ], [ %31, %3119 ], [ %31, %3106 ], [ %27, %3088 ], [ %27, %3098 ], [ %31, %3125 ] - switch i32 %3164, label %6035 [ - i32 9, label %3165 - i32 17, label %3170 + br i1 %3132, label %3133, label %3149 + +3133: ; preds = %3127 + %3134 = getelementptr inbounds i8, ptr %16, i64 7 + %3135 = load i8, ptr %3134, align 1, !tbaa !61 + %3136 = zext i8 %3135 to i64 + %3137 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3136 + %3138 = load i32, ptr %3137, align 4, !tbaa !47 + %3139 = or i32 %.pre145, %3129 + %3140 = lshr i32 %3139, 28 + %3141 = zext nneg i32 %3140 to i64 + %3142 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3141 + %3143 = load i32, ptr %3142, align 4, !tbaa !47 + %3144 = or i32 %3143, %3138 + %3145 = getelementptr inbounds i8, ptr %2, i64 4 + %3146 = load i32, ptr %3145, align 4, !tbaa !58 + %3147 = getelementptr inbounds i8, ptr %3, i64 4 + %3148 = load i32, ptr %3147, align 4, !tbaa !58 + br label %5354 + +3149: ; preds = %3127, %168 + %3150 = phi i32 [ %.pre, %168 ], [ %.pre145, %3127 ] + %3151 = phi i32 [ %169, %168 ], [ %3129, %3127 ] + %3152 = or i32 %3150, %3151 + %3153 = lshr i32 %3152, 28 + %3154 = zext nneg i32 %3153 to i64 + %3155 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3154 + %3156 = load i32, ptr %3155, align 4, !tbaa !47 + %3157 = or i32 %3156, %165 + br label %3158 + +3158: ; preds = %3149, %3121, %3115, %3102, %3095, %3085, %153 + %3159 = phi i32 [ %165, %153 ], [ %3157, %3149 ], [ %3120, %3115 ], [ %3111, %3102 ], [ %165, %3085 ], [ %165, %3095 ], [ %3126, %3121 ] + %3160 = phi i32 [ %31, %153 ], [ %31, %3149 ], [ %31, %3115 ], [ %31, %3102 ], [ %27, %3085 ], [ %27, %3095 ], [ %31, %3121 ] + switch i32 %3160, label %6031 [ + i32 9, label %3161 + i32 17, label %3166 ] -3165: ; preds = %3162 - %3166 = getelementptr inbounds i8, ptr %2, i64 4 - %3167 = load i32, ptr %3166, align 4, !tbaa !58 - %3168 = getelementptr inbounds i8, ptr %3, i64 4 - %3169 = load i32, ptr %3168, align 4, !tbaa !58 - br label %5358 - -3170: ; preds = %3162 - %3171 = getelementptr inbounds i8, ptr %2, i64 4 - %3172 = load i32, ptr %3171, align 4, !tbaa !58 - br label %5532 - -3173: ; preds = %153 - %3174 = icmp eq i32 %31, 17 - br i1 %3174, label %3175, label %6035 - -3175: ; preds = %3173 - %3176 = load i32, ptr %3, align 4, !tbaa !31 - %3177 = lshr i32 %3176, 8 - %3178 = and i32 %3177, 31 - %3179 = zext nneg i32 %3178 to i64 - %3180 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3179 - %3181 = load i32, ptr %3180, align 4, !tbaa !47 - %3182 = load i32, ptr %2, align 4, !tbaa !31 - %3183 = lshr i32 %3182, 28 - %3184 = zext nneg i32 %3183 to i64 - %3185 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3184 - %3186 = load i32, ptr %3185, align 4, !tbaa !47 - %3187 = call noundef i32 @llvm.umax.i32(i32 %3181, i32 %3186) - %3188 = or i32 %3187, %165 - %3189 = getelementptr inbounds i8, ptr %2, i64 4 - %3190 = load i32, ptr %3189, align 4, !tbaa !58 - br label %5532 - -3191: ; preds = %153 - %3192 = getelementptr inbounds i8, ptr %5, i64 16 - %3193 = getelementptr inbounds i8, ptr %5, i64 32 - %3194 = load i32, ptr %2, align 4, !tbaa !47 +3161: ; preds = %3158 + %3162 = getelementptr inbounds i8, ptr %2, i64 4 + %3163 = load i32, ptr %3162, align 4, !tbaa !58 + %3164 = getelementptr inbounds i8, ptr %3, i64 4 + %3165 = load i32, ptr %3164, align 4, !tbaa !58 + br label %5354 + +3166: ; preds = %3158 + %3167 = getelementptr inbounds i8, ptr %2, i64 4 + %3168 = load i32, ptr %3167, align 4, !tbaa !58 + br label %5528 + +3169: ; preds = %153 + %3170 = icmp eq i32 %31, 17 + br i1 %3170, label %3171, label %6031 + +3171: ; preds = %3169 + %3172 = load i32, ptr %3, align 4, !tbaa !31 + %3173 = lshr i32 %3172, 8 + %3174 = and i32 %3173, 31 + %3175 = zext nneg i32 %3174 to i64 + %3176 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3175 + %3177 = load i32, ptr %3176, align 4, !tbaa !47 + %3178 = load i32, ptr %2, align 4, !tbaa !31 + %3179 = lshr i32 %3178, 28 + %3180 = zext nneg i32 %3179 to i64 + %3181 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3180 + %3182 = load i32, ptr %3181, align 4, !tbaa !47 + %3183 = call noundef i32 @llvm.umax.i32(i32 %3177, i32 %3182) + %3184 = or i32 %3183, %165 + %3185 = getelementptr inbounds i8, ptr %2, i64 4 + %3186 = load i32, ptr %3185, align 4, !tbaa !58 + br label %5528 + +3187: ; preds = %153 + %3188 = getelementptr inbounds i8, ptr %5, i64 16 + %3189 = getelementptr inbounds i8, ptr %5, i64 32 + %3190 = load i32, ptr %2, align 4, !tbaa !47 + %3191 = and i32 %3190, 3847 + %3192 = icmp eq i32 %3191, 257 + br i1 %3192, label %3193, label %6031 + +3193: ; preds = %3187 + %3194 = load i32, ptr %3, align 4, !tbaa !47 %3195 = and i32 %3194, 3847 %3196 = icmp eq i32 %3195, 257 - br i1 %3196, label %3197, label %6035 + br i1 %3196, label %3197, label %6031 -3197: ; preds = %3191 - %3198 = load i32, ptr %3, align 4, !tbaa !47 +3197: ; preds = %3193 + %3198 = load i32, ptr %4, align 4, !tbaa !47 %3199 = and i32 %3198, 3847 %3200 = icmp eq i32 %3199, 257 - br i1 %3200, label %3201, label %6035 + br i1 %3200, label %3201, label %6031 3201: ; preds = %3197 - %3202 = load i32, ptr %4, align 4, !tbaa !47 + %3202 = load i32, ptr %5, align 4, !tbaa !47 %3203 = and i32 %3202, 3847 %3204 = icmp eq i32 %3203, 257 - br i1 %3204, label %3205, label %6035 + br i1 %3204, label %3205, label %6031 3205: ; preds = %3201 - %3206 = load i32, ptr %5, align 4, !tbaa !47 + %3206 = load i32, ptr %3188, align 4, !tbaa !47 %3207 = and i32 %3206, 3847 %3208 = icmp eq i32 %3207, 257 - br i1 %3208, label %3209, label %6035 + br i1 %3208, label %3209, label %6031 3209: ; preds = %3205 - %3210 = load i32, ptr %3192, align 4, !tbaa !47 - %3211 = and i32 %3210, 3847 - %3212 = icmp eq i32 %3211, 257 - br i1 %3212, label %3213, label %6035 + %3210 = load i32, ptr %3189, align 4, !tbaa !31 + %3211 = and i32 %3210, 7 + %3212 = icmp eq i32 %3211, 2 + br i1 %3212, label %3213, label %6031 3213: ; preds = %3209 - %3214 = load i32, ptr %3193, align 4, !tbaa !31 - %3215 = and i32 %3214, 7 - %3216 = icmp eq i32 %3215, 2 - br i1 %3216, label %3217, label %6035 - -3217: ; preds = %3213 - %3218 = getelementptr inbounds i8, ptr %3, i64 4 + %3214 = getelementptr inbounds i8, ptr %3, i64 4 + %3215 = load i32, ptr %3214, align 4, !tbaa !58 + %3216 = getelementptr inbounds i8, ptr %4, i64 4 + %3217 = load i32, ptr %3216, align 4, !tbaa !58 + %3218 = getelementptr inbounds i8, ptr %5, i64 4 %3219 = load i32, ptr %3218, align 4, !tbaa !58 - %3220 = getelementptr inbounds i8, ptr %4, i64 4 + %3220 = getelementptr inbounds i8, ptr %5, i64 20 %3221 = load i32, ptr %3220, align 4, !tbaa !58 - %3222 = getelementptr inbounds i8, ptr %5, i64 4 - %3223 = load i32, ptr %3222, align 4, !tbaa !58 - %3224 = getelementptr inbounds i8, ptr %5, i64 20 - %3225 = load i32, ptr %3224, align 4, !tbaa !58 - %3226 = and i32 %3219, 3 - %3227 = icmp ne i32 %3226, 0 - %3228 = or disjoint i32 %3219, 1 - %3229 = icmp ne i32 %3221, %3228 - %3230 = select i1 %3227, i1 true, i1 %3229 - %3231 = or disjoint i32 %3219, 2 - %3232 = icmp ne i32 %3223, %3231 - %3233 = select i1 %3230, i1 true, i1 %3232 - %3234 = or disjoint i32 %3219, 3 - %3235 = icmp ne i32 %3225, %3234 - %3236 = select i1 %3233, i1 true, i1 %3235 - br i1 %3236, label %6035, label %3237, !prof !91 - -3237: ; preds = %3217 - %3238 = getelementptr inbounds i8, ptr %2, i64 4 - %3239 = load i32, ptr %3238, align 4, !tbaa !58 - %3240 = shl i32 %3219, 7 - %3241 = add i32 %3239, %3240 - br label %5532 - -3242: ; preds = %153 - %3243 = load i32, ptr %2, align 4, !tbaa !31 - %3244 = and i32 %3243, -16773121 - %3245 = icmp eq i32 %3244, 134217785 - %3246 = load i32, ptr %3, align 4, !tbaa !31 - %3247 = and i32 %3246, -16773121 - %3248 = icmp eq i32 %3247, 134217785 - %3249 = or i1 %3245, %3248 - %3250 = select i1 %3249, i32 134217728, i32 0 - %3251 = or i32 %3250, %165 - br label %3261 - -3252: ; preds = %153 - %3253 = load i32, ptr %2, align 4, !tbaa !31 - %3254 = load i32, ptr %3, align 4, !tbaa !31 - %3255 = or i32 %3254, %3253 - %3256 = lshr i32 %3255, 28 - %3257 = zext nneg i32 %3256 to i64 - %3258 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3257 - %3259 = load i32, ptr %3258, align 4, !tbaa !47 - %3260 = or i32 %3259, %165 - br label %3261 - -3261: ; preds = %3252, %3242, %153 - %3262 = phi i32 [ %165, %153 ], [ %3260, %3252 ], [ %3251, %3242 ] - %3263 = getelementptr inbounds i8, ptr %4, i64 8 - %3264 = load i64, ptr %3263, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3265 - i32 209, label %3270 + %3222 = and i32 %3215, 3 + %3223 = icmp ne i32 %3222, 0 + %3224 = or disjoint i32 %3215, 1 + %3225 = icmp ne i32 %3217, %3224 + %3226 = select i1 %3223, i1 true, i1 %3225 + %3227 = or disjoint i32 %3215, 2 + %3228 = icmp ne i32 %3219, %3227 + %3229 = select i1 %3226, i1 true, i1 %3228 + %3230 = or disjoint i32 %3215, 3 + %3231 = icmp ne i32 %3221, %3230 + %3232 = select i1 %3229, i1 true, i1 %3231 + br i1 %3232, label %6031, label %3233, !prof !91 + +3233: ; preds = %3213 + %3234 = getelementptr inbounds i8, ptr %2, i64 4 + %3235 = load i32, ptr %3234, align 4, !tbaa !58 + %3236 = shl i32 %3215, 7 + %3237 = add i32 %3235, %3236 + br label %5528 + +3238: ; preds = %153 + %3239 = load i32, ptr %2, align 4, !tbaa !31 + %3240 = and i32 %3239, -16773121 + %3241 = icmp eq i32 %3240, 134217785 + %3242 = load i32, ptr %3, align 4, !tbaa !31 + %3243 = and i32 %3242, -16773121 + %3244 = icmp eq i32 %3243, 134217785 + %3245 = or i1 %3241, %3244 + %3246 = select i1 %3245, i32 134217728, i32 0 + %3247 = or i32 %3246, %165 + br label %3257 + +3248: ; preds = %153 + %3249 = load i32, ptr %2, align 4, !tbaa !31 + %3250 = load i32, ptr %3, align 4, !tbaa !31 + %3251 = or i32 %3250, %3249 + %3252 = lshr i32 %3251, 28 + %3253 = zext nneg i32 %3252 to i64 + %3254 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3253 + %3255 = load i32, ptr %3254, align 4, !tbaa !47 + %3256 = or i32 %3255, %165 + br label %3257 + +3257: ; preds = %3248, %3238, %153 + %3258 = phi i32 [ %165, %153 ], [ %3256, %3248 ], [ %3247, %3238 ] + %3259 = getelementptr inbounds i8, ptr %4, i64 8 + %3260 = load i64, ptr %3259, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3261 + i32 209, label %3266 ] -3265: ; preds = %3261 - %3266 = getelementptr inbounds i8, ptr %2, i64 4 - %3267 = load i32, ptr %3266, align 4, !tbaa !58 - %3268 = getelementptr inbounds i8, ptr %3, i64 4 - %3269 = load i32, ptr %3268, align 4, !tbaa !58 - br label %5358 - -3270: ; preds = %3261 - %3271 = getelementptr inbounds i8, ptr %2, i64 4 - %3272 = load i32, ptr %3271, align 4, !tbaa !58 - br label %5532 - -3273: ; preds = %3318, %3302, %153 - %3274 = phi i32 [ %3327, %3318 ], [ %3311, %3302 ], [ %165, %153 ] - switch i32 %31, label %6035 [ - i32 73, label %3275 - i32 137, label %3285 +3261: ; preds = %3257 + %3262 = getelementptr inbounds i8, ptr %2, i64 4 + %3263 = load i32, ptr %3262, align 4, !tbaa !58 + %3264 = getelementptr inbounds i8, ptr %3, i64 4 + %3265 = load i32, ptr %3264, align 4, !tbaa !58 + br label %5354 + +3266: ; preds = %3257 + %3267 = getelementptr inbounds i8, ptr %2, i64 4 + %3268 = load i32, ptr %3267, align 4, !tbaa !58 + br label %5528 + +3269: ; preds = %3314, %3298, %153 + %3270 = phi i32 [ %3323, %3314 ], [ %3307, %3298 ], [ %165, %153 ] + switch i32 %31, label %6031 [ + i32 73, label %3271 + i32 137, label %3281 ] -3275: ; preds = %4054, %3273 - %3276 = phi i32 [ %165, %4054 ], [ %3274, %3273 ] - %3277 = getelementptr inbounds i8, ptr %2, i64 4 - %3278 = load i32, ptr %3277, align 4, !tbaa !58 - %3279 = getelementptr inbounds i8, ptr %3, i64 4 +3271: ; preds = %4050, %3269 + %3272 = phi i32 [ %165, %4050 ], [ %3270, %3269 ] + %3273 = getelementptr inbounds i8, ptr %2, i64 4 + %3274 = load i32, ptr %3273, align 4, !tbaa !58 + %3275 = getelementptr inbounds i8, ptr %3, i64 4 + %3276 = load i32, ptr %3275, align 4, !tbaa !58 + %3277 = shl i32 %3276, 7 + %3278 = add i32 %3277, %3274 + %3279 = getelementptr inbounds i8, ptr %4, i64 4 %3280 = load i32, ptr %3279, align 4, !tbaa !58 - %3281 = shl i32 %3280, 7 - %3282 = add i32 %3281, %3278 - %3283 = getelementptr inbounds i8, ptr %4, i64 4 - %3284 = load i32, ptr %3283, align 4, !tbaa !58 - br label %5358 - -3285: ; preds = %3273 - %3286 = getelementptr inbounds i8, ptr %2, i64 4 - %3287 = load i32, ptr %3286, align 4, !tbaa !58 - %3288 = getelementptr inbounds i8, ptr %3, i64 4 - %3289 = load i32, ptr %3288, align 4, !tbaa !58 - %3290 = shl i32 %3289, 7 - %3291 = add i32 %3290, %3287 - br label %5532 - -3292: ; preds = %153 - %3293 = load i32, ptr %5, align 4, !tbaa !47 - %3294 = icmp eq i32 %3293, 0 - br i1 %3294, label %3302, label %3295 - -3295: ; preds = %3292 - %3296 = and i32 %3293, 3847 - %3297 = icmp ne i32 %3296, 1 - %3298 = getelementptr inbounds i8, ptr %5, i64 4 - %3299 = load i32, ptr %3298, align 4, !tbaa !58 - %3300 = icmp ne i32 %3299, 2 - %3301 = or i1 %3297, %3300 - br i1 %3301, label %6035, label %3302 - -3302: ; preds = %3295, %3292, %153 - %3303 = load i32, ptr %2, align 4, !tbaa !31 - %3304 = and i32 %3303, -16773121 - %3305 = icmp eq i32 %3304, 134217785 - %3306 = load i32, ptr %4, align 4, !tbaa !31 - %3307 = and i32 %3306, -16777216 - %3308 = icmp eq i32 %3307, 134217728 - %3309 = or i1 %3305, %3308 - %3310 = select i1 %3309, i32 134217728, i32 0 - %3311 = or i32 %3310, %165 - br label %3273 - -3312: ; preds = %153 - %3313 = load i32, ptr %2, align 4, !tbaa !31 - %3314 = and i32 %3313, -16773121 - %3315 = icmp eq i32 %3314, 649 - %3316 = select i1 %3315, i32 4096, i32 0 - %3317 = or i32 %3316, %165 - br label %3318 - -3318: ; preds = %3312, %170 - %3319 = phi i32 [ %171, %170 ], [ %3313, %3312 ] - %3320 = phi i32 [ %165, %170 ], [ %3317, %3312 ] - %3321 = load i32, ptr %3, align 4, !tbaa !31 - %3322 = or i32 %3321, %3319 - %3323 = lshr i32 %3322, 28 - %3324 = zext nneg i32 %3323 to i64 - %3325 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3324 - %3326 = load i32, ptr %3325, align 4, !tbaa !47 - %3327 = or i32 %3326, %3320 - br label %3273 - -3328: ; preds = %153 - %3329 = icmp eq i32 %31, 73 - br i1 %3329, label %3330, label %6035 - -3330: ; preds = %3328 - %3331 = getelementptr inbounds i8, ptr %2, i64 4 - %3332 = load i32, ptr %3331, align 4, !tbaa !58 - %3333 = and i32 %3332, 1 - %3334 = icmp eq i32 %3333, 0 - br i1 %3334, label %3335, label %6035 - -3335: ; preds = %3330 - %3336 = or disjoint i32 %3332, 1 - %3337 = getelementptr inbounds i8, ptr %3, i64 4 - %3338 = load i32, ptr %3337, align 4, !tbaa !58 - %3339 = icmp eq i32 %3336, %3338 - br i1 %3339, label %3340, label %6035 - -3340: ; preds = %3335 - %3341 = load i32, ptr %4, align 4, !tbaa !31 - %3342 = lshr i32 %3341, 28 - %3343 = zext nneg i32 %3342 to i64 - %3344 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3343 - %3345 = load i32, ptr %3344, align 4, !tbaa !47 - %3346 = or i32 %3345, %165 - %3347 = getelementptr inbounds i8, ptr %4, i64 4 - %3348 = load i32, ptr %3347, align 4, !tbaa !58 - %3349 = shl i32 %3348, 7 - %3350 = add i32 %3349, %3332 - %3351 = load i32, ptr %5, align 4, !tbaa !31 - %3352 = and i32 %3351, 7 - switch i32 %3352, label %6035 [ - i32 1, label %3353 - i32 2, label %5532 + br label %5354 + +3281: ; preds = %3269 + %3282 = getelementptr inbounds i8, ptr %2, i64 4 + %3283 = load i32, ptr %3282, align 4, !tbaa !58 + %3284 = getelementptr inbounds i8, ptr %3, i64 4 + %3285 = load i32, ptr %3284, align 4, !tbaa !58 + %3286 = shl i32 %3285, 7 + %3287 = add i32 %3286, %3283 + br label %5528 + +3288: ; preds = %153 + %3289 = load i32, ptr %5, align 4, !tbaa !47 + %3290 = icmp eq i32 %3289, 0 + br i1 %3290, label %3298, label %3291 + +3291: ; preds = %3288 + %3292 = and i32 %3289, 3847 + %3293 = icmp ne i32 %3292, 1 + %3294 = getelementptr inbounds i8, ptr %5, i64 4 + %3295 = load i32, ptr %3294, align 4, !tbaa !58 + %3296 = icmp ne i32 %3295, 2 + %3297 = or i1 %3293, %3296 + br i1 %3297, label %6031, label %3298 + +3298: ; preds = %3291, %3288, %153 + %3299 = load i32, ptr %2, align 4, !tbaa !31 + %3300 = and i32 %3299, -16773121 + %3301 = icmp eq i32 %3300, 134217785 + %3302 = load i32, ptr %4, align 4, !tbaa !31 + %3303 = and i32 %3302, -16777216 + %3304 = icmp eq i32 %3303, 134217728 + %3305 = or i1 %3301, %3304 + %3306 = select i1 %3305, i32 134217728, i32 0 + %3307 = or i32 %3306, %165 + br label %3269 + +3308: ; preds = %153 + %3309 = load i32, ptr %2, align 4, !tbaa !31 + %3310 = and i32 %3309, -16773121 + %3311 = icmp eq i32 %3310, 649 + %3312 = select i1 %3311, i32 4096, i32 0 + %3313 = or i32 %3312, %165 + br label %3314 + +3314: ; preds = %3308, %170 + %3315 = phi i32 [ %171, %170 ], [ %3309, %3308 ] + %3316 = phi i32 [ %165, %170 ], [ %3313, %3308 ] + %3317 = load i32, ptr %3, align 4, !tbaa !31 + %3318 = or i32 %3317, %3315 + %3319 = lshr i32 %3318, 28 + %3320 = zext nneg i32 %3319 to i64 + %3321 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3320 + %3322 = load i32, ptr %3321, align 4, !tbaa !47 + %3323 = or i32 %3322, %3316 + br label %3269 + +3324: ; preds = %153 + %3325 = icmp eq i32 %31, 73 + br i1 %3325, label %3326, label %6031 + +3326: ; preds = %3324 + %3327 = getelementptr inbounds i8, ptr %2, i64 4 + %3328 = load i32, ptr %3327, align 4, !tbaa !58 + %3329 = and i32 %3328, 1 + %3330 = icmp eq i32 %3329, 0 + br i1 %3330, label %3331, label %6031 + +3331: ; preds = %3326 + %3332 = or disjoint i32 %3328, 1 + %3333 = getelementptr inbounds i8, ptr %3, i64 4 + %3334 = load i32, ptr %3333, align 4, !tbaa !58 + %3335 = icmp eq i32 %3332, %3334 + br i1 %3335, label %3336, label %6031 + +3336: ; preds = %3331 + %3337 = load i32, ptr %4, align 4, !tbaa !31 + %3338 = lshr i32 %3337, 28 + %3339 = zext nneg i32 %3338 to i64 + %3340 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3339 + %3341 = load i32, ptr %3340, align 4, !tbaa !47 + %3342 = or i32 %3341, %165 + %3343 = getelementptr inbounds i8, ptr %4, i64 4 + %3344 = load i32, ptr %3343, align 4, !tbaa !58 + %3345 = shl i32 %3344, 7 + %3346 = add i32 %3345, %3328 + %3347 = load i32, ptr %5, align 4, !tbaa !31 + %3348 = and i32 %3347, 7 + switch i32 %3348, label %6031 [ + i32 1, label %3349 + i32 2, label %5528 ] -3353: ; preds = %3340 - %3354 = getelementptr inbounds i8, ptr %5, i64 4 - %3355 = load i32, ptr %3354, align 4, !tbaa !58 - br label %5358 - -3356: ; preds = %153 - %3357 = load i32, ptr %2, align 4, !tbaa !31 - %3358 = load i32, ptr %3, align 4, !tbaa !31 - %3359 = or i32 %3358, %3357 - %3360 = lshr i32 %3359, 28 - %3361 = zext nneg i32 %3360 to i64 - %3362 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3361 - %3363 = load i32, ptr %3362, align 4, !tbaa !47 - %3364 = or i32 %3363, %165 - br label %3365 - -3365: ; preds = %3356, %153 - %3366 = phi i32 [ %165, %153 ], [ %3364, %3356 ] - %3367 = load i32, ptr %5, align 4, !tbaa !31 - %3368 = shl i32 %3367, 9 - %3369 = and i32 %3368, 3584 - %3370 = or disjoint i32 %3369, %31 - %3371 = getelementptr inbounds i8, ptr %5, i64 4 - %3372 = load i32, ptr %3371, align 4, !tbaa !58 - %3373 = shl i32 %3372, 4 - %3374 = zext i32 %3373 to i64 - switch i32 %3370, label %6035 [ - i32 585, label %3375 - i32 649, label %3384 +3349: ; preds = %3336 + %3350 = getelementptr inbounds i8, ptr %5, i64 4 + %3351 = load i32, ptr %3350, align 4, !tbaa !58 + br label %5354 + +3352: ; preds = %153 + %3353 = load i32, ptr %2, align 4, !tbaa !31 + %3354 = load i32, ptr %3, align 4, !tbaa !31 + %3355 = or i32 %3354, %3353 + %3356 = lshr i32 %3355, 28 + %3357 = zext nneg i32 %3356 to i64 + %3358 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3357 + %3359 = load i32, ptr %3358, align 4, !tbaa !47 + %3360 = or i32 %3359, %165 + br label %3361 + +3361: ; preds = %3352, %153 + %3362 = phi i32 [ %165, %153 ], [ %3360, %3352 ] + %3363 = load i32, ptr %5, align 4, !tbaa !31 + %3364 = shl i32 %3363, 9 + %3365 = and i32 %3364, 3584 + %3366 = or disjoint i32 %3365, %31 + %3367 = getelementptr inbounds i8, ptr %5, i64 4 + %3368 = load i32, ptr %3367, align 4, !tbaa !58 + %3369 = shl i32 %3368, 4 + %3370 = zext i32 %3369 to i64 + switch i32 %3366, label %6031 [ + i32 585, label %3371 + i32 649, label %3380 ] -3375: ; preds = %3365 - %3376 = getelementptr inbounds i8, ptr %2, i64 4 - %3377 = load i32, ptr %3376, align 4, !tbaa !58 - %3378 = getelementptr inbounds i8, ptr %3, i64 4 +3371: ; preds = %3361 + %3372 = getelementptr inbounds i8, ptr %2, i64 4 + %3373 = load i32, ptr %3372, align 4, !tbaa !58 + %3374 = getelementptr inbounds i8, ptr %3, i64 4 + %3375 = load i32, ptr %3374, align 4, !tbaa !58 + %3376 = shl i32 %3375, 7 + %3377 = add i32 %3376, %3373 + %3378 = getelementptr inbounds i8, ptr %4, i64 4 %3379 = load i32, ptr %3378, align 4, !tbaa !58 - %3380 = shl i32 %3379, 7 - %3381 = add i32 %3380, %3377 - %3382 = getelementptr inbounds i8, ptr %4, i64 4 - %3383 = load i32, ptr %3382, align 4, !tbaa !58 - br label %5358 - -3384: ; preds = %3365 - %3385 = getelementptr inbounds i8, ptr %2, i64 4 - %3386 = load i32, ptr %3385, align 4, !tbaa !58 - %3387 = getelementptr inbounds i8, ptr %3, i64 4 - %3388 = load i32, ptr %3387, align 4, !tbaa !58 - %3389 = shl i32 %3388, 7 - %3390 = add i32 %3389, %3386 - br label %5532 - -3391: ; preds = %153 - %3392 = load i32, ptr %2, align 4, !tbaa !31 - %3393 = and i32 %3392, -16773121 - %3394 = icmp eq i32 %3393, 649 - %3395 = select i1 %3394, i32 4096, i32 0 - %3396 = or i32 %3395, %165 - br label %3413 - -3397: ; preds = %153 - %3398 = load i32, ptr %2, align 4, !tbaa !31 - %3399 = and i32 %3398, -16773121 - %3400 = icmp eq i32 %3399, 649 - %3401 = select i1 %3400, i32 4096, i32 0 - %3402 = or i32 %3401, %165 - br label %3403 - -3403: ; preds = %3397, %172 - %3404 = phi i32 [ %173, %172 ], [ %3398, %3397 ] - %3405 = phi i32 [ %165, %172 ], [ %3402, %3397 ] - %3406 = load i32, ptr %3, align 4, !tbaa !31 - %3407 = or i32 %3406, %3404 - %3408 = lshr i32 %3407, 28 - %3409 = zext nneg i32 %3408 to i64 - %3410 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3409 - %3411 = load i32, ptr %3410, align 4, !tbaa !47 - %3412 = or i32 %3411, %3405 - br label %3413 - -3413: ; preds = %3403, %3391, %153 - %3414 = phi i32 [ %165, %153 ], [ %3412, %3403 ], [ %3396, %3391 ] - %3415 = load i32, ptr %5, align 4, !tbaa !31 - %3416 = shl i32 %3415, 9 - %3417 = and i32 %3416, 3584 - %3418 = or disjoint i32 %3417, %31 - %3419 = getelementptr inbounds i8, ptr %5, i64 8 - %3420 = load i64, ptr %3419, align 4 - switch i32 %3418, label %6035 [ - i32 1609, label %3421 - i32 1673, label %3430 + br label %5354 + +3380: ; preds = %3361 + %3381 = getelementptr inbounds i8, ptr %2, i64 4 + %3382 = load i32, ptr %3381, align 4, !tbaa !58 + %3383 = getelementptr inbounds i8, ptr %3, i64 4 + %3384 = load i32, ptr %3383, align 4, !tbaa !58 + %3385 = shl i32 %3384, 7 + %3386 = add i32 %3385, %3382 + br label %5528 + +3387: ; preds = %153 + %3388 = load i32, ptr %2, align 4, !tbaa !31 + %3389 = and i32 %3388, -16773121 + %3390 = icmp eq i32 %3389, 649 + %3391 = select i1 %3390, i32 4096, i32 0 + %3392 = or i32 %3391, %165 + br label %3409 + +3393: ; preds = %153 + %3394 = load i32, ptr %2, align 4, !tbaa !31 + %3395 = and i32 %3394, -16773121 + %3396 = icmp eq i32 %3395, 649 + %3397 = select i1 %3396, i32 4096, i32 0 + %3398 = or i32 %3397, %165 + br label %3399 + +3399: ; preds = %3393, %172 + %3400 = phi i32 [ %173, %172 ], [ %3394, %3393 ] + %3401 = phi i32 [ %165, %172 ], [ %3398, %3393 ] + %3402 = load i32, ptr %3, align 4, !tbaa !31 + %3403 = or i32 %3402, %3400 + %3404 = lshr i32 %3403, 28 + %3405 = zext nneg i32 %3404 to i64 + %3406 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3405 + %3407 = load i32, ptr %3406, align 4, !tbaa !47 + %3408 = or i32 %3407, %3401 + br label %3409 + +3409: ; preds = %3399, %3387, %153 + %3410 = phi i32 [ %165, %153 ], [ %3408, %3399 ], [ %3392, %3387 ] + %3411 = load i32, ptr %5, align 4, !tbaa !31 + %3412 = shl i32 %3411, 9 + %3413 = and i32 %3412, 3584 + %3414 = or disjoint i32 %3413, %31 + %3415 = getelementptr inbounds i8, ptr %5, i64 8 + %3416 = load i64, ptr %3415, align 4 + switch i32 %3414, label %6031 [ + i32 1609, label %3417 + i32 1673, label %3426 ] -3421: ; preds = %3413 - %3422 = getelementptr inbounds i8, ptr %2, i64 4 - %3423 = load i32, ptr %3422, align 4, !tbaa !58 - %3424 = getelementptr inbounds i8, ptr %3, i64 4 +3417: ; preds = %3409 + %3418 = getelementptr inbounds i8, ptr %2, i64 4 + %3419 = load i32, ptr %3418, align 4, !tbaa !58 + %3420 = getelementptr inbounds i8, ptr %3, i64 4 + %3421 = load i32, ptr %3420, align 4, !tbaa !58 + %3422 = shl i32 %3421, 7 + %3423 = add i32 %3422, %3419 + %3424 = getelementptr inbounds i8, ptr %4, i64 4 %3425 = load i32, ptr %3424, align 4, !tbaa !58 - %3426 = shl i32 %3425, 7 - %3427 = add i32 %3426, %3423 - %3428 = getelementptr inbounds i8, ptr %4, i64 4 - %3429 = load i32, ptr %3428, align 4, !tbaa !58 - br label %5358 - -3430: ; preds = %3413 - %3431 = getelementptr inbounds i8, ptr %2, i64 4 - %3432 = load i32, ptr %3431, align 4, !tbaa !58 - %3433 = getelementptr inbounds i8, ptr %3, i64 4 - %3434 = load i32, ptr %3433, align 4, !tbaa !58 - %3435 = shl i32 %3434, 7 - %3436 = add i32 %3435, %3432 - br label %5532 - -3437: ; preds = %153 - %3438 = load i32, ptr %2, align 4, !tbaa !31 - %3439 = and i32 %3438, -16773121 - %3440 = icmp eq i32 %3439, 134217785 - %3441 = load i32, ptr %4, align 4, !tbaa !31 - %3442 = and i32 %3441, -16773121 - %3443 = icmp eq i32 %3442, 134217785 - %3444 = or i1 %3440, %3443 - %3445 = select i1 %3444, i32 134217728, i32 0 - %3446 = or i32 %3445, %165 - br label %3447 - -3447: ; preds = %3437, %153 - %3448 = phi i32 [ %165, %153 ], [ %3446, %3437 ] - switch i32 %31, label %6035 [ - i32 73, label %3449 - i32 81, label %3458 + br label %5354 + +3426: ; preds = %3409 + %3427 = getelementptr inbounds i8, ptr %2, i64 4 + %3428 = load i32, ptr %3427, align 4, !tbaa !58 + %3429 = getelementptr inbounds i8, ptr %3, i64 4 + %3430 = load i32, ptr %3429, align 4, !tbaa !58 + %3431 = shl i32 %3430, 7 + %3432 = add i32 %3431, %3428 + br label %5528 + +3433: ; preds = %153 + %3434 = load i32, ptr %2, align 4, !tbaa !31 + %3435 = and i32 %3434, -16773121 + %3436 = icmp eq i32 %3435, 134217785 + %3437 = load i32, ptr %4, align 4, !tbaa !31 + %3438 = and i32 %3437, -16773121 + %3439 = icmp eq i32 %3438, 134217785 + %3440 = or i1 %3436, %3439 + %3441 = select i1 %3440, i32 134217728, i32 0 + %3442 = or i32 %3441, %165 + br label %3443 + +3443: ; preds = %3433, %153 + %3444 = phi i32 [ %165, %153 ], [ %3442, %3433 ] + switch i32 %31, label %6031 [ + i32 73, label %3445 + i32 81, label %3454 ] -3449: ; preds = %3447 - %3450 = getelementptr inbounds i8, ptr %2, i64 4 - %3451 = load i32, ptr %3450, align 4, !tbaa !58 - %3452 = getelementptr inbounds i8, ptr %4, i64 4 +3445: ; preds = %3443 + %3446 = getelementptr inbounds i8, ptr %2, i64 4 + %3447 = load i32, ptr %3446, align 4, !tbaa !58 + %3448 = getelementptr inbounds i8, ptr %4, i64 4 + %3449 = load i32, ptr %3448, align 4, !tbaa !58 + %3450 = shl i32 %3449, 7 + %3451 = add i32 %3450, %3447 + %3452 = getelementptr inbounds i8, ptr %3, i64 4 %3453 = load i32, ptr %3452, align 4, !tbaa !58 - %3454 = shl i32 %3453, 7 - %3455 = add i32 %3454, %3451 - %3456 = getelementptr inbounds i8, ptr %3, i64 4 - %3457 = load i32, ptr %3456, align 4, !tbaa !58 - br label %5358 - -3458: ; preds = %3447 - %3459 = getelementptr inbounds i8, ptr %2, i64 4 - %3460 = load i32, ptr %3459, align 4, !tbaa !58 - %3461 = getelementptr inbounds i8, ptr %4, i64 4 - %3462 = load i32, ptr %3461, align 4, !tbaa !58 - %3463 = shl i32 %3462, 7 - %3464 = add i32 %3463, %3460 - br label %5532 - -3465: ; preds = %153 - switch i32 %31, label %6035 [ - i32 17, label %3466 - i32 81, label %3489 + br label %5354 + +3454: ; preds = %3443 + %3455 = getelementptr inbounds i8, ptr %2, i64 4 + %3456 = load i32, ptr %3455, align 4, !tbaa !58 + %3457 = getelementptr inbounds i8, ptr %4, i64 4 + %3458 = load i32, ptr %3457, align 4, !tbaa !58 + %3459 = shl i32 %3458, 7 + %3460 = add i32 %3459, %3456 + br label %5528 + +3461: ; preds = %153 + switch i32 %31, label %6031 [ + i32 17, label %3462 + i32 81, label %3485 ] -3466: ; preds = %3465 - %3467 = getelementptr inbounds i8, ptr %16, i64 7 - %3468 = load i8, ptr %3467, align 1, !tbaa !61 - %3469 = zext i8 %3468 to i64 - %3470 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3469 - %3471 = load i32, ptr %3470, align 4, !tbaa !47 - %3472 = load i32, ptr %3, align 4, !tbaa !31 - %3473 = lshr i32 %3472, 8 - %3474 = and i32 %3473, 31 - %3475 = zext nneg i32 %3474 to i64 - %3476 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3475 - %3477 = load i32, ptr %3476, align 4, !tbaa !47 - %3478 = load i32, ptr %2, align 4, !tbaa !31 - %3479 = lshr i32 %3478, 28 - %3480 = zext nneg i32 %3479 to i64 - %3481 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3480 - %3482 = load i32, ptr %3481, align 4, !tbaa !47 - %3483 = call noundef i32 @llvm.umax.i32(i32 %3477, i32 %3482) - %3484 = or i32 %3483, %3471 - %3485 = getelementptr inbounds i8, ptr %2, i64 4 - %3486 = load i32, ptr %3485, align 4, !tbaa !58 - br label %5532 - -3487: ; preds = %153 - %3488 = icmp eq i32 %31, 81 - br i1 %3488, label %3489, label %6035 - -3489: ; preds = %3487, %3465 - %3490 = load i32, ptr %3, align 4, !tbaa !31 - %3491 = lshr i32 %3490, 8 - %3492 = and i32 %3491, 31 - %3493 = zext nneg i32 %3492 to i64 - %3494 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3493 - %3495 = load i32, ptr %3494, align 4, !tbaa !47 - %3496 = load i32, ptr %2, align 4, !tbaa !31 - %3497 = load i32, ptr %4, align 4, !tbaa !31 - %3498 = or i32 %3497, %3496 - %3499 = lshr i32 %3498, 28 - %3500 = zext nneg i32 %3499 to i64 - %3501 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3500 - %3502 = load i32, ptr %3501, align 4, !tbaa !47 - %3503 = call noundef i32 @llvm.umax.i32(i32 %3495, i32 %3502) - %3504 = or i32 %3503, %165 - %3505 = getelementptr inbounds i8, ptr %2, i64 4 - %3506 = load i32, ptr %3505, align 4, !tbaa !58 - %3507 = getelementptr inbounds i8, ptr %4, i64 4 - %3508 = load i32, ptr %3507, align 4, !tbaa !58 - %3509 = shl i32 %3508, 7 - %3510 = add i32 %3509, %3506 - br label %5532 - -3511: ; preds = %153 - %3512 = load i32, ptr %5, align 4, !tbaa !31 - %3513 = shl i32 %3512, 9 - %3514 = and i32 %3513, 3584 - %3515 = or disjoint i32 %3514, %31 - %3516 = getelementptr inbounds i8, ptr %5, i64 8 - %3517 = load i64, ptr %3516, align 4 - switch i32 %3515, label %6035 [ - i32 1609, label %3518 - i32 1617, label %3527 +3462: ; preds = %3461 + %3463 = getelementptr inbounds i8, ptr %16, i64 7 + %3464 = load i8, ptr %3463, align 1, !tbaa !61 + %3465 = zext i8 %3464 to i64 + %3466 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3465 + %3467 = load i32, ptr %3466, align 4, !tbaa !47 + %3468 = load i32, ptr %3, align 4, !tbaa !31 + %3469 = lshr i32 %3468, 8 + %3470 = and i32 %3469, 31 + %3471 = zext nneg i32 %3470 to i64 + %3472 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3471 + %3473 = load i32, ptr %3472, align 4, !tbaa !47 + %3474 = load i32, ptr %2, align 4, !tbaa !31 + %3475 = lshr i32 %3474, 28 + %3476 = zext nneg i32 %3475 to i64 + %3477 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3476 + %3478 = load i32, ptr %3477, align 4, !tbaa !47 + %3479 = call noundef i32 @llvm.umax.i32(i32 %3473, i32 %3478) + %3480 = or i32 %3479, %3467 + %3481 = getelementptr inbounds i8, ptr %2, i64 4 + %3482 = load i32, ptr %3481, align 4, !tbaa !58 + br label %5528 + +3483: ; preds = %153 + %3484 = icmp eq i32 %31, 81 + br i1 %3484, label %3485, label %6031 + +3485: ; preds = %3483, %3461 + %3486 = load i32, ptr %3, align 4, !tbaa !31 + %3487 = lshr i32 %3486, 8 + %3488 = and i32 %3487, 31 + %3489 = zext nneg i32 %3488 to i64 + %3490 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L14x86LLByRegTypeE, i64 0, i64 %3489 + %3491 = load i32, ptr %3490, align 4, !tbaa !47 + %3492 = load i32, ptr %2, align 4, !tbaa !31 + %3493 = load i32, ptr %4, align 4, !tbaa !31 + %3494 = or i32 %3493, %3492 + %3495 = lshr i32 %3494, 28 + %3496 = zext nneg i32 %3495 to i64 + %3497 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3496 + %3498 = load i32, ptr %3497, align 4, !tbaa !47 + %3499 = call noundef i32 @llvm.umax.i32(i32 %3491, i32 %3498) + %3500 = or i32 %3499, %165 + %3501 = getelementptr inbounds i8, ptr %2, i64 4 + %3502 = load i32, ptr %3501, align 4, !tbaa !58 + %3503 = getelementptr inbounds i8, ptr %4, i64 4 + %3504 = load i32, ptr %3503, align 4, !tbaa !58 + %3505 = shl i32 %3504, 7 + %3506 = add i32 %3505, %3502 + br label %5528 + +3507: ; preds = %153 + %3508 = load i32, ptr %5, align 4, !tbaa !31 + %3509 = shl i32 %3508, 9 + %3510 = and i32 %3509, 3584 + %3511 = or disjoint i32 %3510, %31 + %3512 = getelementptr inbounds i8, ptr %5, i64 8 + %3513 = load i64, ptr %3512, align 4 + switch i32 %3511, label %6031 [ + i32 1609, label %3514 + i32 1617, label %3523 ] -3518: ; preds = %3511 - %3519 = getelementptr inbounds i8, ptr %2, i64 4 - %3520 = load i32, ptr %3519, align 4, !tbaa !58 - %3521 = getelementptr inbounds i8, ptr %4, i64 4 +3514: ; preds = %3507 + %3515 = getelementptr inbounds i8, ptr %2, i64 4 + %3516 = load i32, ptr %3515, align 4, !tbaa !58 + %3517 = getelementptr inbounds i8, ptr %4, i64 4 + %3518 = load i32, ptr %3517, align 4, !tbaa !58 + %3519 = shl i32 %3518, 7 + %3520 = add i32 %3519, %3516 + %3521 = getelementptr inbounds i8, ptr %3, i64 4 %3522 = load i32, ptr %3521, align 4, !tbaa !58 - %3523 = shl i32 %3522, 7 - %3524 = add i32 %3523, %3520 - %3525 = getelementptr inbounds i8, ptr %3, i64 4 - %3526 = load i32, ptr %3525, align 4, !tbaa !58 - br label %5358 - -3527: ; preds = %3511 - %3528 = getelementptr inbounds i8, ptr %2, i64 4 - %3529 = load i32, ptr %3528, align 4, !tbaa !58 - %3530 = getelementptr inbounds i8, ptr %4, i64 4 - %3531 = load i32, ptr %3530, align 4, !tbaa !58 - %3532 = shl i32 %3531, 7 - %3533 = add i32 %3532, %3529 - br label %5532 - -3534: ; preds = %153 - switch i32 %31, label %6035 [ - i32 9, label %3535 - i32 17, label %3576 - i32 10, label %3584 + br label %5354 + +3523: ; preds = %3507 + %3524 = getelementptr inbounds i8, ptr %2, i64 4 + %3525 = load i32, ptr %3524, align 4, !tbaa !58 + %3526 = getelementptr inbounds i8, ptr %4, i64 4 + %3527 = load i32, ptr %3526, align 4, !tbaa !58 + %3528 = shl i32 %3527, 7 + %3529 = add i32 %3528, %3525 + br label %5528 + +3530: ; preds = %153 + switch i32 %31, label %6031 [ + i32 9, label %3531 + i32 17, label %3572 + i32 10, label %3580 ] -3535: ; preds = %3534 - %3536 = load i32, ptr %2, align 4, !tbaa !47 - %3537 = and i32 %3536, 3847 - %3538 = icmp eq i32 %3537, 1 - br i1 %3538, label %3539, label %3553 - -3539: ; preds = %3535 - %3540 = getelementptr inbounds i8, ptr %16, i64 7 - %3541 = load i8, ptr %3540, align 1, !tbaa !61 - %3542 = zext i8 %3541 to i64 - %3543 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3542 - %3544 = load i32, ptr %3543, align 4, !tbaa !47 - %3545 = and i32 %3536, -16777216 - %3546 = icmp eq i32 %3545, 134217728 - %3547 = select i1 %3546, i32 134217728, i32 0 - %3548 = or i32 %3544, %3547 - %3549 = getelementptr inbounds i8, ptr %3, i64 4 - %3550 = load i32, ptr %3549, align 4, !tbaa !58 - %3551 = getelementptr inbounds i8, ptr %2, i64 4 - %3552 = load i32, ptr %3551, align 4, !tbaa !58 - br label %5358 - -3553: ; preds = %3535 - %3554 = load i32, ptr %3, align 4, !tbaa !47 - %3555 = and i32 %3554, 3847 - %3556 = icmp eq i32 %3555, 1 - br i1 %3556, label %3557, label %3566 - -3557: ; preds = %3553 - %3558 = and i32 %3554, -16777216 - %3559 = icmp eq i32 %3558, 134217728 - %3560 = select i1 %3559, i32 134217728, i32 0 - %3561 = or i32 %3560, %165 - %3562 = getelementptr inbounds i8, ptr %2, i64 4 - %3563 = load i32, ptr %3562, align 4, !tbaa !58 - %3564 = getelementptr inbounds i8, ptr %3, i64 4 - %3565 = load i32, ptr %3564, align 4, !tbaa !58 - br label %5358 - -3566: ; preds = %3553 - %3567 = and i32 %159, 268435456 - %3568 = icmp eq i32 %3567, 0 - br i1 %3568, label %6035, label %3569 - -3569: ; preds = %3566 - %3570 = and i32 %159, -6299648 - %3571 = or disjoint i32 %3570, 4194686 - %3572 = getelementptr inbounds i8, ptr %2, i64 4 - %3573 = load i32, ptr %3572, align 4, !tbaa !58 - %3574 = getelementptr inbounds i8, ptr %3, i64 4 - %3575 = load i32, ptr %3574, align 4, !tbaa !58 - br label %5358 - -3576: ; preds = %3534 - %3577 = and i32 %159, 268435456 - %3578 = icmp eq i32 %3577, 0 - %3579 = and i32 %159, -6299648 - %3580 = or disjoint i32 %3579, 4194686 - %3581 = select i1 %3578, i32 %165, i32 %3580 - %3582 = getelementptr inbounds i8, ptr %2, i64 4 - %3583 = load i32, ptr %3582, align 4, !tbaa !58 - br label %5532 - -3584: ; preds = %3534 - %3585 = getelementptr inbounds i8, ptr %16, i64 7 - %3586 = load i8, ptr %3585, align 1, !tbaa !61 - %3587 = zext i8 %3586 to i64 - %3588 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3587 - %3589 = load i32, ptr %3588, align 4, !tbaa !47 - %3590 = and i32 %3589, 268435456 - %3591 = icmp eq i32 %3590, 0 - %3592 = and i32 %3589, -6299648 - %3593 = or disjoint i32 %3592, 2097622 - %3594 = select i1 %3591, i32 %3589, i32 %3593 - %3595 = getelementptr inbounds i8, ptr %3, i64 4 - %3596 = load i32, ptr %3595, align 4, !tbaa !58 - br label %5532 - -3597: ; preds = %153 - %3598 = load i32, ptr %2, align 4, !tbaa !31 - %3599 = load i32, ptr %3, align 4, !tbaa !31 - %3600 = or i32 %3599, %3598 - %3601 = lshr i32 %3600, 28 - %3602 = zext nneg i32 %3601 to i64 - %3603 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3602 - %3604 = load i32, ptr %3603, align 4, !tbaa !47 - %3605 = or i32 %3604, %165 - br label %3606 - -3606: ; preds = %3597, %153 - %3607 = phi i32 [ %165, %153 ], [ %3605, %3597 ] - switch i32 %31, label %6035 [ - i32 9, label %3608 - i32 17, label %3613 - i32 10, label %3616 +3531: ; preds = %3530 + %3532 = load i32, ptr %2, align 4, !tbaa !47 + %3533 = and i32 %3532, 3847 + %3534 = icmp eq i32 %3533, 1 + br i1 %3534, label %3535, label %3549 + +3535: ; preds = %3531 + %3536 = getelementptr inbounds i8, ptr %16, i64 7 + %3537 = load i8, ptr %3536, align 1, !tbaa !61 + %3538 = zext i8 %3537 to i64 + %3539 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3538 + %3540 = load i32, ptr %3539, align 4, !tbaa !47 + %3541 = and i32 %3532, -16777216 + %3542 = icmp eq i32 %3541, 134217728 + %3543 = select i1 %3542, i32 134217728, i32 0 + %3544 = or i32 %3540, %3543 + %3545 = getelementptr inbounds i8, ptr %3, i64 4 + %3546 = load i32, ptr %3545, align 4, !tbaa !58 + %3547 = getelementptr inbounds i8, ptr %2, i64 4 + %3548 = load i32, ptr %3547, align 4, !tbaa !58 + br label %5354 + +3549: ; preds = %3531 + %3550 = load i32, ptr %3, align 4, !tbaa !47 + %3551 = and i32 %3550, 3847 + %3552 = icmp eq i32 %3551, 1 + br i1 %3552, label %3553, label %3562 + +3553: ; preds = %3549 + %3554 = and i32 %3550, -16777216 + %3555 = icmp eq i32 %3554, 134217728 + %3556 = select i1 %3555, i32 134217728, i32 0 + %3557 = or i32 %3556, %165 + %3558 = getelementptr inbounds i8, ptr %2, i64 4 + %3559 = load i32, ptr %3558, align 4, !tbaa !58 + %3560 = getelementptr inbounds i8, ptr %3, i64 4 + %3561 = load i32, ptr %3560, align 4, !tbaa !58 + br label %5354 + +3562: ; preds = %3549 + %3563 = and i32 %159, 268435456 + %3564 = icmp eq i32 %3563, 0 + br i1 %3564, label %6031, label %3565 + +3565: ; preds = %3562 + %3566 = and i32 %159, -6299648 + %3567 = or disjoint i32 %3566, 4194686 + %3568 = getelementptr inbounds i8, ptr %2, i64 4 + %3569 = load i32, ptr %3568, align 4, !tbaa !58 + %3570 = getelementptr inbounds i8, ptr %3, i64 4 + %3571 = load i32, ptr %3570, align 4, !tbaa !58 + br label %5354 + +3572: ; preds = %3530 + %3573 = and i32 %159, 268435456 + %3574 = icmp eq i32 %3573, 0 + %3575 = and i32 %159, -6299648 + %3576 = or disjoint i32 %3575, 4194686 + %3577 = select i1 %3574, i32 %165, i32 %3576 + %3578 = getelementptr inbounds i8, ptr %2, i64 4 + %3579 = load i32, ptr %3578, align 4, !tbaa !58 + br label %5528 + +3580: ; preds = %3530 + %3581 = getelementptr inbounds i8, ptr %16, i64 7 + %3582 = load i8, ptr %3581, align 1, !tbaa !61 + %3583 = zext i8 %3582 to i64 + %3584 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3583 + %3585 = load i32, ptr %3584, align 4, !tbaa !47 + %3586 = and i32 %3585, 268435456 + %3587 = icmp eq i32 %3586, 0 + %3588 = and i32 %3585, -6299648 + %3589 = or disjoint i32 %3588, 2097622 + %3590 = select i1 %3587, i32 %3585, i32 %3589 + %3591 = getelementptr inbounds i8, ptr %3, i64 4 + %3592 = load i32, ptr %3591, align 4, !tbaa !58 + br label %5528 + +3593: ; preds = %153 + %3594 = load i32, ptr %2, align 4, !tbaa !31 + %3595 = load i32, ptr %3, align 4, !tbaa !31 + %3596 = or i32 %3595, %3594 + %3597 = lshr i32 %3596, 28 + %3598 = zext nneg i32 %3597 to i64 + %3599 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3598 + %3600 = load i32, ptr %3599, align 4, !tbaa !47 + %3601 = or i32 %3600, %165 + br label %3602 + +3602: ; preds = %3593, %153 + %3603 = phi i32 [ %165, %153 ], [ %3601, %3593 ] + switch i32 %31, label %6031 [ + i32 9, label %3604 + i32 17, label %3609 + i32 10, label %3612 ] -3608: ; preds = %3606 - %3609 = getelementptr inbounds i8, ptr %2, i64 4 - %3610 = load i32, ptr %3609, align 4, !tbaa !58 - %3611 = getelementptr inbounds i8, ptr %3, i64 4 - %3612 = load i32, ptr %3611, align 4, !tbaa !58 - br label %5358 - -3613: ; preds = %3606 - %3614 = getelementptr inbounds i8, ptr %2, i64 4 - %3615 = load i32, ptr %3614, align 4, !tbaa !58 - br label %5532 - -3616: ; preds = %3606 - %3617 = and i32 %3607, 1610612736 - %3618 = getelementptr inbounds i8, ptr %16, i64 7 - %3619 = load i8, ptr %3618, align 1, !tbaa !61 - %3620 = zext i8 %3619 to i64 - %3621 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3620 - %3622 = load i32, ptr %3621, align 4, !tbaa !47 - %3623 = or i32 %3622, %3617 - %3624 = getelementptr inbounds i8, ptr %3, i64 4 - %3625 = load i32, ptr %3624, align 4, !tbaa !58 - br label %5532 - -3626: ; preds = %153 - switch i32 %31, label %6035 [ - i32 73, label %3627 - i32 81, label %3642 - i32 137, label %3649 +3604: ; preds = %3602 + %3605 = getelementptr inbounds i8, ptr %2, i64 4 + %3606 = load i32, ptr %3605, align 4, !tbaa !58 + %3607 = getelementptr inbounds i8, ptr %3, i64 4 + %3608 = load i32, ptr %3607, align 4, !tbaa !58 + br label %5354 + +3609: ; preds = %3602 + %3610 = getelementptr inbounds i8, ptr %2, i64 4 + %3611 = load i32, ptr %3610, align 4, !tbaa !58 + br label %5528 + +3612: ; preds = %3602 + %3613 = and i32 %3603, 1610612736 + %3614 = getelementptr inbounds i8, ptr %16, i64 7 + %3615 = load i8, ptr %3614, align 1, !tbaa !61 + %3616 = zext i8 %3615 to i64 + %3617 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3616 + %3618 = load i32, ptr %3617, align 4, !tbaa !47 + %3619 = or i32 %3618, %3613 + %3620 = getelementptr inbounds i8, ptr %3, i64 4 + %3621 = load i32, ptr %3620, align 4, !tbaa !58 + br label %5528 + +3622: ; preds = %153 + switch i32 %31, label %6031 [ + i32 73, label %3623 + i32 81, label %3638 + i32 137, label %3645 ] -3627: ; preds = %3626 - %3628 = getelementptr inbounds i8, ptr %2, i64 4 - %3629 = load i32, ptr %3628, align 4, !tbaa !58 - %3630 = getelementptr inbounds i8, ptr %4, i64 4 +3623: ; preds = %3622 + %3624 = getelementptr inbounds i8, ptr %2, i64 4 + %3625 = load i32, ptr %3624, align 4, !tbaa !58 + %3626 = getelementptr inbounds i8, ptr %4, i64 4 + %3627 = load i32, ptr %3626, align 4, !tbaa !58 + %3628 = shl i32 %3627, 7 + %3629 = add i32 %3628, %3625 + %3630 = getelementptr inbounds i8, ptr %3, i64 4 %3631 = load i32, ptr %3630, align 4, !tbaa !58 - %3632 = shl i32 %3631, 7 - %3633 = add i32 %3632, %3629 - %3634 = getelementptr inbounds i8, ptr %3, i64 4 - %3635 = load i32, ptr %3634, align 4, !tbaa !58 - %3636 = and i32 %45, 256 - %3637 = icmp eq i32 %3636, 0 - br i1 %3637, label %5358, label %3638 - -3638: ; preds = %3627 - %3639 = or i32 %165, 134217728 - %3640 = shl i32 %3635, 7 - %3641 = add i32 %3640, %3629 - br label %5358 - -3642: ; preds = %3626 - %3643 = getelementptr inbounds i8, ptr %2, i64 4 - %3644 = load i32, ptr %3643, align 4, !tbaa !58 - %3645 = getelementptr inbounds i8, ptr %4, i64 4 - %3646 = load i32, ptr %3645, align 4, !tbaa !58 - %3647 = shl i32 %3646, 7 - %3648 = add i32 %3647, %3644 - br label %5532 - -3649: ; preds = %3626 - %3650 = or i32 %165, 134217728 - %3651 = getelementptr inbounds i8, ptr %2, i64 4 - %3652 = load i32, ptr %3651, align 4, !tbaa !58 - %3653 = getelementptr inbounds i8, ptr %3, i64 4 - %3654 = load i32, ptr %3653, align 4, !tbaa !58 - %3655 = shl i32 %3654, 7 - %3656 = add i32 %3655, %3652 - br label %5532 - -3657: ; preds = %153 - %3658 = load i32, ptr %2, align 4, !tbaa !31 - %3659 = load i32, ptr %3, align 4, !tbaa !31 - %3660 = or i32 %3659, %3658 - %3661 = lshr i32 %3660, 28 - %3662 = zext nneg i32 %3661 to i64 - %3663 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3662 - %3664 = load i32, ptr %3663, align 4, !tbaa !47 - %3665 = or i32 %3664, %165 - br label %3666 - -3666: ; preds = %3657, %153 - %3667 = phi i32 [ %165, %153 ], [ %3665, %3657 ] - switch i32 %31, label %3684 [ - i32 73, label %3668 - i32 137, label %3677 + %3632 = and i32 %45, 256 + %3633 = icmp eq i32 %3632, 0 + br i1 %3633, label %5354, label %3634 + +3634: ; preds = %3623 + %3635 = or i32 %165, 134217728 + %3636 = shl i32 %3631, 7 + %3637 = add i32 %3636, %3625 + br label %5354 + +3638: ; preds = %3622 + %3639 = getelementptr inbounds i8, ptr %2, i64 4 + %3640 = load i32, ptr %3639, align 4, !tbaa !58 + %3641 = getelementptr inbounds i8, ptr %4, i64 4 + %3642 = load i32, ptr %3641, align 4, !tbaa !58 + %3643 = shl i32 %3642, 7 + %3644 = add i32 %3643, %3640 + br label %5528 + +3645: ; preds = %3622 + %3646 = or i32 %165, 134217728 + %3647 = getelementptr inbounds i8, ptr %2, i64 4 + %3648 = load i32, ptr %3647, align 4, !tbaa !58 + %3649 = getelementptr inbounds i8, ptr %3, i64 4 + %3650 = load i32, ptr %3649, align 4, !tbaa !58 + %3651 = shl i32 %3650, 7 + %3652 = add i32 %3651, %3648 + br label %5528 + +3653: ; preds = %153 + %3654 = load i32, ptr %2, align 4, !tbaa !31 + %3655 = load i32, ptr %3, align 4, !tbaa !31 + %3656 = or i32 %3655, %3654 + %3657 = lshr i32 %3656, 28 + %3658 = zext nneg i32 %3657 to i64 + %3659 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3658 + %3660 = load i32, ptr %3659, align 4, !tbaa !47 + %3661 = or i32 %3660, %165 + br label %3662 + +3662: ; preds = %3653, %153 + %3663 = phi i32 [ %165, %153 ], [ %3661, %3653 ] + switch i32 %31, label %3680 [ + i32 73, label %3664 + i32 137, label %3673 ] -3668: ; preds = %3666 - %3669 = getelementptr inbounds i8, ptr %2, i64 4 - %3670 = load i32, ptr %3669, align 4, !tbaa !58 - %3671 = getelementptr inbounds i8, ptr %3, i64 4 +3664: ; preds = %3662 + %3665 = getelementptr inbounds i8, ptr %2, i64 4 + %3666 = load i32, ptr %3665, align 4, !tbaa !58 + %3667 = getelementptr inbounds i8, ptr %3, i64 4 + %3668 = load i32, ptr %3667, align 4, !tbaa !58 + %3669 = shl i32 %3668, 7 + %3670 = add i32 %3669, %3666 + %3671 = getelementptr inbounds i8, ptr %4, i64 4 %3672 = load i32, ptr %3671, align 4, !tbaa !58 - %3673 = shl i32 %3672, 7 - %3674 = add i32 %3673, %3670 - %3675 = getelementptr inbounds i8, ptr %4, i64 4 - %3676 = load i32, ptr %3675, align 4, !tbaa !58 - br label %5358 - -3677: ; preds = %3666 - %3678 = getelementptr inbounds i8, ptr %2, i64 4 - %3679 = load i32, ptr %3678, align 4, !tbaa !58 - %3680 = getelementptr inbounds i8, ptr %3, i64 4 - %3681 = load i32, ptr %3680, align 4, !tbaa !58 - %3682 = shl i32 %3681, 7 - %3683 = add i32 %3682, %3679 - br label %5532 - -3684: ; preds = %3666 - %3685 = and i32 %3667, 1610612736 - %3686 = getelementptr inbounds i8, ptr %16, i64 7 - %3687 = load i8, ptr %3686, align 1, !tbaa !61 - %3688 = zext i8 %3687 to i64 - %3689 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3688 - %3690 = load i32, ptr %3689, align 4, !tbaa !47 - %3691 = or i32 %3690, %3685 - %3692 = getelementptr inbounds i8, ptr %4, i64 8 - %3693 = load i64, ptr %3692, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3694 - i32 209, label %3699 + br label %5354 + +3673: ; preds = %3662 + %3674 = getelementptr inbounds i8, ptr %2, i64 4 + %3675 = load i32, ptr %3674, align 4, !tbaa !58 + %3676 = getelementptr inbounds i8, ptr %3, i64 4 + %3677 = load i32, ptr %3676, align 4, !tbaa !58 + %3678 = shl i32 %3677, 7 + %3679 = add i32 %3678, %3675 + br label %5528 + +3680: ; preds = %3662 + %3681 = and i32 %3663, 1610612736 + %3682 = getelementptr inbounds i8, ptr %16, i64 7 + %3683 = load i8, ptr %3682, align 1, !tbaa !61 + %3684 = zext i8 %3683 to i64 + %3685 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3684 + %3686 = load i32, ptr %3685, align 4, !tbaa !47 + %3687 = or i32 %3686, %3681 + %3688 = getelementptr inbounds i8, ptr %4, i64 8 + %3689 = load i64, ptr %3688, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3690 + i32 209, label %3695 ] -3694: ; preds = %3684 - %3695 = getelementptr inbounds i8, ptr %2, i64 4 - %3696 = load i32, ptr %3695, align 4, !tbaa !58 - %3697 = getelementptr inbounds i8, ptr %3, i64 4 - %3698 = load i32, ptr %3697, align 4, !tbaa !58 - br label %5358 +3690: ; preds = %3680 + %3691 = getelementptr inbounds i8, ptr %2, i64 4 + %3692 = load i32, ptr %3691, align 4, !tbaa !58 + %3693 = getelementptr inbounds i8, ptr %3, i64 4 + %3694 = load i32, ptr %3693, align 4, !tbaa !58 + br label %5354 + +3695: ; preds = %3680 + %3696 = getelementptr inbounds i8, ptr %2, i64 4 + %3697 = load i32, ptr %3696, align 4, !tbaa !58 + br label %5528 + +3698: ; preds = %153 + switch i32 %31, label %3729 [ + i32 73, label %3699 + i32 81, label %3714 + i32 137, label %3721 + ] -3699: ; preds = %3684 +3699: ; preds = %3698 %3700 = getelementptr inbounds i8, ptr %2, i64 4 %3701 = load i32, ptr %3700, align 4, !tbaa !58 - br label %5532 - -3702: ; preds = %153 - switch i32 %31, label %3733 [ - i32 73, label %3703 - i32 81, label %3718 - i32 137, label %3725 - ] - -3703: ; preds = %3702 - %3704 = getelementptr inbounds i8, ptr %2, i64 4 - %3705 = load i32, ptr %3704, align 4, !tbaa !58 - %3706 = getelementptr inbounds i8, ptr %4, i64 4 + %3702 = getelementptr inbounds i8, ptr %4, i64 4 + %3703 = load i32, ptr %3702, align 4, !tbaa !58 + %3704 = shl i32 %3703, 7 + %3705 = add i32 %3704, %3701 + %3706 = getelementptr inbounds i8, ptr %3, i64 4 %3707 = load i32, ptr %3706, align 4, !tbaa !58 - %3708 = shl i32 %3707, 7 - %3709 = add i32 %3708, %3705 - %3710 = getelementptr inbounds i8, ptr %3, i64 4 - %3711 = load i32, ptr %3710, align 4, !tbaa !58 - %3712 = and i32 %45, 256 - %3713 = icmp eq i32 %3712, 0 - br i1 %3713, label %5358, label %3714 - -3714: ; preds = %3703 - %3715 = or i32 %165, 134217728 - %3716 = shl i32 %3711, 7 - %3717 = add i32 %3716, %3705 - br label %5358 - -3718: ; preds = %3702 - %3719 = getelementptr inbounds i8, ptr %2, i64 4 - %3720 = load i32, ptr %3719, align 4, !tbaa !58 - %3721 = getelementptr inbounds i8, ptr %4, i64 4 - %3722 = load i32, ptr %3721, align 4, !tbaa !58 - %3723 = shl i32 %3722, 7 - %3724 = add i32 %3723, %3720 - br label %5532 - -3725: ; preds = %3702 - %3726 = or i32 %165, 134217728 - %3727 = getelementptr inbounds i8, ptr %2, i64 4 - %3728 = load i32, ptr %3727, align 4, !tbaa !58 - %3729 = getelementptr inbounds i8, ptr %3, i64 4 - %3730 = load i32, ptr %3729, align 4, !tbaa !58 - %3731 = shl i32 %3730, 7 - %3732 = add i32 %3731, %3728 - br label %5532 - -3733: ; preds = %3702 - %3734 = getelementptr inbounds i8, ptr %16, i64 7 - %3735 = load i8, ptr %3734, align 1, !tbaa !61 - %3736 = zext i8 %3735 to i64 - %3737 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3736 - %3738 = load i32, ptr %3737, align 4, !tbaa !47 - %3739 = getelementptr inbounds i8, ptr %4, i64 8 - %3740 = load i64, ptr %3739, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3741 - i32 209, label %3746 + %3708 = and i32 %45, 256 + %3709 = icmp eq i32 %3708, 0 + br i1 %3709, label %5354, label %3710 + +3710: ; preds = %3699 + %3711 = or i32 %165, 134217728 + %3712 = shl i32 %3707, 7 + %3713 = add i32 %3712, %3701 + br label %5354 + +3714: ; preds = %3698 + %3715 = getelementptr inbounds i8, ptr %2, i64 4 + %3716 = load i32, ptr %3715, align 4, !tbaa !58 + %3717 = getelementptr inbounds i8, ptr %4, i64 4 + %3718 = load i32, ptr %3717, align 4, !tbaa !58 + %3719 = shl i32 %3718, 7 + %3720 = add i32 %3719, %3716 + br label %5528 + +3721: ; preds = %3698 + %3722 = or i32 %165, 134217728 + %3723 = getelementptr inbounds i8, ptr %2, i64 4 + %3724 = load i32, ptr %3723, align 4, !tbaa !58 + %3725 = getelementptr inbounds i8, ptr %3, i64 4 + %3726 = load i32, ptr %3725, align 4, !tbaa !58 + %3727 = shl i32 %3726, 7 + %3728 = add i32 %3727, %3724 + br label %5528 + +3729: ; preds = %3698 + %3730 = getelementptr inbounds i8, ptr %16, i64 7 + %3731 = load i8, ptr %3730, align 1, !tbaa !61 + %3732 = zext i8 %3731 to i64 + %3733 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3732 + %3734 = load i32, ptr %3733, align 4, !tbaa !47 + %3735 = getelementptr inbounds i8, ptr %4, i64 8 + %3736 = load i64, ptr %3735, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3737 + i32 209, label %3742 ] -3741: ; preds = %3733 - %3742 = getelementptr inbounds i8, ptr %2, i64 4 - %3743 = load i32, ptr %3742, align 4, !tbaa !58 - %3744 = getelementptr inbounds i8, ptr %3, i64 4 - %3745 = load i32, ptr %3744, align 4, !tbaa !58 - br label %5358 +3737: ; preds = %3729 + %3738 = getelementptr inbounds i8, ptr %2, i64 4 + %3739 = load i32, ptr %3738, align 4, !tbaa !58 + %3740 = getelementptr inbounds i8, ptr %3, i64 4 + %3741 = load i32, ptr %3740, align 4, !tbaa !58 + br label %5354 + +3742: ; preds = %3729 + %3743 = getelementptr inbounds i8, ptr %2, i64 4 + %3744 = load i32, ptr %3743, align 4, !tbaa !58 + br label %5528 + +3745: ; preds = %153 + switch i32 %31, label %3762 [ + i32 73, label %3746 + i32 137, label %3755 + ] -3746: ; preds = %3733 +3746: ; preds = %3745 %3747 = getelementptr inbounds i8, ptr %2, i64 4 %3748 = load i32, ptr %3747, align 4, !tbaa !58 - br label %5532 - -3749: ; preds = %153 - switch i32 %31, label %3766 [ - i32 73, label %3750 - i32 137, label %3759 - ] - -3750: ; preds = %3749 - %3751 = getelementptr inbounds i8, ptr %2, i64 4 - %3752 = load i32, ptr %3751, align 4, !tbaa !58 - %3753 = getelementptr inbounds i8, ptr %3, i64 4 + %3749 = getelementptr inbounds i8, ptr %3, i64 4 + %3750 = load i32, ptr %3749, align 4, !tbaa !58 + %3751 = shl i32 %3750, 7 + %3752 = add i32 %3751, %3748 + %3753 = getelementptr inbounds i8, ptr %4, i64 4 %3754 = load i32, ptr %3753, align 4, !tbaa !58 - %3755 = shl i32 %3754, 7 - %3756 = add i32 %3755, %3752 - %3757 = getelementptr inbounds i8, ptr %4, i64 4 - %3758 = load i32, ptr %3757, align 4, !tbaa !58 - br label %5358 - -3759: ; preds = %3749 - %3760 = getelementptr inbounds i8, ptr %2, i64 4 - %3761 = load i32, ptr %3760, align 4, !tbaa !58 - %3762 = getelementptr inbounds i8, ptr %3, i64 4 - %3763 = load i32, ptr %3762, align 4, !tbaa !58 - %3764 = shl i32 %3763, 7 - %3765 = add i32 %3764, %3761 - br label %5532 - -3766: ; preds = %3749 - %3767 = getelementptr inbounds i8, ptr %16, i64 7 - %3768 = load i8, ptr %3767, align 1, !tbaa !61 - %3769 = zext i8 %3768 to i64 - %3770 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3769 - %3771 = load i32, ptr %3770, align 4, !tbaa !47 - switch i32 %31, label %6035 [ - i32 9, label %3772 - i32 10, label %3777 + br label %5354 + +3755: ; preds = %3745 + %3756 = getelementptr inbounds i8, ptr %2, i64 4 + %3757 = load i32, ptr %3756, align 4, !tbaa !58 + %3758 = getelementptr inbounds i8, ptr %3, i64 4 + %3759 = load i32, ptr %3758, align 4, !tbaa !58 + %3760 = shl i32 %3759, 7 + %3761 = add i32 %3760, %3757 + br label %5528 + +3762: ; preds = %3745 + %3763 = getelementptr inbounds i8, ptr %16, i64 7 + %3764 = load i8, ptr %3763, align 1, !tbaa !61 + %3765 = zext i8 %3764 to i64 + %3766 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3765 + %3767 = load i32, ptr %3766, align 4, !tbaa !47 + switch i32 %31, label %6031 [ + i32 9, label %3768 + i32 10, label %3773 ] -3772: ; preds = %3766 - %3773 = getelementptr inbounds i8, ptr %3, i64 4 - %3774 = load i32, ptr %3773, align 4, !tbaa !58 - %3775 = getelementptr inbounds i8, ptr %2, i64 4 - %3776 = load i32, ptr %3775, align 4, !tbaa !58 - br label %5358 - -3777: ; preds = %3766 - %3778 = getelementptr inbounds i8, ptr %3, i64 4 - %3779 = load i32, ptr %3778, align 4, !tbaa !58 - br label %5532 - -3780: ; preds = %153 - %3781 = load i32, ptr %2, align 4, !tbaa !31 - %3782 = load i32, ptr %3, align 4, !tbaa !31 - %3783 = or i32 %3782, %3781 - %3784 = lshr i32 %3783, 28 - %3785 = zext nneg i32 %3784 to i64 - %3786 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3785 - %3787 = load i32, ptr %3786, align 4, !tbaa !47 - %3788 = or i32 %3787, %165 - br label %3789 - -3789: ; preds = %3780, %153 - %3790 = phi i32 [ %165, %153 ], [ %3788, %3780 ] - switch i32 %31, label %6035 [ - i32 73, label %3791 - i32 137, label %3800 - i32 74, label %3807 +3768: ; preds = %3762 + %3769 = getelementptr inbounds i8, ptr %3, i64 4 + %3770 = load i32, ptr %3769, align 4, !tbaa !58 + %3771 = getelementptr inbounds i8, ptr %2, i64 4 + %3772 = load i32, ptr %3771, align 4, !tbaa !58 + br label %5354 + +3773: ; preds = %3762 + %3774 = getelementptr inbounds i8, ptr %3, i64 4 + %3775 = load i32, ptr %3774, align 4, !tbaa !58 + br label %5528 + +3776: ; preds = %153 + %3777 = load i32, ptr %2, align 4, !tbaa !31 + %3778 = load i32, ptr %3, align 4, !tbaa !31 + %3779 = or i32 %3778, %3777 + %3780 = lshr i32 %3779, 28 + %3781 = zext nneg i32 %3780 to i64 + %3782 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3781 + %3783 = load i32, ptr %3782, align 4, !tbaa !47 + %3784 = or i32 %3783, %165 + br label %3785 + +3785: ; preds = %3776, %153 + %3786 = phi i32 [ %165, %153 ], [ %3784, %3776 ] + switch i32 %31, label %6031 [ + i32 73, label %3787 + i32 137, label %3796 + i32 74, label %3803 ] -3791: ; preds = %3789 - %3792 = getelementptr inbounds i8, ptr %2, i64 4 - %3793 = load i32, ptr %3792, align 4, !tbaa !58 - %3794 = getelementptr inbounds i8, ptr %3, i64 4 +3787: ; preds = %3785 + %3788 = getelementptr inbounds i8, ptr %2, i64 4 + %3789 = load i32, ptr %3788, align 4, !tbaa !58 + %3790 = getelementptr inbounds i8, ptr %3, i64 4 + %3791 = load i32, ptr %3790, align 4, !tbaa !58 + %3792 = shl i32 %3791, 7 + %3793 = add i32 %3792, %3789 + %3794 = getelementptr inbounds i8, ptr %4, i64 4 %3795 = load i32, ptr %3794, align 4, !tbaa !58 - %3796 = shl i32 %3795, 7 - %3797 = add i32 %3796, %3793 - %3798 = getelementptr inbounds i8, ptr %4, i64 4 - %3799 = load i32, ptr %3798, align 4, !tbaa !58 - br label %5358 - -3800: ; preds = %3789 - %3801 = getelementptr inbounds i8, ptr %2, i64 4 - %3802 = load i32, ptr %3801, align 4, !tbaa !58 - %3803 = getelementptr inbounds i8, ptr %3, i64 4 - %3804 = load i32, ptr %3803, align 4, !tbaa !58 - %3805 = shl i32 %3804, 7 - %3806 = add i32 %3805, %3802 - br label %5532 - -3807: ; preds = %3789 - %3808 = and i32 %3790, 1610612736 - %3809 = getelementptr inbounds i8, ptr %16, i64 7 - %3810 = load i8, ptr %3809, align 1, !tbaa !61 - %3811 = zext i8 %3810 to i64 - %3812 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3811 - %3813 = load i32, ptr %3812, align 4, !tbaa !47 - %3814 = or i32 %3813, %3808 - %3815 = getelementptr inbounds i8, ptr %4, i64 4 - %3816 = load i32, ptr %3815, align 4, !tbaa !58 - %3817 = getelementptr inbounds i8, ptr %3, i64 4 - %3818 = load i32, ptr %3817, align 4, !tbaa !58 - %3819 = shl i32 %3818, 7 - %3820 = add i32 %3819, %3816 - br label %5532 - -3821: ; preds = %153 - %3822 = load i32, ptr %3, align 4, !tbaa !31 - %3823 = and i32 %3822, 7 - %3824 = icmp eq i32 %3823, 2 - %3825 = select i1 %3824, i32 4096, i32 0 - %3826 = or i32 %3825, %165 - br label %3827 - -3827: ; preds = %3821, %174 - %3828 = phi i32 [ %175, %174 ], [ %3822, %3821 ] - %3829 = phi i32 [ %165, %174 ], [ %3826, %3821 ] - %3830 = load i32, ptr %2, align 4, !tbaa !31 - %3831 = or i32 %3830, %3828 - %3832 = lshr i32 %3831, 28 - %3833 = zext nneg i32 %3832 to i64 - %3834 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3833 - %3835 = load i32, ptr %3834, align 4, !tbaa !47 - %3836 = or i32 %3835, %3829 - br label %3837 - -3837: ; preds = %3827, %153 - %3838 = phi i32 [ %165, %153 ], [ %3836, %3827 ] - switch i32 %31, label %3855 [ - i32 73, label %3839 - i32 137, label %3848 + br label %5354 + +3796: ; preds = %3785 + %3797 = getelementptr inbounds i8, ptr %2, i64 4 + %3798 = load i32, ptr %3797, align 4, !tbaa !58 + %3799 = getelementptr inbounds i8, ptr %3, i64 4 + %3800 = load i32, ptr %3799, align 4, !tbaa !58 + %3801 = shl i32 %3800, 7 + %3802 = add i32 %3801, %3798 + br label %5528 + +3803: ; preds = %3785 + %3804 = and i32 %3786, 1610612736 + %3805 = getelementptr inbounds i8, ptr %16, i64 7 + %3806 = load i8, ptr %3805, align 1, !tbaa !61 + %3807 = zext i8 %3806 to i64 + %3808 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3807 + %3809 = load i32, ptr %3808, align 4, !tbaa !47 + %3810 = or i32 %3809, %3804 + %3811 = getelementptr inbounds i8, ptr %4, i64 4 + %3812 = load i32, ptr %3811, align 4, !tbaa !58 + %3813 = getelementptr inbounds i8, ptr %3, i64 4 + %3814 = load i32, ptr %3813, align 4, !tbaa !58 + %3815 = shl i32 %3814, 7 + %3816 = add i32 %3815, %3812 + br label %5528 + +3817: ; preds = %153 + %3818 = load i32, ptr %3, align 4, !tbaa !31 + %3819 = and i32 %3818, 7 + %3820 = icmp eq i32 %3819, 2 + %3821 = select i1 %3820, i32 4096, i32 0 + %3822 = or i32 %3821, %165 + br label %3823 + +3823: ; preds = %3817, %174 + %3824 = phi i32 [ %175, %174 ], [ %3818, %3817 ] + %3825 = phi i32 [ %165, %174 ], [ %3822, %3817 ] + %3826 = load i32, ptr %2, align 4, !tbaa !31 + %3827 = or i32 %3826, %3824 + %3828 = lshr i32 %3827, 28 + %3829 = zext nneg i32 %3828 to i64 + %3830 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3829 + %3831 = load i32, ptr %3830, align 4, !tbaa !47 + %3832 = or i32 %3831, %3825 + br label %3833 + +3833: ; preds = %3823, %153 + %3834 = phi i32 [ %165, %153 ], [ %3832, %3823 ] + switch i32 %31, label %3851 [ + i32 73, label %3835 + i32 137, label %3844 ] -3839: ; preds = %3837 - %3840 = getelementptr inbounds i8, ptr %2, i64 4 - %3841 = load i32, ptr %3840, align 4, !tbaa !58 - %3842 = getelementptr inbounds i8, ptr %3, i64 4 +3835: ; preds = %3833 + %3836 = getelementptr inbounds i8, ptr %2, i64 4 + %3837 = load i32, ptr %3836, align 4, !tbaa !58 + %3838 = getelementptr inbounds i8, ptr %3, i64 4 + %3839 = load i32, ptr %3838, align 4, !tbaa !58 + %3840 = shl i32 %3839, 7 + %3841 = add i32 %3840, %3837 + %3842 = getelementptr inbounds i8, ptr %4, i64 4 %3843 = load i32, ptr %3842, align 4, !tbaa !58 - %3844 = shl i32 %3843, 7 - %3845 = add i32 %3844, %3841 - %3846 = getelementptr inbounds i8, ptr %4, i64 4 - %3847 = load i32, ptr %3846, align 4, !tbaa !58 - br label %5358 - -3848: ; preds = %3837 - %3849 = getelementptr inbounds i8, ptr %2, i64 4 - %3850 = load i32, ptr %3849, align 4, !tbaa !58 - %3851 = getelementptr inbounds i8, ptr %3, i64 4 - %3852 = load i32, ptr %3851, align 4, !tbaa !58 - %3853 = shl i32 %3852, 7 - %3854 = add i32 %3853, %3850 - br label %5532 - -3855: ; preds = %3837 - %3856 = and i32 %3838, 1610616832 - %3857 = getelementptr inbounds i8, ptr %16, i64 7 - %3858 = load i8, ptr %3857, align 1, !tbaa !61 - %3859 = zext i8 %3858 to i64 - %3860 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3859 - %3861 = load i32, ptr %3860, align 4, !tbaa !47 - %3862 = or i32 %3861, %3856 - %3863 = lshr i32 %3861, 18 - %3864 = and i32 %3863, 7 - %3865 = getelementptr inbounds i8, ptr %4, i64 8 - %3866 = load i64, ptr %3865, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3867 - i32 209, label %3874 + br label %5354 + +3844: ; preds = %3833 + %3845 = getelementptr inbounds i8, ptr %2, i64 4 + %3846 = load i32, ptr %3845, align 4, !tbaa !58 + %3847 = getelementptr inbounds i8, ptr %3, i64 4 + %3848 = load i32, ptr %3847, align 4, !tbaa !58 + %3849 = shl i32 %3848, 7 + %3850 = add i32 %3849, %3846 + br label %5528 + +3851: ; preds = %3833 + %3852 = and i32 %3834, 1610616832 + %3853 = getelementptr inbounds i8, ptr %16, i64 7 + %3854 = load i8, ptr %3853, align 1, !tbaa !61 + %3855 = zext i8 %3854 to i64 + %3856 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %3855 + %3857 = load i32, ptr %3856, align 4, !tbaa !47 + %3858 = or i32 %3857, %3852 + %3859 = lshr i32 %3857, 18 + %3860 = and i32 %3859, 7 + %3861 = getelementptr inbounds i8, ptr %4, i64 8 + %3862 = load i64, ptr %3861, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3863 + i32 209, label %3870 ] -3867: ; preds = %3855 - %3868 = getelementptr inbounds i8, ptr %2, i64 4 +3863: ; preds = %3851 + %3864 = getelementptr inbounds i8, ptr %2, i64 4 + %3865 = load i32, ptr %3864, align 4, !tbaa !58 + %3866 = shl i32 %3865, 7 + %3867 = or disjoint i32 %3866, %3860 + %3868 = getelementptr inbounds i8, ptr %3, i64 4 %3869 = load i32, ptr %3868, align 4, !tbaa !58 - %3870 = shl i32 %3869, 7 - %3871 = or disjoint i32 %3870, %3864 - %3872 = getelementptr inbounds i8, ptr %3, i64 4 - %3873 = load i32, ptr %3872, align 4, !tbaa !58 - br label %5358 - -3874: ; preds = %3855 - %3875 = getelementptr inbounds i8, ptr %2, i64 4 - %3876 = load i32, ptr %3875, align 4, !tbaa !58 - %3877 = shl i32 %3876, 7 - %3878 = or disjoint i32 %3877, %3864 - br label %5532 - -3879: ; preds = %153 - %3880 = load i32, ptr %2, align 4, !tbaa !31 - %3881 = and i32 %3880, -16773121 - %3882 = icmp eq i32 %3881, 134217785 - %3883 = load i32, ptr %3, align 4, !tbaa !31 - %3884 = and i32 %3883, -16773121 - %3885 = icmp eq i32 %3884, 134217785 - %3886 = or i1 %3882, %3885 - %3887 = select i1 %3886, i32 134217728, i32 0 - %3888 = or i32 %3887, %165 - br label %3889 - -3889: ; preds = %3879, %153 - %3890 = phi i32 [ %165, %153 ], [ %3888, %3879 ] - switch i32 %31, label %6035 [ - i32 9, label %3891 - i32 17, label %3898 + br label %5354 + +3870: ; preds = %3851 + %3871 = getelementptr inbounds i8, ptr %2, i64 4 + %3872 = load i32, ptr %3871, align 4, !tbaa !58 + %3873 = shl i32 %3872, 7 + %3874 = or disjoint i32 %3873, %3860 + br label %5528 + +3875: ; preds = %153 + %3876 = load i32, ptr %2, align 4, !tbaa !31 + %3877 = and i32 %3876, -16773121 + %3878 = icmp eq i32 %3877, 134217785 + %3879 = load i32, ptr %3, align 4, !tbaa !31 + %3880 = and i32 %3879, -16773121 + %3881 = icmp eq i32 %3880, 134217785 + %3882 = or i1 %3878, %3881 + %3883 = select i1 %3882, i32 134217728, i32 0 + %3884 = or i32 %3883, %165 + br label %3885 + +3885: ; preds = %3875, %153 + %3886 = phi i32 [ %165, %153 ], [ %3884, %3875 ] + switch i32 %31, label %6031 [ + i32 9, label %3887 + i32 17, label %3894 ] -3891: ; preds = %3889 - %3892 = getelementptr inbounds i8, ptr %2, i64 4 +3887: ; preds = %3885 + %3888 = getelementptr inbounds i8, ptr %2, i64 4 + %3889 = load i32, ptr %3888, align 4, !tbaa !58 + %3890 = shl i32 %3889, 7 + %3891 = or disjoint i32 %3890, %161 + %3892 = getelementptr inbounds i8, ptr %3, i64 4 %3893 = load i32, ptr %3892, align 4, !tbaa !58 - %3894 = shl i32 %3893, 7 - %3895 = or disjoint i32 %3894, %161 - %3896 = getelementptr inbounds i8, ptr %3, i64 4 - %3897 = load i32, ptr %3896, align 4, !tbaa !58 - br label %5358 - -3898: ; preds = %3889 - %3899 = getelementptr inbounds i8, ptr %2, i64 4 - %3900 = load i32, ptr %3899, align 4, !tbaa !58 - %3901 = shl i32 %3900, 7 - %3902 = or disjoint i32 %3901, %161 - br label %5532 - -3903: ; preds = %153 - %3904 = icmp eq i32 %31, 209 - %3905 = or i32 %165, 4096 - %3906 = select i1 %3904, i32 %3905, i32 %165 - br label %3907 - -3907: ; preds = %3903, %153 - %3908 = phi i32 [ %165, %153 ], [ %3906, %3903 ] - %3909 = load i32, ptr %2, align 4, !tbaa !31 - %3910 = load i32, ptr %3, align 4, !tbaa !31 - %3911 = or i32 %3910, %3909 - %3912 = lshr i32 %3911, 28 - %3913 = zext nneg i32 %3912 to i64 - %3914 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3913 - %3915 = load i32, ptr %3914, align 4, !tbaa !47 - %3916 = or i32 %3915, %3908 - br label %3917 - -3917: ; preds = %3944, %3907, %153 - %3918 = phi i32 [ %3946, %3944 ], [ %165, %153 ], [ %3916, %3907 ] - %3919 = phi i8 [ 4, %3944 ], [ 1, %153 ], [ 1, %3907 ] - %3920 = getelementptr inbounds i8, ptr %4, i64 8 - %3921 = load i64, ptr %3920, align 4 - switch i32 %31, label %6035 [ - i32 201, label %3922 - i32 209, label %3929 + br label %5354 + +3894: ; preds = %3885 + %3895 = getelementptr inbounds i8, ptr %2, i64 4 + %3896 = load i32, ptr %3895, align 4, !tbaa !58 + %3897 = shl i32 %3896, 7 + %3898 = or disjoint i32 %3897, %161 + br label %5528 + +3899: ; preds = %153 + %3900 = icmp eq i32 %31, 209 + %3901 = or i32 %165, 4096 + %3902 = select i1 %3900, i32 %3901, i32 %165 + br label %3903 + +3903: ; preds = %3899, %153 + %3904 = phi i32 [ %165, %153 ], [ %3902, %3899 ] + %3905 = load i32, ptr %2, align 4, !tbaa !31 + %3906 = load i32, ptr %3, align 4, !tbaa !31 + %3907 = or i32 %3906, %3905 + %3908 = lshr i32 %3907, 28 + %3909 = zext nneg i32 %3908 to i64 + %3910 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3909 + %3911 = load i32, ptr %3910, align 4, !tbaa !47 + %3912 = or i32 %3911, %3904 + br label %3913 + +3913: ; preds = %3940, %3903, %153 + %3914 = phi i32 [ %3942, %3940 ], [ %165, %153 ], [ %3912, %3903 ] + %3915 = phi i8 [ 4, %3940 ], [ 1, %153 ], [ 1, %3903 ] + %3916 = getelementptr inbounds i8, ptr %4, i64 8 + %3917 = load i64, ptr %3916, align 4 + switch i32 %31, label %6031 [ + i32 201, label %3918 + i32 209, label %3925 ] -3922: ; preds = %3917 - %3923 = getelementptr inbounds i8, ptr %2, i64 4 +3918: ; preds = %3913 + %3919 = getelementptr inbounds i8, ptr %2, i64 4 + %3920 = load i32, ptr %3919, align 4, !tbaa !58 + %3921 = shl i32 %3920, 7 + %3922 = or disjoint i32 %3921, %161 + %3923 = getelementptr inbounds i8, ptr %3, i64 4 %3924 = load i32, ptr %3923, align 4, !tbaa !58 - %3925 = shl i32 %3924, 7 - %3926 = or disjoint i32 %3925, %161 - %3927 = getelementptr inbounds i8, ptr %3, i64 4 - %3928 = load i32, ptr %3927, align 4, !tbaa !58 - br label %5358 - -3929: ; preds = %3917 - %3930 = getelementptr inbounds i8, ptr %2, i64 4 - %3931 = load i32, ptr %3930, align 4, !tbaa !58 - %3932 = shl i32 %3931, 7 - %3933 = or disjoint i32 %3932, %161 - br label %5532 - -3934: ; preds = %153 - %3935 = load i32, ptr %2, align 4, !tbaa !31 - %3936 = and i32 %3935, -16773121 - %3937 = icmp eq i32 %3936, 134217785 - br i1 %3937, label %3943, label %3938 - -3938: ; preds = %3934 - %3939 = load i32, ptr %3, align 4, !tbaa !31 - %3940 = freeze i32 %3939 - %3941 = and i32 %3940, -16777216 - %3942 = icmp eq i32 %3941, 134217728 - br i1 %3942, label %3943, label %3944 - -3943: ; preds = %3938, %3934 - br label %3944 - -3944: ; preds = %3943, %3938 - %3945 = phi i32 [ 134217728, %3943 ], [ 0, %3938 ] - %3946 = or i32 %3945, %165 - br label %3917 - -3947: ; preds = %153 - %3948 = load i32, ptr %2, align 4, !tbaa !31 - %3949 = load i32, ptr %3, align 4, !tbaa !31 - %3950 = or i32 %3949, %3948 - %3951 = lshr i32 %3950, 28 - %3952 = zext nneg i32 %3951 to i64 - %3953 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3952 - %3954 = load i32, ptr %3953, align 4, !tbaa !47 - %3955 = or i32 %3954, %165 - br label %3956 - -3956: ; preds = %3947, %153 - %3957 = phi i32 [ %165, %153 ], [ %3955, %3947 ] - %3958 = load i32, ptr %5, align 4, !tbaa !31 - %3959 = shl i32 %3958, 9 - %3960 = and i32 %3959, 3584 - %3961 = or disjoint i32 %3960, %31 - switch i32 %3961, label %6035 [ - i32 585, label %3978 - i32 1097, label %3962 - i32 649, label %3964 + br label %5354 + +3925: ; preds = %3913 + %3926 = getelementptr inbounds i8, ptr %2, i64 4 + %3927 = load i32, ptr %3926, align 4, !tbaa !58 + %3928 = shl i32 %3927, 7 + %3929 = or disjoint i32 %3928, %161 + br label %5528 + +3930: ; preds = %153 + %3931 = load i32, ptr %2, align 4, !tbaa !31 + %3932 = and i32 %3931, -16773121 + %3933 = icmp eq i32 %3932, 134217785 + br i1 %3933, label %3939, label %3934 + +3934: ; preds = %3930 + %3935 = load i32, ptr %3, align 4, !tbaa !31 + %3936 = freeze i32 %3935 + %3937 = and i32 %3936, -16777216 + %3938 = icmp eq i32 %3937, 134217728 + br i1 %3938, label %3939, label %3940 + +3939: ; preds = %3934, %3930 + br label %3940 + +3940: ; preds = %3939, %3934 + %3941 = phi i32 [ 134217728, %3939 ], [ 0, %3934 ] + %3942 = or i32 %3941, %165 + br label %3913 + +3943: ; preds = %153 + %3944 = load i32, ptr %2, align 4, !tbaa !31 + %3945 = load i32, ptr %3, align 4, !tbaa !31 + %3946 = or i32 %3945, %3944 + %3947 = lshr i32 %3946, 28 + %3948 = zext nneg i32 %3947 to i64 + %3949 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %3948 + %3950 = load i32, ptr %3949, align 4, !tbaa !47 + %3951 = or i32 %3950, %165 + br label %3952 + +3952: ; preds = %3943, %153 + %3953 = phi i32 [ %165, %153 ], [ %3951, %3943 ] + %3954 = load i32, ptr %5, align 4, !tbaa !31 + %3955 = shl i32 %3954, 9 + %3956 = and i32 %3955, 3584 + %3957 = or disjoint i32 %3956, %31 + switch i32 %3957, label %6031 [ + i32 585, label %3974 + i32 1097, label %3958 + i32 649, label %3960 ] -3962: ; preds = %3956 - %3963 = or i32 %3957, 134217728 - br label %3964 - -3964: ; preds = %3962, %3956 - %3965 = phi i32 [ %3963, %3962 ], [ %3957, %3956 ] - %3966 = phi ptr [ %4, %3962 ], [ %5, %3956 ] - %3967 = phi ptr [ %5, %3962 ], [ %4, %3956 ] - %3968 = getelementptr inbounds i8, ptr %2, i64 4 - %3969 = load i32, ptr %3968, align 4, !tbaa !58 - %3970 = getelementptr inbounds i8, ptr %3, i64 4 +3958: ; preds = %3952 + %3959 = or i32 %3953, 134217728 + br label %3960 + +3960: ; preds = %3958, %3952 + %3961 = phi i32 [ %3959, %3958 ], [ %3953, %3952 ] + %3962 = phi ptr [ %4, %3958 ], [ %5, %3952 ] + %3963 = phi ptr [ %5, %3958 ], [ %4, %3952 ] + %3964 = getelementptr inbounds i8, ptr %2, i64 4 + %3965 = load i32, ptr %3964, align 4, !tbaa !58 + %3966 = getelementptr inbounds i8, ptr %3, i64 4 + %3967 = load i32, ptr %3966, align 4, !tbaa !58 + %3968 = shl i32 %3967, 7 + %3969 = add i32 %3968, %3965 + %3970 = getelementptr inbounds i8, ptr %3962, i64 4 %3971 = load i32, ptr %3970, align 4, !tbaa !58 - %3972 = shl i32 %3971, 7 - %3973 = add i32 %3972, %3969 - %3974 = getelementptr inbounds i8, ptr %3966, i64 4 - %3975 = load i32, ptr %3974, align 4, !tbaa !58 - %3976 = shl i32 %3975, 4 - %3977 = zext i32 %3976 to i64 - br label %5532 - -3978: ; preds = %3956 - %3979 = getelementptr inbounds i8, ptr %2, i64 4 - %3980 = load i32, ptr %3979, align 4, !tbaa !58 - %3981 = getelementptr inbounds i8, ptr %3, i64 4 + %3972 = shl i32 %3971, 4 + %3973 = zext i32 %3972 to i64 + br label %5528 + +3974: ; preds = %3952 + %3975 = getelementptr inbounds i8, ptr %2, i64 4 + %3976 = load i32, ptr %3975, align 4, !tbaa !58 + %3977 = getelementptr inbounds i8, ptr %3, i64 4 + %3978 = load i32, ptr %3977, align 4, !tbaa !58 + %3979 = shl i32 %3978, 7 + %3980 = add i32 %3979, %3976 + %3981 = getelementptr inbounds i8, ptr %4, i64 4 %3982 = load i32, ptr %3981, align 4, !tbaa !58 - %3983 = shl i32 %3982, 7 - %3984 = add i32 %3983, %3980 - %3985 = getelementptr inbounds i8, ptr %4, i64 4 - %3986 = load i32, ptr %3985, align 4, !tbaa !58 - %3987 = getelementptr inbounds i8, ptr %5, i64 4 - %3988 = load i32, ptr %3987, align 4, !tbaa !58 - %3989 = shl i32 %3988, 4 - %3990 = zext i32 %3989 to i64 - br label %5358 - -3991: ; preds = %153 - %3992 = getelementptr inbounds i8, ptr %5, i64 16 - %3993 = load i32, ptr %3992, align 4, !tbaa !31 - %3994 = and i32 %3993, 7 - %3995 = icmp eq i32 %3994, 3 - br i1 %3995, label %3996, label %6035, !prof !35 - -3996: ; preds = %3991 - %3997 = load i32, ptr %5, align 4, !tbaa !31 - %3998 = shl i32 %3997, 9 - %3999 = and i32 %3998, 3584 - %4000 = or disjoint i32 %3999, %31 - %4001 = load i32, ptr %2, align 4, !tbaa !31 - %4002 = load i32, ptr %3, align 4, !tbaa !31 - %4003 = load i32, ptr %4, align 4, !tbaa !31 - %4004 = or i32 %4001, %4002 - %4005 = or i32 %4004, %4003 - %4006 = or i32 %4005, %3997 - %4007 = lshr i32 %4006, 28 - %4008 = zext nneg i32 %4007 to i64 - %4009 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %4008 - %4010 = load i32, ptr %4009, align 4, !tbaa !47 - %4011 = or i32 %4010, %165 - %4012 = getelementptr inbounds i8, ptr %5, i64 24 - %4013 = load i64, ptr %4012, align 4 - %4014 = and i64 %4013, 15 - switch i32 %4000, label %6035 [ - i32 585, label %4040 - i32 1097, label %4015 - i32 649, label %4028 + %3983 = getelementptr inbounds i8, ptr %5, i64 4 + %3984 = load i32, ptr %3983, align 4, !tbaa !58 + %3985 = shl i32 %3984, 4 + %3986 = zext i32 %3985 to i64 + br label %5354 + +3987: ; preds = %153 + %3988 = getelementptr inbounds i8, ptr %5, i64 16 + %3989 = load i32, ptr %3988, align 4, !tbaa !31 + %3990 = and i32 %3989, 7 + %3991 = icmp eq i32 %3990, 3 + br i1 %3991, label %3992, label %6031, !prof !35 + +3992: ; preds = %3987 + %3993 = load i32, ptr %5, align 4, !tbaa !31 + %3994 = shl i32 %3993, 9 + %3995 = and i32 %3994, 3584 + %3996 = or disjoint i32 %3995, %31 + %3997 = load i32, ptr %2, align 4, !tbaa !31 + %3998 = load i32, ptr %3, align 4, !tbaa !31 + %3999 = load i32, ptr %4, align 4, !tbaa !31 + %4000 = or i32 %3997, %3998 + %4001 = or i32 %4000, %3999 + %4002 = or i32 %4001, %3993 + %4003 = lshr i32 %4002, 28 + %4004 = zext nneg i32 %4003 to i64 + %4005 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %4004 + %4006 = load i32, ptr %4005, align 4, !tbaa !47 + %4007 = or i32 %4006, %165 + %4008 = getelementptr inbounds i8, ptr %5, i64 24 + %4009 = load i64, ptr %4008, align 4 + %4010 = and i64 %4009, 15 + switch i32 %3996, label %6031 [ + i32 585, label %4036 + i32 1097, label %4011 + i32 649, label %4024 ] -4015: ; preds = %3996 - %4016 = or i32 %4011, 134217728 - %4017 = getelementptr inbounds i8, ptr %2, i64 4 - %4018 = load i32, ptr %4017, align 4, !tbaa !58 - %4019 = getelementptr inbounds i8, ptr %3, i64 4 +4011: ; preds = %3992 + %4012 = or i32 %4007, 134217728 + %4013 = getelementptr inbounds i8, ptr %2, i64 4 + %4014 = load i32, ptr %4013, align 4, !tbaa !58 + %4015 = getelementptr inbounds i8, ptr %3, i64 4 + %4016 = load i32, ptr %4015, align 4, !tbaa !58 + %4017 = shl i32 %4016, 7 + %4018 = add i32 %4017, %4014 + %4019 = getelementptr inbounds i8, ptr %4, i64 4 %4020 = load i32, ptr %4019, align 4, !tbaa !58 - %4021 = shl i32 %4020, 7 - %4022 = add i32 %4021, %4018 - %4023 = getelementptr inbounds i8, ptr %4, i64 4 - %4024 = load i32, ptr %4023, align 4, !tbaa !58 - %4025 = shl i32 %4024, 4 - %4026 = zext i32 %4025 to i64 - %4027 = or disjoint i64 %4014, %4026 - br label %5532 - -4028: ; preds = %3996 - %4029 = getelementptr inbounds i8, ptr %2, i64 4 - %4030 = load i32, ptr %4029, align 4, !tbaa !58 - %4031 = getelementptr inbounds i8, ptr %3, i64 4 + %4021 = shl i32 %4020, 4 + %4022 = zext i32 %4021 to i64 + %4023 = or disjoint i64 %4010, %4022 + br label %5528 + +4024: ; preds = %3992 + %4025 = getelementptr inbounds i8, ptr %2, i64 4 + %4026 = load i32, ptr %4025, align 4, !tbaa !58 + %4027 = getelementptr inbounds i8, ptr %3, i64 4 + %4028 = load i32, ptr %4027, align 4, !tbaa !58 + %4029 = shl i32 %4028, 7 + %4030 = add i32 %4029, %4026 + %4031 = getelementptr inbounds i8, ptr %5, i64 4 %4032 = load i32, ptr %4031, align 4, !tbaa !58 - %4033 = shl i32 %4032, 7 - %4034 = add i32 %4033, %4030 - %4035 = getelementptr inbounds i8, ptr %5, i64 4 - %4036 = load i32, ptr %4035, align 4, !tbaa !58 - %4037 = shl i32 %4036, 4 - %4038 = zext i32 %4037 to i64 - %4039 = or disjoint i64 %4014, %4038 - br label %5532 - -4040: ; preds = %3996 - %4041 = getelementptr inbounds i8, ptr %2, i64 4 - %4042 = load i32, ptr %4041, align 4, !tbaa !58 - %4043 = getelementptr inbounds i8, ptr %3, i64 4 + %4033 = shl i32 %4032, 4 + %4034 = zext i32 %4033 to i64 + %4035 = or disjoint i64 %4010, %4034 + br label %5528 + +4036: ; preds = %3992 + %4037 = getelementptr inbounds i8, ptr %2, i64 4 + %4038 = load i32, ptr %4037, align 4, !tbaa !58 + %4039 = getelementptr inbounds i8, ptr %3, i64 4 + %4040 = load i32, ptr %4039, align 4, !tbaa !58 + %4041 = shl i32 %4040, 7 + %4042 = add i32 %4041, %4038 + %4043 = getelementptr inbounds i8, ptr %4, i64 4 %4044 = load i32, ptr %4043, align 4, !tbaa !58 - %4045 = shl i32 %4044, 7 - %4046 = add i32 %4045, %4042 - %4047 = getelementptr inbounds i8, ptr %4, i64 4 - %4048 = load i32, ptr %4047, align 4, !tbaa !58 - %4049 = getelementptr inbounds i8, ptr %5, i64 4 - %4050 = load i32, ptr %4049, align 4, !tbaa !58 - %4051 = shl i32 %4050, 4 - %4052 = zext i32 %4051 to i64 - %4053 = or disjoint i64 %4014, %4052 - br label %5358 - -4054: ; preds = %153 - switch i32 %31, label %6035 [ - i32 73, label %3275 - i32 17, label %4055 - i32 10, label %4058 + %4045 = getelementptr inbounds i8, ptr %5, i64 4 + %4046 = load i32, ptr %4045, align 4, !tbaa !58 + %4047 = shl i32 %4046, 4 + %4048 = zext i32 %4047 to i64 + %4049 = or disjoint i64 %4010, %4048 + br label %5354 + +4050: ; preds = %153 + switch i32 %31, label %6031 [ + i32 73, label %3271 + i32 17, label %4051 + i32 10, label %4054 ] -4055: ; preds = %4054 - %4056 = getelementptr inbounds i8, ptr %2, i64 4 - %4057 = load i32, ptr %4056, align 4, !tbaa !58 - br label %5532 - -4058: ; preds = %4054 - %4059 = getelementptr inbounds i8, ptr %16, i64 7 - %4060 = load i8, ptr %4059, align 1, !tbaa !61 - %4061 = zext i8 %4060 to i64 - %4062 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %4061 - %4063 = load i32, ptr %4062, align 4, !tbaa !47 - %4064 = getelementptr inbounds i8, ptr %3, i64 4 - %4065 = load i32, ptr %4064, align 4, !tbaa !58 - br label %5532 - -4066: ; preds = %153 - %4067 = load i32, ptr %2, align 4, !tbaa !31 - %4068 = load i32, ptr %3, align 4, !tbaa !31 - %4069 = or i32 %4068, %4067 - %4070 = lshr i32 %4069, 28 - %4071 = zext nneg i32 %4070 to i64 - %4072 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %4071 - %4073 = load i32, ptr %4072, align 4, !tbaa !47 - %4074 = or i32 %4073, %165 - br label %4075 - -4075: ; preds = %4066, %153 - %4076 = phi i32 [ %165, %153 ], [ %4074, %4066 ] - %4077 = load i32, ptr %5, align 4, !tbaa !31 - %4078 = shl i32 %4077, 9 - %4079 = and i32 %4078, 3584 - %4080 = or disjoint i32 %4079, %31 - switch i32 %4080, label %6035 [ - i32 585, label %4081 - i32 1097, label %4100 - i32 649, label %4102 +4051: ; preds = %4050 + %4052 = getelementptr inbounds i8, ptr %2, i64 4 + %4053 = load i32, ptr %4052, align 4, !tbaa !58 + br label %5528 + +4054: ; preds = %4050 + %4055 = getelementptr inbounds i8, ptr %16, i64 7 + %4056 = load i8, ptr %4055, align 1, !tbaa !61 + %4057 = zext i8 %4056 to i64 + %4058 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %4057 + %4059 = load i32, ptr %4058, align 4, !tbaa !47 + %4060 = getelementptr inbounds i8, ptr %3, i64 4 + %4061 = load i32, ptr %4060, align 4, !tbaa !58 + br label %5528 + +4062: ; preds = %153 + %4063 = load i32, ptr %2, align 4, !tbaa !31 + %4064 = load i32, ptr %3, align 4, !tbaa !31 + %4065 = or i32 %4064, %4063 + %4066 = lshr i32 %4065, 28 + %4067 = zext nneg i32 %4066 to i64 + %4068 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L16x86LLBySizeDiv16E, i64 0, i64 %4067 + %4069 = load i32, ptr %4068, align 4, !tbaa !47 + %4070 = or i32 %4069, %165 + br label %4071 + +4071: ; preds = %4062, %153 + %4072 = phi i32 [ %165, %153 ], [ %4070, %4062 ] + %4073 = load i32, ptr %5, align 4, !tbaa !31 + %4074 = shl i32 %4073, 9 + %4075 = and i32 %4074, 3584 + %4076 = or disjoint i32 %4075, %31 + switch i32 %4076, label %6031 [ + i32 585, label %4077 + i32 1097, label %4096 + i32 649, label %4098 ] -4081: ; preds = %4075 - %4082 = getelementptr inbounds i8, ptr %2, i64 4 - %4083 = load i32, ptr %4082, align 4, !tbaa !58 - %4084 = getelementptr inbounds i8, ptr %3, i64 4 - %4085 = load i32, ptr %4084, align 4, !tbaa !58 - %4086 = shl i32 %4085, 7 - %4087 = add i32 %4086, %4083 - %4088 = and i32 %45, 256 - %4089 = icmp eq i32 %4088, 0 - %4090 = or i32 %4076, 134217728 - %4091 = select i1 %4089, ptr %5, ptr %4 - %4092 = select i1 %4089, i32 %4090, i32 %4076 - %4093 = select i1 %4089, ptr %4, ptr %5 - %4094 = getelementptr inbounds i8, ptr %4093, i64 4 - %4095 = load i32, ptr %4094, align 4, !tbaa !58 - %4096 = shl i32 %4095, 4 - %4097 = getelementptr inbounds i8, ptr %4091, i64 4 - %4098 = load i32, ptr %4097, align 4, !tbaa !58 - %4099 = zext i32 %4096 to i64 - br label %5358 - -4100: ; preds = %4075 - %4101 = or i32 %4076, 134217728 - br label %4102 - -4102: ; preds = %4100, %4075 - %4103 = phi i32 [ %4101, %4100 ], [ %4076, %4075 ] - %4104 = phi ptr [ %4, %4100 ], [ %5, %4075 ] - %4105 = phi ptr [ %5, %4100 ], [ %4, %4075 ] - %4106 = getelementptr inbounds i8, ptr %2, i64 4 - %4107 = load i32, ptr %4106, align 4, !tbaa !58 - %4108 = getelementptr inbounds i8, ptr %3, i64 4 +4077: ; preds = %4071 + %4078 = getelementptr inbounds i8, ptr %2, i64 4 + %4079 = load i32, ptr %4078, align 4, !tbaa !58 + %4080 = getelementptr inbounds i8, ptr %3, i64 4 + %4081 = load i32, ptr %4080, align 4, !tbaa !58 + %4082 = shl i32 %4081, 7 + %4083 = add i32 %4082, %4079 + %4084 = and i32 %45, 256 + %4085 = icmp eq i32 %4084, 0 + %4086 = or i32 %4072, 134217728 + %4087 = select i1 %4085, ptr %5, ptr %4 + %4088 = select i1 %4085, i32 %4086, i32 %4072 + %4089 = select i1 %4085, ptr %4, ptr %5 + %4090 = getelementptr inbounds i8, ptr %4089, i64 4 + %4091 = load i32, ptr %4090, align 4, !tbaa !58 + %4092 = shl i32 %4091, 4 + %4093 = getelementptr inbounds i8, ptr %4087, i64 4 + %4094 = load i32, ptr %4093, align 4, !tbaa !58 + %4095 = zext i32 %4092 to i64 + br label %5354 + +4096: ; preds = %4071 + %4097 = or i32 %4072, 134217728 + br label %4098 + +4098: ; preds = %4096, %4071 + %4099 = phi i32 [ %4097, %4096 ], [ %4072, %4071 ] + %4100 = phi ptr [ %4, %4096 ], [ %5, %4071 ] + %4101 = phi ptr [ %5, %4096 ], [ %4, %4071 ] + %4102 = getelementptr inbounds i8, ptr %2, i64 4 + %4103 = load i32, ptr %4102, align 4, !tbaa !58 + %4104 = getelementptr inbounds i8, ptr %3, i64 4 + %4105 = load i32, ptr %4104, align 4, !tbaa !58 + %4106 = shl i32 %4105, 7 + %4107 = add i32 %4106, %4103 + %4108 = getelementptr inbounds i8, ptr %4100, i64 4 %4109 = load i32, ptr %4108, align 4, !tbaa !58 - %4110 = shl i32 %4109, 7 - %4111 = add i32 %4110, %4107 - %4112 = getelementptr inbounds i8, ptr %4104, i64 4 - %4113 = load i32, ptr %4112, align 4, !tbaa !58 - %4114 = shl i32 %4113, 4 - %4115 = zext i32 %4114 to i64 - br label %5532 - -4116: ; preds = %153 - %4117 = icmp eq i32 %31, 2 - br i1 %4117, label %5532, label %6035 - -4118: ; preds = %153 - %4119 = icmp eq i32 %31, 1 - br i1 %4119, label %4120, label %6035 - -4120: ; preds = %4118 - %4121 = getelementptr inbounds i8, ptr %2, i64 4 - %4122 = load i32, ptr %4121, align 4, !tbaa !58 - br label %5358 - -4123: ; preds = %153 - %4124 = icmp eq i32 %31, 17 - br i1 %4124, label %4125, label %6035 - -4125: ; preds = %4123 - %4126 = getelementptr inbounds i8, ptr %2, i64 4 - %4127 = load i32, ptr %4126, align 4, !tbaa !58 - br label %5532 - -4128: ; preds = %153 - %4129 = icmp eq i32 %31, 10 - br i1 %4129, label %4130, label %6035 - -4130: ; preds = %4128 - %4131 = getelementptr inbounds i8, ptr %3, i64 4 - %4132 = load i32, ptr %4131, align 4, !tbaa !58 - br label %5532 - -4133: ; preds = %153 - %4134 = icmp eq i32 %31, 73 - br i1 %4134, label %4135, label %6035 - -4135: ; preds = %4133 - %4136 = getelementptr inbounds i8, ptr %2, i64 4 - %4137 = load i32, ptr %4136, align 4, !tbaa !58 - %4138 = getelementptr inbounds i8, ptr %4, i64 4 + %4110 = shl i32 %4109, 4 + %4111 = zext i32 %4110 to i64 + br label %5528 + +4112: ; preds = %153 + %4113 = icmp eq i32 %31, 2 + br i1 %4113, label %5528, label %6031 + +4114: ; preds = %153 + %4115 = icmp eq i32 %31, 1 + br i1 %4115, label %4116, label %6031 + +4116: ; preds = %4114 + %4117 = getelementptr inbounds i8, ptr %2, i64 4 + %4118 = load i32, ptr %4117, align 4, !tbaa !58 + br label %5354 + +4119: ; preds = %153 + %4120 = icmp eq i32 %31, 17 + br i1 %4120, label %4121, label %6031 + +4121: ; preds = %4119 + %4122 = getelementptr inbounds i8, ptr %2, i64 4 + %4123 = load i32, ptr %4122, align 4, !tbaa !58 + br label %5528 + +4124: ; preds = %153 + %4125 = icmp eq i32 %31, 10 + br i1 %4125, label %4126, label %6031 + +4126: ; preds = %4124 + %4127 = getelementptr inbounds i8, ptr %3, i64 4 + %4128 = load i32, ptr %4127, align 4, !tbaa !58 + br label %5528 + +4129: ; preds = %153 + %4130 = icmp eq i32 %31, 73 + br i1 %4130, label %4131, label %6031 + +4131: ; preds = %4129 + %4132 = getelementptr inbounds i8, ptr %2, i64 4 + %4133 = load i32, ptr %4132, align 4, !tbaa !58 + %4134 = getelementptr inbounds i8, ptr %4, i64 4 + %4135 = load i32, ptr %4134, align 4, !tbaa !58 + %4136 = shl i32 %4135, 7 + %4137 = add i32 %4136, %4133 + %4138 = getelementptr inbounds i8, ptr %3, i64 4 %4139 = load i32, ptr %4138, align 4, !tbaa !58 - %4140 = shl i32 %4139, 7 - %4141 = add i32 %4140, %4137 - %4142 = getelementptr inbounds i8, ptr %3, i64 4 - %4143 = load i32, ptr %4142, align 4, !tbaa !58 - br label %5358 - -4144: ; preds = %1707, %1680, %1577, %1460 - %4145 = phi i32 [ %1704, %1707 ], [ %1674, %1680 ], [ %1501, %1577 ], [ %1384, %1460 ] - %4146 = phi i32 [ %1698, %1707 ], [ %1668, %1680 ], [ %1579, %1577 ], [ %1462, %1460 ] - %4147 = phi i64 [ %1715, %1707 ], [ %1688, %1680 ], [ %1578, %1577 ], [ %1461, %1460 ] - %4148 = getelementptr inbounds i8, ptr %0, i64 72 - %4149 = load i8, ptr %4148, align 8, !tbaa !42 - %4150 = and i8 %4149, 1 - %4151 = icmp eq i8 %4150, 0 - %4152 = select i1 %4151, i8 8, i8 4 - %4153 = lshr i32 %4145, 18 - %4154 = and i32 %4153, 7 - %4155 = zext nneg i32 %4154 to i64 - %4156 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4155 - %4157 = load i8, ptr %4156, align 1, !tbaa !51 - %4158 = icmp ne i32 %4154, 0 - %4159 = icmp ne i32 %4154, 7 - %4160 = and i1 %4158, %4159 - store i8 %4157, ptr %154, align 1, !tbaa !51 - %4161 = zext i1 %4160 to i64 - %4162 = getelementptr inbounds i8, ptr %154, i64 %4161 - br label %4163 - -4163: ; preds = %4144, %2280, %1936, %1932, %1930, %1894, %1878, %1873, %1869, %1819, %1794, %1241, %1160, %1131, %1068, %1043, %920, %688, %380, %242, %234, %220, %212, %211, %207, %206, %193, %153 - %4164 = phi ptr [ %154, %2280 ], [ %154, %1932 ], [ %154, %1930 ], [ %154, %1819 ], [ %154, %1794 ], [ %4162, %4144 ], [ %154, %1241 ], [ %154, %1160 ], [ %154, %1131 ], [ %154, %1068 ], [ %154, %1043 ], [ %154, %920 ], [ %154, %380 ], [ %154, %242 ], [ %154, %234 ], [ %154, %220 ], [ %154, %211 ], [ %154, %207 ], [ %154, %206 ], [ %205, %193 ], [ %154, %153 ], [ %154, %688 ], [ %154, %1869 ], [ %154, %1878 ], [ %154, %1873 ], [ %154, %1894 ], [ %154, %212 ], [ %154, %1936 ] - %4165 = phi i32 [ %2273, %2280 ], [ %46, %1932 ], [ %46, %1930 ], [ %46, %1819 ], [ %46, %1794 ], [ %46, %4144 ], [ %46, %1241 ], [ %46, %1160 ], [ %46, %1131 ], [ %46, %1068 ], [ %46, %1043 ], [ %46, %920 ], [ %46, %380 ], [ %46, %242 ], [ %46, %234 ], [ %46, %220 ], [ %46, %211 ], [ %46, %207 ], [ %46, %206 ], [ %46, %193 ], [ %46, %153 ], [ %676, %688 ], [ %46, %1869 ], [ %46, %1878 ], [ %46, %1873 ], [ %46, %1894 ], [ %46, %212 ], [ %46, %1936 ] - %4166 = phi i32 [ %2283, %2280 ], [ %165, %1932 ], [ %1931, %1930 ], [ %1827, %1819 ], [ %1807, %1794 ], [ %4146, %4144 ], [ %1246, %1241 ], [ %165, %1160 ], [ %1141, %1131 ], [ %1076, %1068 ], [ %1059, %1043 ], [ %165, %920 ], [ %165, %380 ], [ %165, %242 ], [ %165, %234 ], [ %165, %220 ], [ %165, %211 ], [ %165, %207 ], [ %165, %206 ], [ %165, %193 ], [ %165, %153 ], [ %693, %688 ], [ %1872, %1869 ], [ %1881, %1878 ], [ 104, %1873 ], [ %1897, %1894 ], [ %165, %212 ], [ %1940, %1936 ] - %4167 = phi i8 [ %2274, %2280 ], [ 2, %1932 ], [ 0, %1930 ], [ 0, %1819 ], [ 1, %1794 ], [ %4152, %4144 ], [ 6, %1241 ], [ 1, %1160 ], [ 0, %1131 ], [ 0, %1068 ], [ 1, %1043 ], [ 3, %920 ], [ 0, %380 ], [ 1, %242 ], [ 1, %234 ], [ 0, %220 ], [ 0, %211 ], [ 0, %207 ], [ 0, %206 ], [ 0, %193 ], [ 0, %153 ], [ %695, %688 ], [ 0, %1869 ], [ %1882, %1878 ], [ 4, %1873 ], [ 0, %1894 ], [ 0, %212 ], [ %1942, %1936 ] - %4168 = phi i64 [ %2275, %2280 ], [ %1934, %1932 ], [ 0, %1930 ], [ 0, %1819 ], [ %1810, %1794 ], [ %4147, %4144 ], [ %1248, %1241 ], [ %1162, %1160 ], [ 0, %1131 ], [ 0, %1068 ], [ %1046, %1043 ], [ %928, %920 ], [ 0, %380 ], [ %245, %242 ], [ %237, %234 ], [ 0, %220 ], [ 0, %211 ], [ 0, %207 ], [ 0, %206 ], [ 0, %193 ], [ 0, %153 ], [ %679, %688 ], [ 0, %1869 ], [ %1875, %1878 ], [ %1875, %1873 ], [ 0, %1894 ], [ 0, %212 ], [ 0, %1936 ] - %4169 = lshr i32 %4166, 21 - %4170 = and i32 %4169, 7 - %4171 = zext nneg i32 %4170 to i64 - %4172 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4171 - %4173 = load i8, ptr %4172, align 1, !tbaa !51 - store i8 %4173, ptr %4164, align 1, !tbaa !51 - %4174 = or i32 %4166, %4165 - %4175 = icmp ugt i32 %4174, -2130706433 - br i1 %4175, label %6035, label %4176, !prof !37 - -4176: ; preds = %4163 - %4177 = lshr i32 %4174, 24 - %4178 = icmp ne i32 %4170, 0 - %4179 = zext i1 %4178 to i64 - %4180 = getelementptr inbounds i8, ptr %4164, i64 %4179 - %4181 = and i32 %4177, 127 - %4182 = icmp ne i32 %4181, 0 - %4183 = trunc i32 %4181 to i8 - %4184 = or i8 %4183, 64 - store i8 %4184, ptr %4180, align 1, !tbaa !51 - %4185 = zext i1 %4182 to i64 - %4186 = getelementptr inbounds i8, ptr %4180, i64 %4185 - %4187 = lshr i32 %4166, 8 - %4188 = and i32 %4187, 31 - %4189 = zext nneg i32 %4188 to i64 - %4190 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4189 - %4191 = getelementptr inbounds i8, ptr %4190, i64 1 - %4192 = load i8, ptr %4191, align 1, !tbaa !51 - %4193 = load i8, ptr %4190, align 4, !tbaa !92 - %4194 = icmp ne i8 %4193, 0 - store i8 %4192, ptr %4186, align 1, !tbaa !51 - %4195 = zext i1 %4194 to i64 - %4196 = getelementptr inbounds i8, ptr %4186, i64 %4195 - %4197 = getelementptr inbounds i8, ptr %4190, i64 2 - %4198 = load i8, ptr %4197, align 2, !tbaa !51 - %4199 = icmp ugt i8 %4193, 1 - store i8 %4198, ptr %4196, align 1, !tbaa !51 - %4200 = zext i1 %4199 to i64 - %4201 = getelementptr inbounds i8, ptr %4196, i64 %4200 - %4202 = trunc i32 %4166 to i8 - store i8 %4202, ptr %4201, align 1, !tbaa !51 - %4203 = getelementptr inbounds i8, ptr %4201, i64 1 - %4204 = icmp ugt i8 %4167, 3 - br i1 %4204, label %4205, label %4210 - -4205: ; preds = %4176 - %4206 = trunc i64 %4168 to i32 - store i32 %4206, ptr %4203, align 1, !tbaa !51 - %4207 = getelementptr inbounds i8, ptr %4201, i64 5 - %4208 = lshr i64 %4168, 32 - %4209 = add nsw i8 %4167, -4 - br label %4210 - -4210: ; preds = %4205, %4176 - %4211 = phi ptr [ %4207, %4205 ], [ %4203, %4176 ] - %4212 = phi i8 [ %4209, %4205 ], [ %4167, %4176 ] - %4213 = phi i64 [ %4208, %4205 ], [ %4168, %4176 ] - %4214 = icmp eq i8 %4212, 0 - br i1 %4214, label %6010, label %4215 - -4215: ; preds = %4210 - %4216 = trunc i64 %4213 to i8 - store i8 %4216, ptr %4211, align 1, !tbaa !51 - %4217 = getelementptr inbounds i8, ptr %4211, i64 1 - %4218 = icmp eq i8 %4212, 1 - br i1 %4218, label %6010, label %4219 - -4219: ; preds = %4215 - %4220 = lshr i64 %4213, 8 - %4221 = trunc i64 %4220 to i8 - store i8 %4221, ptr %4217, align 1, !tbaa !51 - %4222 = getelementptr inbounds i8, ptr %4211, i64 2 - %4223 = icmp eq i8 %4212, 2 - br i1 %4223, label %6010, label %4224 - -4224: ; preds = %4219 - %4225 = lshr i64 %4213, 16 - %4226 = trunc i64 %4225 to i8 - store i8 %4226, ptr %4222, align 1, !tbaa !51 - %4227 = getelementptr inbounds i8, ptr %4211, i64 3 - %4228 = icmp eq i8 %4212, 3 - br i1 %4228, label %6010, label %4229 - -4229: ; preds = %4224 - %4230 = lshr i64 %4213, 24 - %4231 = trunc i64 %4230 to i8 - store i8 %4231, ptr %4227, align 1, !tbaa !51 - %4232 = getelementptr inbounds i8, ptr %4211, i64 4 - br label %6010 - -4233: ; preds = %2378, %2372, %1901, %1720, %1635, %1611, %736 - %4234 = phi i32 [ %1912, %1901 ], [ %1722, %1720 ], [ %1612, %1611 ], [ %1597, %1635 ], [ %738, %736 ], [ %2379, %2378 ], [ %2323, %2372 ] - %4235 = phi i32 [ %46, %1901 ], [ %46, %1720 ], [ %1613, %1611 ], [ %46, %1635 ], [ %46, %736 ], [ %46, %2378 ], [ %46, %2372 ] - %4236 = phi i32 [ %1910, %1901 ], [ 134217912, %1720 ], [ 176, %1611 ], [ %1641, %1635 ], [ %743, %736 ], [ %2386, %2378 ], [ %2374, %2372 ] - %4237 = phi i8 [ 0, %1901 ], [ 8, %1720 ], [ 1, %1611 ], [ %1636, %1635 ], [ 0, %736 ], [ 0, %2378 ], [ 0, %2372 ] - %4238 = phi i64 [ 0, %1901 ], [ %1724, %1720 ], [ %1616, %1611 ], [ %1620, %1635 ], [ 0, %736 ], [ 0, %2378 ], [ 0, %2372 ] - %4239 = lshr i32 %4236, 21 - %4240 = and i32 %4239, 7 - %4241 = zext nneg i32 %4240 to i64 - %4242 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4241 - %4243 = load i8, ptr %4242, align 1, !tbaa !51 - store i8 %4243, ptr %154, align 1, !tbaa !51 - %4244 = or i32 %4236, %4235 - %4245 = lshr i32 %4244, 24 - %4246 = lshr i32 %4234, 3 - %4247 = or i32 %4245, %4246 - %4248 = icmp ugt i32 %4247, 128 - br i1 %4248, label %6035, label %4249, !prof !37 - -4249: ; preds = %4233 - %4250 = icmp ne i32 %4240, 0 - %4251 = zext i1 %4250 to i64 - %4252 = getelementptr inbounds i8, ptr %154, i64 %4251 - %4253 = and i32 %4247, 127 - %4254 = icmp ne i32 %4253, 0 - %4255 = trunc i32 %4253 to i8 - %4256 = or i8 %4255, 64 - store i8 %4256, ptr %4252, align 1, !tbaa !51 - %4257 = zext i1 %4254 to i64 - %4258 = getelementptr inbounds i8, ptr %4252, i64 %4257 - %4259 = and i32 %4234, 7 - %4260 = add i32 %4236, %4259 - %4261 = lshr i32 %4260, 8 - %4262 = and i32 %4261, 31 - %4263 = zext nneg i32 %4262 to i64 - %4264 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4263 - %4265 = getelementptr inbounds i8, ptr %4264, i64 1 - %4266 = load i8, ptr %4265, align 1, !tbaa !51 - %4267 = load i8, ptr %4264, align 4, !tbaa !92 - %4268 = icmp ne i8 %4267, 0 - store i8 %4266, ptr %4258, align 1, !tbaa !51 - %4269 = zext i1 %4268 to i64 - %4270 = getelementptr inbounds i8, ptr %4258, i64 %4269 - %4271 = getelementptr inbounds i8, ptr %4264, i64 2 - %4272 = load i8, ptr %4271, align 2, !tbaa !51 - %4273 = icmp ugt i8 %4267, 1 - store i8 %4272, ptr %4270, align 1, !tbaa !51 - %4274 = zext i1 %4273 to i64 - %4275 = getelementptr inbounds i8, ptr %4270, i64 %4274 - %4276 = trunc i32 %4260 to i8 - store i8 %4276, ptr %4275, align 1, !tbaa !51 - %4277 = getelementptr inbounds i8, ptr %4275, i64 1 - %4278 = icmp ugt i8 %4237, 3 - br i1 %4278, label %4279, label %4284 - -4279: ; preds = %4249 - %4280 = trunc i64 %4238 to i32 - store i32 %4280, ptr %4277, align 1, !tbaa !51 - %4281 = getelementptr inbounds i8, ptr %4275, i64 5 - %4282 = lshr i64 %4238, 32 - %4283 = add i8 %4237, -4 - br label %4284 - -4284: ; preds = %4279, %4249 - %4285 = phi ptr [ %4281, %4279 ], [ %4277, %4249 ] - %4286 = phi i8 [ %4283, %4279 ], [ %4237, %4249 ] - %4287 = phi i64 [ %4282, %4279 ], [ %4238, %4249 ] - %4288 = icmp eq i8 %4286, 0 - br i1 %4288, label %6010, label %4289 - -4289: ; preds = %4284 - %4290 = trunc i64 %4287 to i8 - store i8 %4290, ptr %4285, align 1, !tbaa !51 - %4291 = getelementptr inbounds i8, ptr %4285, i64 1 - %4292 = icmp eq i8 %4286, 1 - br i1 %4292, label %6010, label %4293 - -4293: ; preds = %4289 - %4294 = lshr i64 %4287, 8 - %4295 = trunc i64 %4294 to i8 - store i8 %4295, ptr %4291, align 1, !tbaa !51 - %4296 = getelementptr inbounds i8, ptr %4285, i64 2 - %4297 = icmp eq i8 %4286, 2 - br i1 %4297, label %6010, label %4298 - -4298: ; preds = %4293 - %4299 = lshr i64 %4287, 16 - %4300 = trunc i64 %4299 to i8 - store i8 %4300, ptr %4296, align 1, !tbaa !51 - %4301 = getelementptr inbounds i8, ptr %4285, i64 3 - %4302 = icmp eq i8 %4286, 3 - br i1 %4302, label %6010, label %4303 - -4303: ; preds = %4298 - %4304 = lshr i64 %4287, 24 - %4305 = trunc i64 %4304 to i8 - store i8 %4305, ptr %4301, align 1, !tbaa !51 - %4306 = getelementptr inbounds i8, ptr %4285, i64 4 - br label %6010 - -4307: ; preds = %2162, %2132, %2105, %1852, %1101, %221 - %4308 = phi i32 [ %1089, %1101 ], [ %1844, %1852 ], [ 0, %2105 ], [ 0, %2132 ], [ %2169, %2162 ], [ 0, %221 ] - %4309 = phi i32 [ %1080, %1101 ], [ %1835, %1852 ], [ %2100, %2105 ], [ %2127, %2132 ], [ %2142, %2162 ], [ %222, %221 ] - %4310 = phi i32 [ %1108, %1101 ], [ %1859, %1852 ], [ %2110, %2105 ], [ %2137, %2132 ], [ %2167, %2162 ], [ %165, %221 ] - %4311 = phi ptr [ %2, %1101 ], [ %3, %1852 ], [ %3, %2105 ], [ %2, %2132 ], [ %3, %2162 ], [ %2, %221 ] - %4312 = lshr i32 %4309, 3 - %4313 = and i32 %4312, 1023 - %4314 = zext nneg i32 %4313 to i64 - %4315 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %4314 - %4316 = load i8, ptr %4315, align 1, !tbaa !51 - %4317 = zext i8 %4316 to i32 - %4318 = getelementptr inbounds i8, ptr %4311, i64 4 - %4319 = load i32, ptr %4318, align 4, !tbaa !58 - %4320 = and i32 %4309, 248 - %4321 = icmp eq i32 %4320, 0 - %4322 = select i1 %4321, i32 %4319, i32 0 - %4323 = or i32 %4322, %4308 - %4324 = icmp ne i32 %4323, 0 - %4325 = and i32 %4317, 2 - %4326 = icmp ne i32 %4325, 0 - %4327 = select i1 %4324, i1 true, i1 %4326, !prof !37 - br i1 %4327, label %6035, label %4328, !prof !37 - -4328: ; preds = %4307 - %4329 = lshr i32 %4310, 21 - %4330 = and i32 %4329, 7 - %4331 = zext nneg i32 %4330 to i64 - %4332 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4331 - %4333 = load i8, ptr %4332, align 1, !tbaa !51 - store i8 %4333, ptr %154, align 1, !tbaa !51 - %4334 = or i32 %4310, %46 - %4335 = icmp ugt i32 %4334, -2130706433 - br i1 %4335, label %6035, label %4336, !prof !37 - -4336: ; preds = %4328 - %4337 = lshr i32 %4334, 24 - %4338 = icmp ne i32 %4330, 0 - %4339 = zext i1 %4338 to i64 - %4340 = getelementptr inbounds i8, ptr %154, i64 %4339 - %4341 = and i32 %4337, 127 - %4342 = icmp ne i32 %4341, 0 - %4343 = trunc i32 %4341 to i8 - %4344 = or i8 %4343, 64 - store i8 %4344, ptr %4340, align 1, !tbaa !51 - %4345 = zext i1 %4342 to i64 - %4346 = getelementptr inbounds i8, ptr %4340, i64 %4345 - %4347 = load i32, ptr %4311, align 4, !tbaa !31 - %4348 = lshr i32 %4347, 18 - %4349 = and i32 %4348, 7 - %4350 = zext nneg i32 %4349 to i64 - %4351 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4350 - %4352 = load i8, ptr %4351, align 1, !tbaa !51 - %4353 = icmp ne i32 %4349, 0 - %4354 = icmp ne i32 %4349, 7 - %4355 = and i1 %4353, %4354 - store i8 %4352, ptr %4346, align 1, !tbaa !51 - %4356 = zext i1 %4355 to i64 - %4357 = getelementptr inbounds i8, ptr %4346, i64 %4356 - %4358 = getelementptr inbounds i8, ptr %0, i64 40 - %4359 = load i32, ptr %4358, align 8, !tbaa !57 - %4360 = and i32 %4359, %4317 - %4361 = icmp ne i32 %4360, 0 - store i8 103, ptr %4357, align 1, !tbaa !51 - %4362 = zext i1 %4361 to i64 - %4363 = getelementptr inbounds i8, ptr %4357, i64 %4362 - %4364 = lshr i32 %4310, 8 - %4365 = and i32 %4364, 31 - %4366 = zext nneg i32 %4365 to i64 - %4367 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4366 - %4368 = getelementptr inbounds i8, ptr %4367, i64 1 - %4369 = load i8, ptr %4368, align 1, !tbaa !51 - %4370 = load i8, ptr %4367, align 4, !tbaa !92 - %4371 = icmp ne i8 %4370, 0 - store i8 %4369, ptr %4363, align 1, !tbaa !51 - %4372 = zext i1 %4371 to i64 - %4373 = getelementptr inbounds i8, ptr %4363, i64 %4372 - %4374 = getelementptr inbounds i8, ptr %4367, i64 2 - %4375 = load i8, ptr %4374, align 2, !tbaa !51 - %4376 = icmp ugt i8 %4370, 1 - store i8 %4375, ptr %4373, align 1, !tbaa !51 - %4377 = zext i1 %4376 to i64 - %4378 = getelementptr inbounds i8, ptr %4373, i64 %4377 - %4379 = trunc i32 %4310 to i8 - store i8 %4379, ptr %4378, align 1, !tbaa !51 - %4380 = getelementptr inbounds i8, ptr %4378, i64 1 - br label %6010 - -4381: ; preds = %2968, %2949, %2940, %2924, %2919, %2897, %2886, %2866, %2844, %2831, %2823, %2800, %2791, %2734, %2731, %2726, %2723, %2706, %2684, %2622, %2618, %2611, %2588, %2560, %2422, %2415, %2387, %2352, %2348, %2277, %2271, %2207, %2203, %2177, %2058, %2026, %2022, %2018, %1984, %1976, %1974, %1751, %1747, %1738, %1632, %1358, %1353, %1350, %1342, %1340, %1336, %1331, %1328, %1320, %1318, %1316, %1308, %1307, %1302, %1198, %1142, %1123, %1119, %1012, %988, %930, %901, %896, %892, %841, %837, %811, %790, %784, %745, %696, %575, %569, %521, %495, %493, %476, %463, %458, %451, %409, %381, %348, %344, %330, %309, %292, %288, %260, %183, %176, %153 - %4382 = phi ptr [ %154, %2968 ], [ %154, %2924 ], [ %154, %2919 ], [ %154, %2897 ], [ %154, %2886 ], [ %154, %2866 ], [ %154, %2844 ], [ %154, %2831 ], [ %154, %2823 ], [ %154, %2800 ], [ %154, %2791 ], [ %154, %2684 ], [ %154, %2726 ], [ %154, %2723 ], [ %154, %2734 ], [ %154, %2731 ], [ %154, %2618 ], [ %154, %2622 ], [ %154, %2611 ], [ %154, %2588 ], [ %154, %2560 ], [ %154, %2422 ], [ %154, %2415 ], [ %154, %2277 ], [ %154, %2271 ], [ %154, %2207 ], [ %154, %2203 ], [ %154, %2177 ], [ %154, %2058 ], [ %154, %2026 ], [ %154, %2022 ], [ %154, %2018 ], [ %154, %1984 ], [ %154, %1974 ], [ %154, %1751 ], [ %154, %1747 ], [ %154, %1738 ], [ %154, %1320 ], [ %154, %1328 ], [ %1337, %1336 ], [ %154, %1331 ], [ %154, %1342 ], [ %154, %1350 ], [ %1359, %1358 ], [ %154, %1353 ], [ %154, %1198 ], [ %154, %1123 ], [ %154, %1119 ], [ %154, %1142 ], [ %154, %309 ], [ %154, %292 ], [ %154, %288 ], [ %154, %348 ], [ %154, %344 ], [ %154, %330 ], [ %154, %1012 ], [ %154, %988 ], [ %154, %930 ], [ %154, %896 ], [ %154, %892 ], [ %902, %901 ], [ %154, %841 ], [ %154, %837 ], [ %154, %811 ], [ %154, %790 ], [ %154, %784 ], [ %154, %745 ], [ %154, %575 ], [ %154, %569 ], [ %154, %521 ], [ %494, %493 ], [ %154, %495 ], [ %154, %476 ], [ %154, %463 ], [ %154, %458 ], [ %154, %451 ], [ %154, %409 ], [ %154, %381 ], [ %154, %260 ], [ %154, %183 ], [ %154, %176 ], [ %154, %696 ], [ %154, %1632 ], [ %154, %153 ], [ %154, %2706 ], [ %154, %1307 ], [ %154, %1316 ], [ %154, %1302 ], [ %154, %1308 ], [ %154, %2387 ], [ %154, %2352 ], [ %154, %2348 ], [ %154, %2949 ], [ %154, %2940 ], [ %154, %1318 ], [ %154, %1340 ], [ %154, %1976 ] - %4383 = phi i32 [ %2967, %2968 ], [ %2931, %2924 ], [ %2921, %2919 ], [ %2908, %2897 ], [ %2888, %2886 ], [ %2873, %2866 ], [ %2855, %2844 ], [ %2838, %2831 ], [ %2825, %2823 ], [ %2811, %2800 ], [ %2793, %2791 ], [ %2673, %2684 ], [ %2716, %2726 ], [ %2714, %2723 ], [ %2716, %2734 ], [ %2714, %2731 ], [ %2613, %2618 ], [ %2615, %2622 ], [ %2613, %2611 ], [ %2597, %2588 ], [ %2569, %2560 ], [ %2419, %2422 ], [ %2417, %2415 ], [ %2238, %2277 ], [ %2238, %2271 ], [ %2209, %2207 ], [ %2186, %2203 ], [ %2186, %2177 ], [ %2067, %2058 ], [ %2035, %2026 ], [ %161, %2022 ], [ %161, %2018 ], [ %161, %1984 ], [ %161, %1974 ], [ %1740, %1751 ], [ %1740, %1747 ], [ %1740, %1738 ], [ %1327, %1320 ], [ %1269, %1328 ], [ %1338, %1336 ], [ %1269, %1331 ], [ %1349, %1342 ], [ %1267, %1350 ], [ %1360, %1358 ], [ %1267, %1353 ], [ %161, %1198 ], [ %161, %1123 ], [ %161, %1119 ], [ %161, %1142 ], [ %161, %309 ], [ %161, %292 ], [ %161, %288 ], [ %161, %348 ], [ %161, %344 ], [ %161, %330 ], [ %1037, %1012 ], [ %990, %988 ], [ %951, %930 ], [ %877, %896 ], [ %877, %892 ], [ %877, %901 ], [ %843, %841 ], [ %820, %837 ], [ %820, %811 ], [ %161, %790 ], [ %783, %784 ], [ %754, %745 ], [ %571, %575 ], [ %570, %569 ], [ %525, %521 ], [ %487, %493 ], [ %487, %495 ], [ %478, %476 ], [ %161, %463 ], [ %161, %458 ], [ %161, %451 ], [ %401, %409 ], [ 0, %381 ], [ %161, %260 ], [ %161, %183 ], [ %161, %176 ], [ %161, %696 ], [ 0, %1632 ], [ %161, %153 ], [ %2701, %2706 ], [ %1291, %1307 ], [ %1267, %1316 ], [ %1303, %1302 ], [ %1269, %1308 ], [ %2325, %2387 ], [ %2354, %2352 ], [ %2325, %2348 ], [ %2946, %2949 ], [ %2946, %2940 ], [ %1269, %1318 ], [ %1267, %1340 ], [ %161, %1976 ] - %4384 = phi i32 [ %2970, %2968 ], [ %2921, %2924 ], [ %2923, %2919 ], [ %2910, %2897 ], [ %2890, %2886 ], [ %2882, %2866 ], [ %2857, %2844 ], [ %2842, %2831 ], [ %2827, %2823 ], [ %2813, %2800 ], [ %2795, %2791 ], [ %2686, %2684 ], [ %2714, %2726 ], [ %2716, %2723 ], [ %2714, %2734 ], [ %2716, %2731 ], [ %2615, %2618 ], [ %2613, %2622 ], [ %2615, %2611 ], [ %2599, %2588 ], [ %2571, %2560 ], [ %2417, %2422 ], [ %2419, %2415 ], [ 0, %2277 ], [ %2272, %2271 ], [ %2199, %2207 ], [ %2199, %2203 ], [ %2184, %2177 ], [ %2069, %2058 ], [ %2037, %2026 ], [ %2024, %2022 ], [ %2014, %2018 ], [ %1968, %1984 ], [ %1968, %1974 ], [ %1753, %1751 ], [ %1742, %1747 ], [ %1742, %1738 ], [ %1267, %1320 ], [ %1267, %1328 ], [ %1267, %1336 ], [ %1267, %1331 ], [ %1269, %1342 ], [ %1269, %1350 ], [ %1269, %1358 ], [ %1269, %1353 ], [ %1200, %1198 ], [ %1125, %1123 ], [ %1112, %1119 ], [ %1112, %1142 ], [ %316, %309 ], [ %294, %292 ], [ %285, %288 ], [ %350, %348 ], [ %339, %344 ], [ %339, %330 ], [ %1037, %1012 ], [ %992, %988 ], [ %953, %930 ], [ %898, %896 ], [ %885, %892 ], [ %885, %901 ], [ %833, %841 ], [ %833, %837 ], [ %818, %811 ], [ %792, %790 ], [ %786, %784 ], [ %756, %745 ], [ %570, %575 ], [ %571, %569 ], [ %523, %521 ], [ %489, %493 ], [ %489, %495 ], [ %480, %476 ], [ %465, %463 ], [ %460, %458 ], [ %453, %451 ], [ %411, %409 ], [ %390, %381 ], [ %263, %260 ], [ %185, %183 ], [ %178, %176 ], [ %675, %696 ], [ %1597, %1632 ], [ 0, %153 ], [ %2673, %2706 ], [ %1303, %1307 ], [ %1269, %1316 ], [ %1291, %1302 ], [ %1267, %1308 ], [ %2323, %2387 ], [ %2344, %2352 ], [ %2344, %2348 ], [ %2948, %2949 ], [ %2948, %2940 ], [ %1267, %1318 ], [ %1269, %1340 ], [ %1968, %1976 ] - %4385 = phi i32 [ %46, %2968 ], [ %46, %2924 ], [ %46, %2919 ], [ %46, %2897 ], [ %46, %2886 ], [ %46, %2866 ], [ %46, %2844 ], [ %46, %2831 ], [ %46, %2823 ], [ %46, %2800 ], [ %46, %2791 ], [ %46, %2684 ], [ %46, %2726 ], [ %46, %2723 ], [ %46, %2734 ], [ %46, %2731 ], [ %46, %2618 ], [ %46, %2622 ], [ %46, %2611 ], [ %46, %2588 ], [ %46, %2560 ], [ %46, %2422 ], [ %46, %2415 ], [ %2273, %2277 ], [ %2273, %2271 ], [ %2208, %2207 ], [ %2206, %2203 ], [ %46, %2177 ], [ %46, %2058 ], [ %46, %2026 ], [ %2023, %2022 ], [ %2021, %2018 ], [ %1969, %1984 ], [ %1969, %1974 ], [ %1752, %1751 ], [ %1750, %1747 ], [ %46, %1738 ], [ %46, %1320 ], [ %46, %1328 ], [ %46, %1336 ], [ %46, %1331 ], [ %46, %1342 ], [ %46, %1350 ], [ %46, %1358 ], [ %46, %1353 ], [ %46, %1198 ], [ %1124, %1123 ], [ %1122, %1119 ], [ %46, %1142 ], [ %46, %309 ], [ %293, %292 ], [ %291, %288 ], [ %349, %348 ], [ %347, %344 ], [ %46, %330 ], [ %46, %1012 ], [ %46, %988 ], [ %46, %930 ], [ %897, %896 ], [ %895, %892 ], [ %46, %901 ], [ %842, %841 ], [ %840, %837 ], [ %46, %811 ], [ %46, %790 ], [ %46, %784 ], [ %46, %745 ], [ %572, %575 ], [ %572, %569 ], [ %46, %521 ], [ %46, %493 ], [ %46, %495 ], [ %46, %476 ], [ %46, %463 ], [ %46, %458 ], [ %46, %451 ], [ %46, %409 ], [ %46, %381 ], [ %46, %260 ], [ %46, %183 ], [ %46, %176 ], [ %676, %696 ], [ %46, %1632 ], [ %46, %153 ], [ %46, %2706 ], [ %1304, %1307 ], [ %46, %1316 ], [ %1304, %1302 ], [ %46, %1308 ], [ %46, %2387 ], [ %2353, %2352 ], [ %2351, %2348 ], [ %46, %2949 ], [ %46, %2940 ], [ %46, %1318 ], [ %46, %1340 ], [ %1969, %1976 ] - %4386 = phi i32 [ 271, %2968 ], [ %2929, %2924 ], [ %165, %2919 ], [ %2906, %2897 ], [ %165, %2886 ], [ %2878, %2866 ], [ %2853, %2844 ], [ %2836, %2831 ], [ %165, %2823 ], [ %2809, %2800 ], [ %2789, %2791 ], [ %2678, %2684 ], [ 383, %2726 ], [ 367, %2723 ], [ 2097622, %2734 ], [ 4194686, %2731 ], [ %165, %2618 ], [ %2625, %2622 ], [ %165, %2611 ], [ %2593, %2588 ], [ %2565, %2560 ], [ %2427, %2422 ], [ %165, %2415 ], [ %2246, %2277 ], [ %2246, %2271 ], [ %2182, %2207 ], [ %2182, %2203 ], [ %2182, %2177 ], [ %2065, %2058 ], [ %2033, %2026 ], [ %165, %2022 ], [ %165, %2018 ], [ %1985, %1984 ], [ %1975, %1974 ], [ %1737, %1751 ], [ %1737, %1747 ], [ %1737, %1738 ], [ %1326, %1320 ], [ 288, %1328 ], [ 288, %1336 ], [ 288, %1331 ], [ %1348, %1342 ], [ 290, %1350 ], [ 290, %1358 ], [ 290, %1353 ], [ %165, %1198 ], [ %165, %1123 ], [ %165, %1119 ], [ %1147, %1142 ], [ %314, %309 ], [ %165, %292 ], [ %165, %288 ], [ %337, %348 ], [ %337, %344 ], [ %337, %330 ], [ %1034, %1012 ], [ %997, %988 ], [ %948, %930 ], [ %882, %896 ], [ %882, %892 ], [ %903, %901 ], [ %816, %841 ], [ %816, %837 ], [ %816, %811 ], [ %165, %790 ], [ %781, %784 ], [ %752, %745 ], [ %576, %575 ], [ %537, %569 ], [ %520, %521 ], [ %165, %493 ], [ %498, %495 ], [ %475, %476 ], [ %165, %463 ], [ %165, %458 ], [ %165, %451 ], [ %408, %409 ], [ %388, %381 ], [ %261, %260 ], [ %165, %183 ], [ %165, %176 ], [ %701, %696 ], [ 134217927, %1632 ], [ %165, %153 ], [ %2705, %2706 ], [ 138, %1307 ], [ %1317, %1316 ], [ 136, %1302 ], [ %1313, %1308 ], [ %2392, %2387 ], [ %165, %2352 ], [ %165, %2348 ], [ %2954, %2949 ], [ %165, %2940 ], [ 289, %1318 ], [ 291, %1340 ], [ %1953, %1976 ] - %4387 = phi i8 [ 1, %2968 ], [ 2, %2924 ], [ 0, %2919 ], [ 1, %2897 ], [ 1, %2886 ], [ 1, %2866 ], [ 0, %2844 ], [ 1, %2831 ], [ 0, %2823 ], [ 0, %2800 ], [ 0, %2791 ], [ 0, %2684 ], [ 0, %2726 ], [ 0, %2723 ], [ 0, %2734 ], [ 0, %2731 ], [ 0, %2618 ], [ 0, %2622 ], [ 0, %2611 ], [ 1, %2588 ], [ 1, %2560 ], [ 0, %2422 ], [ 0, %2415 ], [ %2274, %2277 ], [ %2274, %2271 ], [ 0, %2207 ], [ 0, %2203 ], [ 0, %2177 ], [ 0, %2058 ], [ 1, %2026 ], [ 0, %2022 ], [ 0, %2018 ], [ 1, %1984 ], [ 0, %1974 ], [ 0, %1751 ], [ 0, %1747 ], [ 0, %1738 ], [ 0, %1320 ], [ 0, %1328 ], [ 0, %1336 ], [ 0, %1331 ], [ 0, %1342 ], [ 0, %1350 ], [ 0, %1358 ], [ 0, %1353 ], [ 0, %1198 ], [ 0, %1123 ], [ 0, %1119 ], [ 0, %1142 ], [ 0, %309 ], [ 0, %292 ], [ 0, %288 ], [ 0, %348 ], [ 0, %344 ], [ 0, %330 ], [ %1035, %1012 ], [ 0, %988 ], [ %949, %930 ], [ 0, %896 ], [ 0, %892 ], [ 0, %901 ], [ 0, %841 ], [ 0, %837 ], [ 0, %811 ], [ 0, %790 ], [ 1, %784 ], [ 0, %745 ], [ 0, %575 ], [ 0, %569 ], [ 0, %521 ], [ 0, %493 ], [ 0, %495 ], [ 0, %476 ], [ 0, %463 ], [ 0, %458 ], [ 0, %451 ], [ 0, %409 ], [ 0, %381 ], [ 0, %260 ], [ 1, %183 ], [ 0, %176 ], [ %678, %696 ], [ 4, %1632 ], [ 0, %153 ], [ 0, %2706 ], [ 0, %1307 ], [ 0, %1316 ], [ 0, %1302 ], [ 0, %1308 ], [ 0, %2387 ], [ 0, %2352 ], [ 0, %2348 ], [ 2, %2949 ], [ 0, %2940 ], [ 0, %1318 ], [ 0, %1340 ], [ 0, %1976 ] - %4388 = phi i64 [ %2965, %2968 ], [ %2939, %2924 ], [ 0, %2919 ], [ %2896, %2897 ], [ %2885, %2886 ], [ %2880, %2866 ], [ 0, %2844 ], [ %2840, %2831 ], [ 0, %2823 ], [ 0, %2800 ], [ 0, %2791 ], [ 0, %2684 ], [ 0, %2726 ], [ 0, %2723 ], [ 0, %2734 ], [ 0, %2731 ], [ 0, %2618 ], [ 0, %2622 ], [ 0, %2611 ], [ %2595, %2588 ], [ %2567, %2560 ], [ 0, %2422 ], [ 0, %2415 ], [ %2275, %2277 ], [ %2275, %2271 ], [ 0, %2207 ], [ 0, %2203 ], [ 0, %2177 ], [ 0, %2058 ], [ %2039, %2026 ], [ 0, %2022 ], [ 0, %2018 ], [ %1979, %1984 ], [ 0, %1974 ], [ 0, %1751 ], [ 0, %1747 ], [ 0, %1738 ], [ 0, %1320 ], [ 0, %1328 ], [ 0, %1336 ], [ 0, %1331 ], [ 0, %1342 ], [ 0, %1350 ], [ 0, %1358 ], [ 0, %1353 ], [ 0, %1198 ], [ 0, %1123 ], [ 0, %1119 ], [ 0, %1142 ], [ 0, %309 ], [ 0, %292 ], [ 0, %288 ], [ 0, %348 ], [ 0, %344 ], [ 0, %330 ], [ %1025, %1012 ], [ 0, %988 ], [ %939, %930 ], [ 0, %896 ], [ 0, %892 ], [ 0, %901 ], [ 0, %841 ], [ 0, %837 ], [ 0, %811 ], [ 0, %790 ], [ %769, %784 ], [ 0, %745 ], [ 0, %575 ], [ 0, %569 ], [ 0, %521 ], [ 0, %493 ], [ 0, %495 ], [ 0, %476 ], [ 0, %463 ], [ 0, %458 ], [ 0, %451 ], [ 0, %409 ], [ 0, %381 ], [ 0, %260 ], [ %188, %183 ], [ 0, %176 ], [ %679, %696 ], [ %1620, %1632 ], [ 0, %153 ], [ 0, %2706 ], [ 0, %1307 ], [ 0, %1316 ], [ 0, %1302 ], [ 0, %1308 ], [ 0, %2387 ], [ 0, %2352 ], [ 0, %2348 ], [ %2962, %2949 ], [ 0, %2940 ], [ 0, %1318 ], [ 0, %1340 ], [ 1, %1976 ] - %4389 = lshr i32 %4386, 21 - %4390 = and i32 %4389, 7 - %4391 = zext nneg i32 %4390 to i64 - %4392 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4391 - %4393 = load i8, ptr %4392, align 1, !tbaa !51 - store i8 %4393, ptr %4382, align 1, !tbaa !51 - %4394 = or i32 %4386, %4385 - %4395 = lshr i32 %4394, 24 - %4396 = lshr i32 %4383, 1 - %4397 = and i32 %4396, 4 - %4398 = lshr i32 %4384, 3 - %4399 = and i32 %4398, 1 - %4400 = or disjoint i32 %4399, %4397 - %4401 = or i32 %4400, %4395 - %4402 = icmp ugt i32 %4401, 128 - br i1 %4402, label %6035, label %4403, !prof !37 - -4403: ; preds = %4381 - %4404 = icmp ne i32 %4390, 0 - %4405 = zext i1 %4404 to i64 - %4406 = getelementptr inbounds i8, ptr %4382, i64 %4405 - %4407 = and i32 %4401, 127 - %4408 = icmp ne i32 %4407, 0 - %4409 = trunc i32 %4407 to i8 - %4410 = or i8 %4409, 64 - store i8 %4410, ptr %4406, align 1, !tbaa !51 - %4411 = zext i1 %4408 to i64 - %4412 = getelementptr inbounds i8, ptr %4406, i64 %4411 - %4413 = and i32 %4384, 7 - %4414 = lshr i32 %4386, 8 - %4415 = and i32 %4414, 31 - %4416 = zext nneg i32 %4415 to i64 - %4417 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4416 - %4418 = getelementptr inbounds i8, ptr %4417, i64 1 - %4419 = load i8, ptr %4418, align 1, !tbaa !51 - %4420 = load i8, ptr %4417, align 4, !tbaa !92 - %4421 = icmp ne i8 %4420, 0 - store i8 %4419, ptr %4412, align 1, !tbaa !51 - %4422 = zext i1 %4421 to i64 - %4423 = getelementptr inbounds i8, ptr %4412, i64 %4422 - %4424 = getelementptr inbounds i8, ptr %4417, i64 2 - %4425 = load i8, ptr %4424, align 2, !tbaa !51 - %4426 = icmp ugt i8 %4420, 1 - store i8 %4425, ptr %4423, align 1, !tbaa !51 - %4427 = zext i1 %4426 to i64 - %4428 = getelementptr inbounds i8, ptr %4423, i64 %4427 - %4429 = trunc i32 %4386 to i8 - store i8 %4429, ptr %4428, align 1, !tbaa !51 - %4430 = getelementptr inbounds i8, ptr %4428, i64 1 - %4431 = shl i32 %4383, 3 - %4432 = or disjoint i32 %4413, %4431 - %4433 = trunc i32 %4432 to i8 - %4434 = or i8 %4433, -64 - store i8 %4434, ptr %4430, align 1, !tbaa !51 - %4435 = getelementptr inbounds i8, ptr %4428, i64 2 - %4436 = icmp ugt i8 %4387, 3 - br i1 %4436, label %4437, label %4440 - -4437: ; preds = %4403 - %4438 = trunc i64 %4388 to i32 - store i32 %4438, ptr %4435, align 1, !tbaa !51 - %4439 = getelementptr inbounds i8, ptr %4428, i64 6 - br label %6010 - -4440: ; preds = %4403 - %4441 = icmp eq i8 %4387, 0 - br i1 %4441, label %6010, label %4442 - -4442: ; preds = %4440 - %4443 = trunc i64 %4388 to i8 - store i8 %4443, ptr %4435, align 1, !tbaa !51 - %4444 = getelementptr inbounds i8, ptr %4428, i64 3 - %4445 = icmp eq i8 %4387, 1 - br i1 %4445, label %6010, label %4446 - -4446: ; preds = %4442 - %4447 = lshr i64 %4388, 8 - %4448 = trunc i64 %4447 to i8 - store i8 %4448, ptr %4444, align 1, !tbaa !51 - %4449 = getelementptr inbounds i8, ptr %4428, i64 4 - %4450 = icmp eq i8 %4387, 2 - br i1 %4450, label %6010, label %4451 - -4451: ; preds = %4446 - %4452 = lshr i64 %4388, 16 - %4453 = trunc i64 %4452 to i8 - store i8 %4453, ptr %4449, align 1, !tbaa !51 - %4454 = getelementptr inbounds i8, ptr %4428, i64 5 - br label %6010 - -4455: ; preds = %414 - %4456 = lshr i32 %159, 21 - %4457 = and i32 %4456, 7 - %4458 = zext nneg i32 %4457 to i64 - %4459 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4458 - %4460 = load i8, ptr %4459, align 1, !tbaa !51 - store i8 %4460, ptr %154, align 1, !tbaa !51 - %4461 = or i32 %159, %45 - %4462 = lshr i32 %4461, 24 - %4463 = lshr i32 %416, 3 - %4464 = or i32 %4463, %4462 - %4465 = icmp ugt i32 %4464, 128 - br i1 %4465, label %6035, label %4466, !prof !37 - -4466: ; preds = %4455 - %4467 = icmp ne i32 %4457, 0 - %4468 = zext i1 %4467 to i64 - %4469 = getelementptr inbounds i8, ptr %154, i64 %4468 - %4470 = and i32 %4464, 127 - %4471 = icmp ne i32 %4470, 0 - %4472 = trunc i32 %4470 to i8 - %4473 = or i8 %4472, 64 - store i8 %4473, ptr %4469, align 1, !tbaa !51 - %4474 = zext i1 %4471 to i64 - %4475 = getelementptr inbounds i8, ptr %4469, i64 %4474 - %4476 = and i32 %416, 7 - %4477 = load i32, ptr %2, align 4, !tbaa !31 - %4478 = lshr i32 %4477, 18 - %4479 = and i32 %4478, 7 - %4480 = zext nneg i32 %4479 to i64 - %4481 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4480 - %4482 = load i8, ptr %4481, align 1, !tbaa !51 - %4483 = icmp ne i32 %4479, 0 - %4484 = icmp ne i32 %4479, 7 - %4485 = and i1 %4483, %4484 - store i8 %4482, ptr %4475, align 1, !tbaa !51 - %4486 = zext i1 %4485 to i64 - %4487 = getelementptr inbounds i8, ptr %4475, i64 %4486 - %4488 = getelementptr inbounds i8, ptr %0, i64 40 - %4489 = load i32, ptr %4488, align 8, !tbaa !57 - %4490 = and i32 %4489, %423 - %4491 = icmp ne i32 %4490, 0 - store i8 103, ptr %4487, align 1, !tbaa !51 - %4492 = zext i1 %4491 to i64 - %4493 = getelementptr inbounds i8, ptr %4487, i64 %4492 - %4494 = lshr i32 %159, 8 - %4495 = and i32 %4494, 31 - %4496 = zext nneg i32 %4495 to i64 - %4497 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4496 - %4498 = getelementptr inbounds i8, ptr %4497, i64 1 - %4499 = load i8, ptr %4498, align 1, !tbaa !51 - %4500 = load i8, ptr %4497, align 4, !tbaa !92 - %4501 = icmp ne i8 %4500, 0 - store i8 %4499, ptr %4493, align 1, !tbaa !51 - %4502 = zext i1 %4501 to i64 - %4503 = getelementptr inbounds i8, ptr %4493, i64 %4502 - %4504 = getelementptr inbounds i8, ptr %4497, i64 2 - %4505 = load i8, ptr %4504, align 2, !tbaa !51 - %4506 = icmp ugt i8 %4500, 1 - store i8 %4505, ptr %4503, align 1, !tbaa !51 - %4507 = zext i1 %4506 to i64 - %4508 = getelementptr inbounds i8, ptr %4503, i64 %4507 - %4509 = trunc i32 %165 to i8 - store i8 %4509, ptr %4508, align 1, !tbaa !51 - %4510 = getelementptr inbounds i8, ptr %4508, i64 1 - %4511 = shl nuw nsw i32 %160, 3 - %4512 = or disjoint i32 %4476, %4511 - %4513 = trunc i32 %4512 to i8 - %4514 = or i8 %4513, -64 - store i8 %4514, ptr %4510, align 1, !tbaa !51 - %4515 = getelementptr inbounds i8, ptr %4508, i64 2 - br label %6010 - -4516: ; preds = %2735 - br label %4518 - -4517: ; preds = %2740 - br label %4518 - -4518: ; preds = %4517, %4516, %2963, %2911, %2891, %2858, %2828, %2814, %2796, %2740, %2735, %2709, %2687, %2662, %2643, %2629, %2626, %2600, %2572, %2557, %2528, %2520, %2518, %2486, %2480, %2472, %2458, %2431, %2428, %2411, %2407, %2393, %2317, %2313, %2299, %2287, %2228, %2224, %2210, %2074, %2040, %2011, %2009, %2001, %1999, %1926, %1777, %1759, %1754, %1645, %1591, %1484, %1474, %1367, %1251, %1222, %1197, %1151, %1003, %954, %911, %871, %865, %862, %858, %844, %789, %787, %757, %705, %617, %613, %599, %596, %592, %577, %526, %507, %505, %481, %399, %391, %378, %370, %361, %354, %323, %295, %260 - %4519 = phi ptr [ %154, %2963 ], [ %154, %2911 ], [ %154, %2891 ], [ %154, %2858 ], [ %154, %2828 ], [ %154, %2814 ], [ %154, %2796 ], [ %154, %2687 ], [ %154, %2709 ], [ %154, %2643 ], [ %154, %2662 ], [ %154, %2629 ], [ %154, %2626 ], [ %154, %2600 ], [ %154, %2572 ], [ %154, %2557 ], [ %154, %2518 ], [ %154, %2520 ], [ %154, %2528 ], [ %154, %2472 ], [ %154, %2480 ], [ %154, %2486 ], [ %154, %2458 ], [ %154, %2431 ], [ %154, %2428 ], [ %154, %2411 ], [ %154, %2407 ], [ %154, %2393 ], [ %154, %2317 ], [ %154, %2313 ], [ %154, %2299 ], [ %154, %2287 ], [ %154, %2228 ], [ %154, %2224 ], [ %154, %2210 ], [ %154, %2074 ], [ %154, %2040 ], [ %154, %2011 ], [ %154, %2009 ], [ %154, %1999 ], [ %154, %1926 ], [ %154, %1759 ], [ %154, %1754 ], [ %154, %1484 ], [ %154, %1591 ], [ %154, %1367 ], [ %154, %1474 ], [ %154, %1251 ], [ %154, %1197 ], [ %154, %1151 ], [ %154, %323 ], [ %154, %295 ], [ %154, %354 ], [ %154, %1003 ], [ %154, %954 ], [ %913, %911 ], [ %154, %862 ], [ %154, %858 ], [ %154, %844 ], [ %154, %789 ], [ %154, %787 ], [ %154, %757 ], [ %154, %617 ], [ %154, %613 ], [ %154, %599 ], [ %154, %596 ], [ %154, %592 ], [ %154, %577 ], [ %154, %526 ], [ %506, %505 ], [ %154, %507 ], [ %154, %481 ], [ %154, %399 ], [ %154, %391 ], [ %154, %378 ], [ %154, %361 ], [ %154, %370 ], [ %154, %260 ], [ %154, %705 ], [ %154, %1222 ], [ %154, %1645 ], [ %154, %2735 ], [ %154, %2740 ], [ %154, %871 ], [ %154, %865 ], [ %154, %2001 ], [ %154, %4516 ], [ %154, %4517 ], [ %154, %1777 ] - %4520 = phi i32 [ %2967, %2963 ], [ %2918, %2911 ], [ %2893, %2891 ], [ %2865, %2858 ], [ %2830, %2828 ], [ %2821, %2814 ], [ %2798, %2796 ], [ %2673, %2687 ], [ %2701, %2709 ], [ %2650, %2643 ], [ %2669, %2662 ], [ %2636, %2629 ], [ %2628, %2626 ], [ %2609, %2600 ], [ %2586, %2572 ], [ %161, %2557 ], [ %161, %2518 ], [ %161, %2520 ], [ %2536, %2528 ], [ %161, %2472 ], [ %161, %2480 ], [ %2493, %2486 ], [ %161, %2458 ], [ %2438, %2431 ], [ %2430, %2428 ], [ %2413, %2411 ], [ %2402, %2407 ], [ %2402, %2393 ], [ %2319, %2317 ], [ %2308, %2313 ], [ %2308, %2299 ], [ %2238, %2287 ], [ %2230, %2228 ], [ %2219, %2224 ], [ %2219, %2210 ], [ %2083, %2074 ], [ %2049, %2040 ], [ %161, %2011 ], [ %161, %2009 ], [ %161, %1999 ], [ %161, %1926 ], [ %1766, %1759 ], [ %1756, %1754 ], [ %1492, %1484 ], [ %1592, %1591 ], [ %1375, %1367 ], [ %1475, %1474 ], [ %1260, %1251 ], [ %161, %1197 ], [ %161, %1151 ], [ %161, %323 ], [ %161, %295 ], [ %161, %354 ], [ %1005, %1003 ], [ %979, %954 ], [ %877, %911 ], [ %864, %862 ], [ %853, %858 ], [ %853, %844 ], [ %161, %789 ], [ %783, %787 ], [ %766, %757 ], [ %619, %617 ], [ %608, %613 ], [ %608, %599 ], [ %598, %596 ], [ %587, %592 ], [ %587, %577 ], [ %528, %526 ], [ %501, %505 ], [ %501, %507 ], [ %483, %481 ], [ %401, %399 ], [ 0, %391 ], [ %161, %378 ], [ %161, %361 ], [ %161, %370 ], [ %161, %260 ], [ %161, %705 ], [ %161, %1222 ], [ 0, %1645 ], [ %2737, %2735 ], [ %2742, %2740 ], [ %161, %871 ], [ %161, %865 ], [ %161, %2001 ], [ %2737, %4516 ], [ %2742, %4517 ], [ %1781, %1777 ] - %4521 = phi i32 [ %46, %2963 ], [ %46, %2911 ], [ %46, %2891 ], [ %46, %2858 ], [ %46, %2828 ], [ %46, %2814 ], [ %46, %2796 ], [ %46, %2687 ], [ %46, %2709 ], [ %46, %2643 ], [ %46, %2662 ], [ %46, %2629 ], [ %46, %2626 ], [ %46, %2600 ], [ %46, %2572 ], [ %46, %2557 ], [ %46, %2518 ], [ %46, %2520 ], [ %46, %2528 ], [ %46, %2472 ], [ %46, %2480 ], [ %46, %2486 ], [ %46, %2458 ], [ %46, %2431 ], [ %46, %2428 ], [ %2412, %2411 ], [ %2410, %2407 ], [ %46, %2393 ], [ %2318, %2317 ], [ %2316, %2313 ], [ %46, %2299 ], [ %46, %2287 ], [ %2229, %2228 ], [ %2227, %2224 ], [ %46, %2210 ], [ %46, %2074 ], [ %46, %2040 ], [ %46, %2011 ], [ %46, %2009 ], [ %46, %1999 ], [ %46, %1926 ], [ %46, %1759 ], [ %46, %1754 ], [ %46, %1484 ], [ %1593, %1591 ], [ %46, %1367 ], [ %1476, %1474 ], [ %46, %1251 ], [ %46, %1197 ], [ %46, %1151 ], [ %46, %323 ], [ %46, %295 ], [ %46, %354 ], [ %46, %1003 ], [ %46, %954 ], [ %46, %911 ], [ %863, %862 ], [ %861, %858 ], [ %46, %844 ], [ %46, %789 ], [ %46, %787 ], [ %46, %757 ], [ %618, %617 ], [ %616, %613 ], [ %46, %599 ], [ %597, %596 ], [ %595, %592 ], [ %46, %577 ], [ %46, %526 ], [ %46, %505 ], [ %46, %507 ], [ %46, %481 ], [ %46, %399 ], [ %46, %391 ], [ %46, %378 ], [ %46, %361 ], [ %46, %370 ], [ %46, %260 ], [ %46, %705 ], [ %46, %1222 ], [ %46, %1645 ], [ %46, %2735 ], [ %46, %2740 ], [ %46, %871 ], [ %46, %865 ], [ %46, %2001 ], [ %46, %4516 ], [ %46, %4517 ], [ %46, %1777 ] - %4522 = phi i32 [ 271, %2963 ], [ %2916, %2911 ], [ %165, %2891 ], [ %2863, %2858 ], [ %165, %2828 ], [ %2819, %2814 ], [ %2789, %2796 ], [ %2678, %2687 ], [ %2705, %2709 ], [ %2648, %2643 ], [ %2667, %2662 ], [ %2634, %2629 ], [ %165, %2626 ], [ %2605, %2600 ], [ %2582, %2572 ], [ %2558, %2557 ], [ %2519, %2518 ], [ %2510, %2520 ], [ %2534, %2528 ], [ %165, %2472 ], [ %2481, %2480 ], [ %2491, %2486 ], [ %2462, %2458 ], [ %2436, %2431 ], [ %165, %2428 ], [ %2400, %2411 ], [ %2400, %2407 ], [ %2400, %2393 ], [ %2306, %2317 ], [ %2306, %2313 ], [ %2306, %2299 ], [ %2293, %2287 ], [ %2217, %2228 ], [ %2217, %2224 ], [ %2217, %2210 ], [ %2081, %2074 ], [ %2047, %2040 ], [ %165, %2011 ], [ %2010, %2009 ], [ %2000, %1999 ], [ %1928, %1926 ], [ %1764, %1759 ], [ %1737, %1754 ], [ %1491, %1484 ], [ %1594, %1591 ], [ %1374, %1367 ], [ %1477, %1474 ], [ %1258, %1251 ], [ %165, %1197 ], [ %1157, %1151 ], [ %328, %323 ], [ %165, %295 ], [ %360, %354 ], [ %1011, %1003 ], [ %976, %954 ], [ %917, %911 ], [ %851, %862 ], [ %851, %858 ], [ %851, %844 ], [ %165, %789 ], [ %781, %787 ], [ %764, %757 ], [ %606, %617 ], [ %606, %613 ], [ %606, %599 ], [ %585, %596 ], [ %585, %592 ], [ %585, %577 ], [ %520, %526 ], [ %165, %505 ], [ %510, %507 ], [ %475, %481 ], [ %408, %399 ], [ %398, %391 ], [ %165, %378 ], [ %165, %361 ], [ %165, %370 ], [ %261, %260 ], [ %729, %705 ], [ %1227, %1222 ], [ %1653, %1645 ], [ 367, %2735 ], [ 383, %2740 ], [ %165, %871 ], [ %165, %865 ], [ %1994, %2001 ], [ 4194686, %4516 ], [ 2097622, %4517 ], [ %165, %1777 ] - %4523 = phi i8 [ 1, %2963 ], [ 1, %2911 ], [ 1, %2891 ], [ 0, %2858 ], [ 0, %2828 ], [ 0, %2814 ], [ 0, %2796 ], [ 0, %2687 ], [ 0, %2709 ], [ 0, %2643 ], [ 0, %2662 ], [ 0, %2629 ], [ 0, %2626 ], [ 1, %2600 ], [ 1, %2572 ], [ 0, %2557 ], [ 0, %2518 ], [ 0, %2520 ], [ 0, %2528 ], [ 0, %2472 ], [ 0, %2480 ], [ 0, %2486 ], [ 0, %2458 ], [ 0, %2431 ], [ 0, %2428 ], [ 0, %2411 ], [ 0, %2407 ], [ 0, %2393 ], [ 0, %2317 ], [ 0, %2313 ], [ 0, %2299 ], [ %2297, %2287 ], [ 0, %2228 ], [ 0, %2224 ], [ 0, %2210 ], [ 0, %2074 ], [ 1, %2040 ], [ 0, %2011 ], [ 1, %2009 ], [ 0, %1999 ], [ 0, %1926 ], [ 0, %1759 ], [ 0, %1754 ], [ 0, %1484 ], [ 0, %1591 ], [ 0, %1367 ], [ 0, %1474 ], [ 0, %1251 ], [ 0, %1197 ], [ 0, %1151 ], [ 0, %323 ], [ 0, %295 ], [ 0, %354 ], [ 0, %1003 ], [ %977, %954 ], [ 0, %911 ], [ 0, %862 ], [ 0, %858 ], [ 0, %844 ], [ 0, %789 ], [ 1, %787 ], [ 0, %757 ], [ 0, %617 ], [ 0, %613 ], [ 0, %599 ], [ 0, %596 ], [ 0, %592 ], [ 0, %577 ], [ 0, %526 ], [ 0, %505 ], [ 0, %507 ], [ 0, %481 ], [ 0, %399 ], [ 0, %391 ], [ 0, %378 ], [ 0, %361 ], [ 0, %370 ], [ 0, %260 ], [ %720, %705 ], [ 0, %1222 ], [ %1657, %1645 ], [ 0, %2735 ], [ 0, %2740 ], [ 0, %871 ], [ 0, %865 ], [ 0, %2001 ], [ 0, %4516 ], [ 0, %4517 ], [ 0, %1777 ] - %4524 = phi i64 [ %2965, %2963 ], [ %2896, %2911 ], [ %2885, %2891 ], [ 0, %2858 ], [ 0, %2828 ], [ 0, %2814 ], [ 0, %2796 ], [ 0, %2687 ], [ 0, %2709 ], [ 0, %2643 ], [ 0, %2662 ], [ 0, %2629 ], [ 0, %2626 ], [ %2607, %2600 ], [ %2584, %2572 ], [ 0, %2557 ], [ 0, %2518 ], [ 0, %2520 ], [ 0, %2528 ], [ 0, %2472 ], [ 0, %2480 ], [ 0, %2486 ], [ 0, %2458 ], [ 0, %2431 ], [ 0, %2428 ], [ 0, %2411 ], [ 0, %2407 ], [ 0, %2393 ], [ 0, %2317 ], [ 0, %2313 ], [ 0, %2299 ], [ %2295, %2287 ], [ 0, %2228 ], [ 0, %2224 ], [ 0, %2210 ], [ 0, %2074 ], [ %2051, %2040 ], [ 0, %2011 ], [ %2004, %2009 ], [ 0, %1999 ], [ 0, %1926 ], [ 0, %1759 ], [ 0, %1754 ], [ 0, %1484 ], [ 0, %1591 ], [ 0, %1367 ], [ 0, %1474 ], [ 0, %1251 ], [ 0, %1197 ], [ 0, %1151 ], [ 0, %323 ], [ 0, %295 ], [ 0, %354 ], [ 0, %1003 ], [ %967, %954 ], [ 0, %911 ], [ 0, %862 ], [ 0, %858 ], [ 0, %844 ], [ 0, %789 ], [ %769, %787 ], [ 0, %757 ], [ 0, %617 ], [ 0, %613 ], [ 0, %599 ], [ 0, %596 ], [ 0, %592 ], [ 0, %577 ], [ 0, %526 ], [ 0, %505 ], [ 0, %507 ], [ 0, %481 ], [ 0, %399 ], [ 0, %391 ], [ 0, %378 ], [ 0, %361 ], [ 0, %370 ], [ 0, %260 ], [ %714, %705 ], [ 0, %1222 ], [ %1655, %1645 ], [ 0, %2735 ], [ 0, %2740 ], [ 0, %871 ], [ 0, %865 ], [ 1, %2001 ], [ 0, %4516 ], [ 0, %4517 ], [ 0, %1777 ] - %4525 = phi ptr [ %3, %2963 ], [ %3, %2911 ], [ %3, %2891 ], [ %3, %2858 ], [ %3, %2828 ], [ %3, %2814 ], [ %3, %2796 ], [ %3, %2687 ], [ %2, %2709 ], [ %3, %2643 ], [ %2, %2662 ], [ %2, %2629 ], [ %3, %2626 ], [ %2, %2600 ], [ %2, %2572 ], [ %2, %2557 ], [ %2, %2518 ], [ %2, %2520 ], [ %2, %2528 ], [ %2, %2472 ], [ %2, %2480 ], [ %2, %2486 ], [ %2, %2458 ], [ %2, %2431 ], [ %3, %2428 ], [ %2, %2411 ], [ %2, %2407 ], [ %2, %2393 ], [ %3, %2317 ], [ %3, %2313 ], [ %3, %2299 ], [ %2, %2287 ], [ %2, %2228 ], [ %2, %2224 ], [ %2, %2210 ], [ %2, %2074 ], [ %2, %2040 ], [ %2, %2011 ], [ %2, %2009 ], [ %2, %1999 ], [ %2, %1926 ], [ %2, %1759 ], [ %3, %1754 ], [ %2, %1484 ], [ %2, %1591 ], [ %3, %1367 ], [ %3, %1474 ], [ %3, %1251 ], [ %2, %1197 ], [ %2, %1151 ], [ %4, %323 ], [ %3, %295 ], [ %2, %354 ], [ %3, %1003 ], [ %3, %954 ], [ %3, %911 ], [ %2, %862 ], [ %2, %858 ], [ %2, %844 ], [ %2, %789 ], [ %2, %787 ], [ %2, %757 ], [ %2, %617 ], [ %2, %613 ], [ %2, %599 ], [ %3, %596 ], [ %3, %592 ], [ %3, %577 ], [ %2, %526 ], [ %3, %505 ], [ %3, %507 ], [ %3, %481 ], [ %2, %399 ], [ %2, %391 ], [ %2, %378 ], [ %2, %361 ], [ %2, %370 ], [ %2, %260 ], [ %2, %705 ], [ %2, %1222 ], [ %2, %1645 ], [ %3, %2735 ], [ %2, %2740 ], [ %2, %871 ], [ %2, %865 ], [ %2, %2001 ], [ %3, %4516 ], [ %2, %4517 ], [ %3, %1777 ] - %4526 = load i32, ptr %4525, align 4, !tbaa !31 - %4527 = lshr i32 %4526, 3 - %4528 = and i32 %4527, 1023 - %4529 = zext nneg i32 %4528 to i64 - %4530 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %4529 - %4531 = load i8, ptr %4530, align 1, !tbaa !51 - %4532 = zext i8 %4531 to i32 - %4533 = lshr i32 %4526, 18 - %4534 = and i32 %4533, 7 - %4535 = zext nneg i32 %4534 to i64 - %4536 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4535 - %4537 = load i8, ptr %4536, align 1, !tbaa !51 - %4538 = icmp ne i32 %4534, 0 - %4539 = icmp ne i32 %4534, 7 - %4540 = and i1 %4538, %4539 - store i8 %4537, ptr %4519, align 1, !tbaa !51 - %4541 = zext i1 %4540 to i64 - %4542 = getelementptr inbounds i8, ptr %4519, i64 %4541 - %4543 = getelementptr inbounds i8, ptr %0, i64 40 - %4544 = load i32, ptr %4543, align 8, !tbaa !57 - %4545 = and i32 %4544, %4532 - %4546 = icmp ne i32 %4545, 0 - store i8 103, ptr %4542, align 1, !tbaa !51 - %4547 = zext i1 %4546 to i64 - %4548 = getelementptr inbounds i8, ptr %4542, i64 %4547 - %4549 = lshr i32 %4522, 21 - %4550 = and i32 %4549, 7 - %4551 = zext nneg i32 %4550 to i64 - %4552 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4551 - %4553 = load i8, ptr %4552, align 1, !tbaa !51 - store i8 %4553, ptr %4548, align 1, !tbaa !51 - %4554 = getelementptr inbounds i8, ptr %4525, i64 4 - %4555 = load i32, ptr %4554, align 4, !tbaa !58 - %4556 = getelementptr inbounds i8, ptr %4525, i64 8 - %4557 = load i32, ptr %4556, align 4, !tbaa !47 - %4558 = lshr i32 %4555, 3 - %4559 = and i32 %4558, 1 - %4560 = lshr i32 %4557, 2 - %4561 = and i32 %4560, 2 - %4562 = lshr i32 %4520, 1 - %4563 = and i32 %4562, 4 - %4564 = or disjoint i32 %4559, %4563 - %4565 = or disjoint i32 %4564, %4561 - %4566 = and i32 %4565, %4532 - %4567 = or i32 %4522, %4521 - %4568 = lshr i32 %4567, 24 - %4569 = or i32 %4566, %4568 - %4570 = icmp ugt i32 %4569, 128 - br i1 %4570, label %6035, label %4571, !prof !37 - -4571: ; preds = %4518 - %4572 = icmp ne i32 %4550, 0 - %4573 = zext i1 %4572 to i64 - %4574 = getelementptr inbounds i8, ptr %4548, i64 %4573 - %4575 = and i32 %4569, 127 - %4576 = icmp ne i32 %4575, 0 - %4577 = trunc i32 %4575 to i8 - %4578 = or i8 %4577, 64 - store i8 %4578, ptr %4574, align 1, !tbaa !51 - %4579 = zext i1 %4576 to i64 - %4580 = getelementptr inbounds i8, ptr %4574, i64 %4579 - %4581 = and i32 %4520, 7 - %4582 = lshr i32 %4522, 8 - %4583 = and i32 %4582, 31 - %4584 = zext nneg i32 %4583 to i64 - %4585 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4584 - %4586 = getelementptr inbounds i8, ptr %4585, i64 1 - %4587 = load i8, ptr %4586, align 1, !tbaa !51 - %4588 = load i8, ptr %4585, align 4, !tbaa !92 - %4589 = icmp ne i8 %4588, 0 - store i8 %4587, ptr %4580, align 1, !tbaa !51 - %4590 = zext i1 %4589 to i64 - %4591 = getelementptr inbounds i8, ptr %4580, i64 %4590 - %4592 = getelementptr inbounds i8, ptr %4585, i64 2 - %4593 = load i8, ptr %4592, align 2, !tbaa !51 - %4594 = icmp ugt i8 %4588, 1 - store i8 %4593, ptr %4591, align 1, !tbaa !51 - %4595 = zext i1 %4594 to i64 - %4596 = getelementptr inbounds i8, ptr %4591, i64 %4595 - %4597 = trunc i32 %4522 to i8 - store i8 %4597, ptr %4596, align 1, !tbaa !51 - %4598 = getelementptr inbounds i8, ptr %4596, i64 1 - br label %4599 - -4599: ; preds = %5720, %4571 - %4600 = phi ptr [ %5723, %5720 ], [ %4598, %4571 ] - %4601 = phi i32 [ %5594, %5720 ], [ %4581, %4571 ] - %4602 = phi i32 [ %5568, %5720 ], [ %4555, %4571 ] - %4603 = phi i32 [ %46, %5720 ], [ %4521, %4571 ] - %4604 = phi i32 [ %5722, %5720 ], [ %4522, %4571 ] - %4605 = phi i8 [ %5535, %5720 ], [ %4523, %4571 ] - %4606 = phi i64 [ %5536, %5720 ], [ %4524, %4571 ] - %4607 = phi ptr [ %5554, %5720 ], [ %4542, %4571 ] - %4608 = phi i32 [ %5575, %5720 ], [ %4557, %4571 ] - %4609 = phi i32 [ %5544, %5720 ], [ %4532, %4571 ] - %4610 = phi ptr [ %5537, %5720 ], [ %4525, %4571 ] - %4611 = ptrtoint ptr %4607 to i64 - %4612 = ptrtoint ptr %4600 to i64 - %4613 = and i32 %4609, 66 - %4614 = icmp eq i32 %4613, 0 - br i1 %4614, label %4615, label %5125 - -4615: ; preds = %4599 - %4616 = and i32 %4609, 1 - %4617 = icmp eq i32 %4616, 0 - br i1 %4617, label %4683, label %4618 - -4618: ; preds = %4615 - %4619 = and i32 %4602, 7 - %4620 = getelementptr inbounds i8, ptr %4610, i64 12 - %4621 = load i32, ptr %4620, align 4, !tbaa !47 - %4622 = shl nuw nsw i32 %4601, 3 - %4623 = or disjoint i32 %4619, %4622 - %4624 = load i32, ptr %21, align 4, !tbaa !48 - %4625 = and i32 %4624, 2097152 - %4626 = icmp ne i32 %4625, 0 - %4627 = icmp eq i32 %4619, 4 - %4628 = or i1 %4627, %4626 - %4629 = icmp ne i32 %4619, 5 - %4630 = icmp eq i32 %4621, 0 - %4631 = and i1 %4629, %4630 - br i1 %4628, label %4632, label %4661 - -4632: ; preds = %4618 - br i1 %4631, label %4633, label %4640 - -4633: ; preds = %4632 - %4634 = trunc i32 %4622 to i8 - %4635 = or disjoint i8 %4634, 4 - store i8 %4635, ptr %4600, align 1, !tbaa !51 - %4636 = getelementptr inbounds i8, ptr %4600, i64 1 - %4637 = trunc i32 %4619 to i8 - %4638 = or disjoint i8 %4637, 32 - store i8 %4638, ptr %4636, align 1, !tbaa !51 - %4639 = getelementptr inbounds i8, ptr %4600, i64 2 - br label %5283 - -4640: ; preds = %4632 - %4641 = lshr i32 %4604, 13 - %4642 = and i32 %4641, 7 - %4643 = ashr i32 %4621, %4642 - %4644 = add i32 %4643, 128 - %4645 = icmp ult i32 %4644, 256 - %4646 = shl i32 %4643, %4642 - %4647 = icmp eq i32 %4621, %4646 - %4648 = select i1 %4645, i1 %4647, i1 false - %4649 = trunc i32 %4622 to i8 - %4650 = getelementptr inbounds i8, ptr %4600, i64 1 - %4651 = trunc i32 %4619 to i8 - %4652 = or disjoint i8 %4651, 32 - %4653 = getelementptr inbounds i8, ptr %4600, i64 2 - br i1 %4648, label %4654, label %4658 - -4654: ; preds = %4640 - %4655 = or disjoint i8 %4649, 68 - store i8 %4655, ptr %4600, align 1, !tbaa !51 - store i8 %4652, ptr %4650, align 1, !tbaa !51 - %4656 = trunc i32 %4643 to i8 - store i8 %4656, ptr %4653, align 1, !tbaa !51 - %4657 = getelementptr inbounds i8, ptr %4600, i64 3 - br label %5283 - -4658: ; preds = %4640 - %4659 = or disjoint i8 %4649, -124 - store i8 %4659, ptr %4600, align 1, !tbaa !51 - store i8 %4652, ptr %4650, align 1, !tbaa !51 - store i32 %4621, ptr %4653, align 1, !tbaa !51 - %4660 = getelementptr inbounds i8, ptr %4600, i64 6 - br label %5283 - -4661: ; preds = %4618 - br i1 %4631, label %4662, label %4665 - -4662: ; preds = %4661 - %4663 = trunc i32 %4623 to i8 - store i8 %4663, ptr %4600, align 1, !tbaa !51 - %4664 = getelementptr inbounds i8, ptr %4600, i64 1 - br label %5283 - -4665: ; preds = %4661 - %4666 = lshr i32 %4604, 13 - %4667 = and i32 %4666, 7 - %4668 = ashr i32 %4621, %4667 - %4669 = add i32 %4668, 128 - %4670 = icmp ult i32 %4669, 256 - %4671 = shl i32 %4668, %4667 - %4672 = icmp eq i32 %4621, %4671 - %4673 = select i1 %4670, i1 %4672, i1 false - %4674 = trunc i32 %4623 to i8 - %4675 = getelementptr inbounds i8, ptr %4600, i64 1 - br i1 %4673, label %4676, label %4680 - -4676: ; preds = %4665 - %4677 = or disjoint i8 %4674, 64 - store i8 %4677, ptr %4600, align 1, !tbaa !51 - %4678 = trunc i32 %4668 to i8 - store i8 %4678, ptr %4675, align 1, !tbaa !51 - %4679 = getelementptr inbounds i8, ptr %4600, i64 2 - br label %5283 - -4680: ; preds = %4665 - %4681 = or disjoint i8 %4674, -128 - store i8 %4681, ptr %4600, align 1, !tbaa !51 - store i32 %4621, ptr %4675, align 1, !tbaa !51 - %4682 = getelementptr inbounds i8, ptr %4600, i64 5 - br label %5283 - -4683: ; preds = %4615 - %4684 = and i32 %4609, 48 - %4685 = icmp eq i32 %4684, 0 - br i1 %4685, label %4686, label %4955 - -4686: ; preds = %4683 - %4687 = load i32, ptr %4610, align 4, !tbaa !31 - %4688 = freeze i32 %4687 - %4689 = lshr i32 %4688, 14 - %4690 = and i32 %4689, 3 - %4691 = getelementptr inbounds i8, ptr %4610, i64 12 - %4692 = load i32, ptr %4691, align 4, !tbaa !47 - %4693 = getelementptr inbounds i8, ptr %0, i64 72 - %4694 = load i8, ptr %4693, align 8, !tbaa !42 - %4695 = and i8 %4694, 1 - %4696 = icmp eq i8 %4695, 0 - br i1 %4696, label %4705, label %4697 - -4697: ; preds = %4686 - %4698 = icmp eq i32 %4690, 2 - br i1 %4698, label %6035, label %4699, !prof !37 - -4699: ; preds = %4697 - %4700 = trunc i32 %4601 to i8 - %4701 = shl nuw nsw i8 %4700, 3 - %4702 = or disjoint i8 %4701, 5 - store i8 %4702, ptr %4600, align 1, !tbaa !51 - %4703 = getelementptr inbounds i8, ptr %4600, i64 1 - store i32 %4692, ptr %4703, align 1, !tbaa !51 - %4704 = getelementptr inbounds i8, ptr %4600, i64 5 - br label %5283 - -4705: ; preds = %4686 - %4706 = getelementptr inbounds i8, ptr %4610, i64 4 - %4707 = load i32, ptr %4706, align 4 - %4708 = ashr i32 %4692, 31 - %4709 = icmp eq i32 %4707, %4708 - %4710 = icmp eq i32 %4707, 0 - %4711 = getelementptr inbounds i8, ptr %0, i64 48 - %4712 = load ptr, ptr %4711, align 8, !tbaa !36 - %4713 = getelementptr inbounds i8, ptr %4712, i64 40 - %4714 = load i64, ptr %4713, align 8, !tbaa !65 - switch i32 %4690, label %4864 [ - i32 0, label %4715 - i32 2, label %4736 + br label %5354 + +4140: ; preds = %1706, %1679, %1576, %1459 + %4141 = phi i32 [ %1703, %1706 ], [ %1673, %1679 ], [ %1500, %1576 ], [ %1383, %1459 ] + %4142 = phi i32 [ %1697, %1706 ], [ %1667, %1679 ], [ %1578, %1576 ], [ %1461, %1459 ] + %4143 = phi i64 [ %1714, %1706 ], [ %1687, %1679 ], [ %1577, %1576 ], [ %1460, %1459 ] + %4144 = getelementptr inbounds i8, ptr %0, i64 72 + %4145 = load i8, ptr %4144, align 8, !tbaa !42 + %4146 = and i8 %4145, 1 + %4147 = icmp eq i8 %4146, 0 + %4148 = select i1 %4147, i8 8, i8 4 + %4149 = lshr i32 %4141, 18 + %4150 = and i32 %4149, 7 + %4151 = zext nneg i32 %4150 to i64 + %4152 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4151 + %4153 = load i8, ptr %4152, align 1, !tbaa !51 + %4154 = icmp ne i32 %4150, 0 + %4155 = icmp ne i32 %4150, 7 + %4156 = and i1 %4154, %4155 + store i8 %4153, ptr %154, align 1, !tbaa !51 + %4157 = zext i1 %4156 to i64 + %4158 = getelementptr inbounds i8, ptr %154, i64 %4157 + br label %4159 + +4159: ; preds = %4140, %2278, %1934, %1930, %1928, %1892, %1876, %1871, %1867, %1818, %1793, %1240, %1159, %1130, %1068, %1043, %920, %688, %380, %242, %234, %220, %212, %211, %207, %206, %193, %153 + %4160 = phi ptr [ %154, %2278 ], [ %154, %1930 ], [ %154, %1928 ], [ %154, %1818 ], [ %154, %1793 ], [ %4158, %4140 ], [ %154, %1240 ], [ %154, %1159 ], [ %154, %1130 ], [ %154, %1068 ], [ %154, %1043 ], [ %154, %920 ], [ %154, %380 ], [ %154, %242 ], [ %154, %234 ], [ %154, %220 ], [ %154, %211 ], [ %154, %207 ], [ %154, %206 ], [ %205, %193 ], [ %154, %153 ], [ %154, %688 ], [ %154, %1867 ], [ %154, %1876 ], [ %154, %1871 ], [ %154, %1892 ], [ %154, %212 ], [ %154, %1934 ] + %4161 = phi i32 [ %2271, %2278 ], [ %46, %1930 ], [ %46, %1928 ], [ %46, %1818 ], [ %46, %1793 ], [ %46, %4140 ], [ %46, %1240 ], [ %46, %1159 ], [ %46, %1130 ], [ %46, %1068 ], [ %46, %1043 ], [ %46, %920 ], [ %46, %380 ], [ %46, %242 ], [ %46, %234 ], [ %46, %220 ], [ %46, %211 ], [ %46, %207 ], [ %46, %206 ], [ %46, %193 ], [ %46, %153 ], [ %676, %688 ], [ %46, %1867 ], [ %46, %1876 ], [ %46, %1871 ], [ %46, %1892 ], [ %46, %212 ], [ %46, %1934 ] + %4162 = phi i32 [ %2281, %2278 ], [ %165, %1930 ], [ %1929, %1928 ], [ %1826, %1818 ], [ %1806, %1793 ], [ %4142, %4140 ], [ %1245, %1240 ], [ %165, %1159 ], [ %1140, %1130 ], [ %1076, %1068 ], [ %1059, %1043 ], [ %165, %920 ], [ %165, %380 ], [ %165, %242 ], [ %165, %234 ], [ %165, %220 ], [ %165, %211 ], [ %165, %207 ], [ %165, %206 ], [ %165, %193 ], [ %165, %153 ], [ %693, %688 ], [ %1870, %1867 ], [ %1879, %1876 ], [ 104, %1871 ], [ %1895, %1892 ], [ %165, %212 ], [ %1938, %1934 ] + %4163 = phi i8 [ %2272, %2278 ], [ 2, %1930 ], [ 0, %1928 ], [ 0, %1818 ], [ 1, %1793 ], [ %4148, %4140 ], [ 6, %1240 ], [ 1, %1159 ], [ 0, %1130 ], [ 0, %1068 ], [ 1, %1043 ], [ 3, %920 ], [ 0, %380 ], [ 1, %242 ], [ 1, %234 ], [ 0, %220 ], [ 0, %211 ], [ 0, %207 ], [ 0, %206 ], [ 0, %193 ], [ 0, %153 ], [ %695, %688 ], [ 0, %1867 ], [ %1880, %1876 ], [ 4, %1871 ], [ 0, %1892 ], [ 0, %212 ], [ %1940, %1934 ] + %4164 = phi i64 [ %2273, %2278 ], [ %1932, %1930 ], [ 0, %1928 ], [ 0, %1818 ], [ %1809, %1793 ], [ %4143, %4140 ], [ %1247, %1240 ], [ %1161, %1159 ], [ 0, %1130 ], [ 0, %1068 ], [ %1046, %1043 ], [ %928, %920 ], [ 0, %380 ], [ %245, %242 ], [ %237, %234 ], [ 0, %220 ], [ 0, %211 ], [ 0, %207 ], [ 0, %206 ], [ 0, %193 ], [ 0, %153 ], [ %679, %688 ], [ 0, %1867 ], [ %1873, %1876 ], [ %1873, %1871 ], [ 0, %1892 ], [ 0, %212 ], [ 0, %1934 ] + %4165 = lshr i32 %4162, 21 + %4166 = and i32 %4165, 7 + %4167 = zext nneg i32 %4166 to i64 + %4168 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4167 + %4169 = load i8, ptr %4168, align 1, !tbaa !51 + store i8 %4169, ptr %4160, align 1, !tbaa !51 + %4170 = or i32 %4162, %4161 + %4171 = icmp ugt i32 %4170, -2130706433 + br i1 %4171, label %6031, label %4172, !prof !37 + +4172: ; preds = %4159 + %4173 = lshr i32 %4170, 24 + %4174 = icmp ne i32 %4166, 0 + %4175 = zext i1 %4174 to i64 + %4176 = getelementptr inbounds i8, ptr %4160, i64 %4175 + %4177 = and i32 %4173, 127 + %4178 = icmp ne i32 %4177, 0 + %4179 = trunc i32 %4177 to i8 + %4180 = or i8 %4179, 64 + store i8 %4180, ptr %4176, align 1, !tbaa !51 + %4181 = zext i1 %4178 to i64 + %4182 = getelementptr inbounds i8, ptr %4176, i64 %4181 + %4183 = lshr i32 %4162, 8 + %4184 = and i32 %4183, 31 + %4185 = zext nneg i32 %4184 to i64 + %4186 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4185 + %4187 = getelementptr inbounds i8, ptr %4186, i64 1 + %4188 = load i8, ptr %4187, align 1, !tbaa !51 + %4189 = load i8, ptr %4186, align 4, !tbaa !92 + %4190 = icmp ne i8 %4189, 0 + store i8 %4188, ptr %4182, align 1, !tbaa !51 + %4191 = zext i1 %4190 to i64 + %4192 = getelementptr inbounds i8, ptr %4182, i64 %4191 + %4193 = getelementptr inbounds i8, ptr %4186, i64 2 + %4194 = load i8, ptr %4193, align 2, !tbaa !51 + %4195 = icmp ugt i8 %4189, 1 + store i8 %4194, ptr %4192, align 1, !tbaa !51 + %4196 = zext i1 %4195 to i64 + %4197 = getelementptr inbounds i8, ptr %4192, i64 %4196 + %4198 = trunc i32 %4162 to i8 + store i8 %4198, ptr %4197, align 1, !tbaa !51 + %4199 = getelementptr inbounds i8, ptr %4197, i64 1 + %4200 = icmp ugt i8 %4163, 3 + br i1 %4200, label %4201, label %4206 + +4201: ; preds = %4172 + %4202 = trunc i64 %4164 to i32 + store i32 %4202, ptr %4199, align 1, !tbaa !51 + %4203 = getelementptr inbounds i8, ptr %4197, i64 5 + %4204 = lshr i64 %4164, 32 + %4205 = add nsw i8 %4163, -4 + br label %4206 + +4206: ; preds = %4201, %4172 + %4207 = phi ptr [ %4203, %4201 ], [ %4199, %4172 ] + %4208 = phi i8 [ %4205, %4201 ], [ %4163, %4172 ] + %4209 = phi i64 [ %4204, %4201 ], [ %4164, %4172 ] + %4210 = icmp eq i8 %4208, 0 + br i1 %4210, label %6006, label %4211 + +4211: ; preds = %4206 + %4212 = trunc i64 %4209 to i8 + store i8 %4212, ptr %4207, align 1, !tbaa !51 + %4213 = getelementptr inbounds i8, ptr %4207, i64 1 + %4214 = icmp eq i8 %4208, 1 + br i1 %4214, label %6006, label %4215 + +4215: ; preds = %4211 + %4216 = lshr i64 %4209, 8 + %4217 = trunc i64 %4216 to i8 + store i8 %4217, ptr %4213, align 1, !tbaa !51 + %4218 = getelementptr inbounds i8, ptr %4207, i64 2 + %4219 = icmp eq i8 %4208, 2 + br i1 %4219, label %6006, label %4220 + +4220: ; preds = %4215 + %4221 = lshr i64 %4209, 16 + %4222 = trunc i64 %4221 to i8 + store i8 %4222, ptr %4218, align 1, !tbaa !51 + %4223 = getelementptr inbounds i8, ptr %4207, i64 3 + %4224 = icmp eq i8 %4208, 3 + br i1 %4224, label %6006, label %4225 + +4225: ; preds = %4220 + %4226 = lshr i64 %4209, 24 + %4227 = trunc i64 %4226 to i8 + store i8 %4227, ptr %4223, align 1, !tbaa !51 + %4228 = getelementptr inbounds i8, ptr %4207, i64 4 + br label %6006 + +4229: ; preds = %2376, %2370, %1899, %1719, %1634, %1610, %736 + %4230 = phi i32 [ %1910, %1899 ], [ %1721, %1719 ], [ %1611, %1610 ], [ %1596, %1634 ], [ %738, %736 ], [ %2377, %2376 ], [ %2321, %2370 ] + %4231 = phi i32 [ %46, %1899 ], [ %46, %1719 ], [ %1612, %1610 ], [ %46, %1634 ], [ %46, %736 ], [ %46, %2376 ], [ %46, %2370 ] + %4232 = phi i32 [ %1908, %1899 ], [ 134217912, %1719 ], [ 176, %1610 ], [ %1640, %1634 ], [ %743, %736 ], [ %2384, %2376 ], [ %2372, %2370 ] + %4233 = phi i8 [ 0, %1899 ], [ 8, %1719 ], [ 1, %1610 ], [ %1635, %1634 ], [ 0, %736 ], [ 0, %2376 ], [ 0, %2370 ] + %4234 = phi i64 [ 0, %1899 ], [ %1723, %1719 ], [ %1615, %1610 ], [ %1619, %1634 ], [ 0, %736 ], [ 0, %2376 ], [ 0, %2370 ] + %4235 = lshr i32 %4232, 21 + %4236 = and i32 %4235, 7 + %4237 = zext nneg i32 %4236 to i64 + %4238 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4237 + %4239 = load i8, ptr %4238, align 1, !tbaa !51 + store i8 %4239, ptr %154, align 1, !tbaa !51 + %4240 = or i32 %4232, %4231 + %4241 = lshr i32 %4240, 24 + %4242 = lshr i32 %4230, 3 + %4243 = or i32 %4241, %4242 + %4244 = icmp ugt i32 %4243, 128 + br i1 %4244, label %6031, label %4245, !prof !37 + +4245: ; preds = %4229 + %4246 = icmp ne i32 %4236, 0 + %4247 = zext i1 %4246 to i64 + %4248 = getelementptr inbounds i8, ptr %154, i64 %4247 + %4249 = and i32 %4243, 127 + %4250 = icmp ne i32 %4249, 0 + %4251 = trunc i32 %4249 to i8 + %4252 = or i8 %4251, 64 + store i8 %4252, ptr %4248, align 1, !tbaa !51 + %4253 = zext i1 %4250 to i64 + %4254 = getelementptr inbounds i8, ptr %4248, i64 %4253 + %4255 = and i32 %4230, 7 + %4256 = add i32 %4232, %4255 + %4257 = lshr i32 %4256, 8 + %4258 = and i32 %4257, 31 + %4259 = zext nneg i32 %4258 to i64 + %4260 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4259 + %4261 = getelementptr inbounds i8, ptr %4260, i64 1 + %4262 = load i8, ptr %4261, align 1, !tbaa !51 + %4263 = load i8, ptr %4260, align 4, !tbaa !92 + %4264 = icmp ne i8 %4263, 0 + store i8 %4262, ptr %4254, align 1, !tbaa !51 + %4265 = zext i1 %4264 to i64 + %4266 = getelementptr inbounds i8, ptr %4254, i64 %4265 + %4267 = getelementptr inbounds i8, ptr %4260, i64 2 + %4268 = load i8, ptr %4267, align 2, !tbaa !51 + %4269 = icmp ugt i8 %4263, 1 + store i8 %4268, ptr %4266, align 1, !tbaa !51 + %4270 = zext i1 %4269 to i64 + %4271 = getelementptr inbounds i8, ptr %4266, i64 %4270 + %4272 = trunc i32 %4256 to i8 + store i8 %4272, ptr %4271, align 1, !tbaa !51 + %4273 = getelementptr inbounds i8, ptr %4271, i64 1 + %4274 = icmp ugt i8 %4233, 3 + br i1 %4274, label %4275, label %4280 + +4275: ; preds = %4245 + %4276 = trunc i64 %4234 to i32 + store i32 %4276, ptr %4273, align 1, !tbaa !51 + %4277 = getelementptr inbounds i8, ptr %4271, i64 5 + %4278 = lshr i64 %4234, 32 + %4279 = add i8 %4233, -4 + br label %4280 + +4280: ; preds = %4275, %4245 + %4281 = phi ptr [ %4277, %4275 ], [ %4273, %4245 ] + %4282 = phi i8 [ %4279, %4275 ], [ %4233, %4245 ] + %4283 = phi i64 [ %4278, %4275 ], [ %4234, %4245 ] + %4284 = icmp eq i8 %4282, 0 + br i1 %4284, label %6006, label %4285 + +4285: ; preds = %4280 + %4286 = trunc i64 %4283 to i8 + store i8 %4286, ptr %4281, align 1, !tbaa !51 + %4287 = getelementptr inbounds i8, ptr %4281, i64 1 + %4288 = icmp eq i8 %4282, 1 + br i1 %4288, label %6006, label %4289 + +4289: ; preds = %4285 + %4290 = lshr i64 %4283, 8 + %4291 = trunc i64 %4290 to i8 + store i8 %4291, ptr %4287, align 1, !tbaa !51 + %4292 = getelementptr inbounds i8, ptr %4281, i64 2 + %4293 = icmp eq i8 %4282, 2 + br i1 %4293, label %6006, label %4294 + +4294: ; preds = %4289 + %4295 = lshr i64 %4283, 16 + %4296 = trunc i64 %4295 to i8 + store i8 %4296, ptr %4292, align 1, !tbaa !51 + %4297 = getelementptr inbounds i8, ptr %4281, i64 3 + %4298 = icmp eq i8 %4282, 3 + br i1 %4298, label %6006, label %4299 + +4299: ; preds = %4294 + %4300 = lshr i64 %4283, 24 + %4301 = trunc i64 %4300 to i8 + store i8 %4301, ptr %4297, align 1, !tbaa !51 + %4302 = getelementptr inbounds i8, ptr %4281, i64 4 + br label %6006 + +4303: ; preds = %2160, %2130, %2103, %1850, %1100, %221 + %4304 = phi i32 [ 0, %1100 ], [ 0, %1850 ], [ 0, %2103 ], [ 0, %2130 ], [ %2167, %2160 ], [ 0, %221 ] + %4305 = phi i32 [ %1080, %1100 ], [ %1834, %1850 ], [ %2098, %2103 ], [ %2125, %2130 ], [ %2140, %2160 ], [ %222, %221 ] + %4306 = phi i32 [ %1107, %1100 ], [ %1857, %1850 ], [ %2108, %2103 ], [ %2135, %2130 ], [ %2165, %2160 ], [ %165, %221 ] + %4307 = phi ptr [ %2, %1100 ], [ %3, %1850 ], [ %3, %2103 ], [ %2, %2130 ], [ %3, %2160 ], [ %2, %221 ] + %4308 = lshr i32 %4305, 3 + %4309 = and i32 %4308, 1023 + %4310 = zext nneg i32 %4309 to i64 + %4311 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %4310 + %4312 = load i8, ptr %4311, align 1, !tbaa !51 + %4313 = zext i8 %4312 to i32 + %4314 = getelementptr inbounds i8, ptr %4307, i64 4 + %4315 = load i32, ptr %4314, align 4, !tbaa !58 + %4316 = and i32 %4305, 248 + %4317 = icmp eq i32 %4316, 0 + %4318 = select i1 %4317, i32 %4315, i32 0 + %4319 = or i32 %4318, %4304 + %4320 = icmp ne i32 %4319, 0 + %4321 = and i32 %4313, 2 + %4322 = icmp ne i32 %4321, 0 + %4323 = select i1 %4320, i1 true, i1 %4322, !prof !37 + br i1 %4323, label %6031, label %4324, !prof !37 + +4324: ; preds = %4303 + %4325 = lshr i32 %4306, 21 + %4326 = and i32 %4325, 7 + %4327 = zext nneg i32 %4326 to i64 + %4328 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4327 + %4329 = load i8, ptr %4328, align 1, !tbaa !51 + store i8 %4329, ptr %154, align 1, !tbaa !51 + %4330 = or i32 %4306, %46 + %4331 = icmp ugt i32 %4330, -2130706433 + br i1 %4331, label %6031, label %4332, !prof !37 + +4332: ; preds = %4324 + %4333 = lshr i32 %4330, 24 + %4334 = icmp ne i32 %4326, 0 + %4335 = zext i1 %4334 to i64 + %4336 = getelementptr inbounds i8, ptr %154, i64 %4335 + %4337 = and i32 %4333, 127 + %4338 = icmp ne i32 %4337, 0 + %4339 = trunc i32 %4337 to i8 + %4340 = or i8 %4339, 64 + store i8 %4340, ptr %4336, align 1, !tbaa !51 + %4341 = zext i1 %4338 to i64 + %4342 = getelementptr inbounds i8, ptr %4336, i64 %4341 + %4343 = load i32, ptr %4307, align 4, !tbaa !31 + %4344 = lshr i32 %4343, 18 + %4345 = and i32 %4344, 7 + %4346 = zext nneg i32 %4345 to i64 + %4347 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4346 + %4348 = load i8, ptr %4347, align 1, !tbaa !51 + %4349 = icmp ne i32 %4345, 0 + %4350 = icmp ne i32 %4345, 7 + %4351 = and i1 %4349, %4350 + store i8 %4348, ptr %4342, align 1, !tbaa !51 + %4352 = zext i1 %4351 to i64 + %4353 = getelementptr inbounds i8, ptr %4342, i64 %4352 + %4354 = getelementptr inbounds i8, ptr %0, i64 40 + %4355 = load i32, ptr %4354, align 8, !tbaa !57 + %4356 = and i32 %4355, %4313 + %4357 = icmp ne i32 %4356, 0 + store i8 103, ptr %4353, align 1, !tbaa !51 + %4358 = zext i1 %4357 to i64 + %4359 = getelementptr inbounds i8, ptr %4353, i64 %4358 + %4360 = lshr i32 %4306, 8 + %4361 = and i32 %4360, 31 + %4362 = zext nneg i32 %4361 to i64 + %4363 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4362 + %4364 = getelementptr inbounds i8, ptr %4363, i64 1 + %4365 = load i8, ptr %4364, align 1, !tbaa !51 + %4366 = load i8, ptr %4363, align 4, !tbaa !92 + %4367 = icmp ne i8 %4366, 0 + store i8 %4365, ptr %4359, align 1, !tbaa !51 + %4368 = zext i1 %4367 to i64 + %4369 = getelementptr inbounds i8, ptr %4359, i64 %4368 + %4370 = getelementptr inbounds i8, ptr %4363, i64 2 + %4371 = load i8, ptr %4370, align 2, !tbaa !51 + %4372 = icmp ugt i8 %4366, 1 + store i8 %4371, ptr %4369, align 1, !tbaa !51 + %4373 = zext i1 %4372 to i64 + %4374 = getelementptr inbounds i8, ptr %4369, i64 %4373 + %4375 = trunc i32 %4306 to i8 + store i8 %4375, ptr %4374, align 1, !tbaa !51 + %4376 = getelementptr inbounds i8, ptr %4374, i64 1 + br label %6006 + +4377: ; preds = %2965, %2946, %2937, %2921, %2916, %2894, %2883, %2863, %2841, %2828, %2820, %2797, %2788, %2732, %2729, %2724, %2721, %2704, %2682, %2620, %2616, %2609, %2586, %2558, %2420, %2413, %2385, %2350, %2346, %2275, %2269, %2205, %2201, %2175, %2056, %2024, %2020, %2016, %1982, %1974, %1972, %1750, %1746, %1737, %1631, %1357, %1352, %1349, %1341, %1339, %1335, %1330, %1327, %1319, %1317, %1315, %1307, %1306, %1301, %1197, %1141, %1122, %1118, %1012, %988, %930, %901, %896, %892, %841, %837, %811, %790, %784, %745, %696, %575, %569, %521, %495, %493, %476, %463, %458, %451, %409, %381, %348, %344, %330, %309, %292, %288, %260, %183, %176, %153 + %4378 = phi ptr [ %154, %2965 ], [ %154, %2921 ], [ %154, %2916 ], [ %154, %2894 ], [ %154, %2883 ], [ %154, %2863 ], [ %154, %2841 ], [ %154, %2828 ], [ %154, %2820 ], [ %154, %2797 ], [ %154, %2788 ], [ %154, %2682 ], [ %154, %2724 ], [ %154, %2721 ], [ %154, %2732 ], [ %154, %2729 ], [ %154, %2616 ], [ %154, %2620 ], [ %154, %2609 ], [ %154, %2586 ], [ %154, %2558 ], [ %154, %2420 ], [ %154, %2413 ], [ %154, %2275 ], [ %154, %2269 ], [ %154, %2205 ], [ %154, %2201 ], [ %154, %2175 ], [ %154, %2056 ], [ %154, %2024 ], [ %154, %2020 ], [ %154, %2016 ], [ %154, %1982 ], [ %154, %1972 ], [ %154, %1750 ], [ %154, %1746 ], [ %154, %1737 ], [ %154, %1319 ], [ %154, %1327 ], [ %1336, %1335 ], [ %154, %1330 ], [ %154, %1341 ], [ %154, %1349 ], [ %1358, %1357 ], [ %154, %1352 ], [ %154, %1197 ], [ %154, %1122 ], [ %154, %1118 ], [ %154, %1141 ], [ %154, %309 ], [ %154, %292 ], [ %154, %288 ], [ %154, %348 ], [ %154, %344 ], [ %154, %330 ], [ %154, %1012 ], [ %154, %988 ], [ %154, %930 ], [ %154, %896 ], [ %154, %892 ], [ %902, %901 ], [ %154, %841 ], [ %154, %837 ], [ %154, %811 ], [ %154, %790 ], [ %154, %784 ], [ %154, %745 ], [ %154, %575 ], [ %154, %569 ], [ %154, %521 ], [ %494, %493 ], [ %154, %495 ], [ %154, %476 ], [ %154, %463 ], [ %154, %458 ], [ %154, %451 ], [ %154, %409 ], [ %154, %381 ], [ %154, %260 ], [ %154, %183 ], [ %154, %176 ], [ %154, %696 ], [ %154, %1631 ], [ %154, %153 ], [ %154, %2704 ], [ %154, %1306 ], [ %154, %1315 ], [ %154, %1301 ], [ %154, %1307 ], [ %154, %2385 ], [ %154, %2350 ], [ %154, %2346 ], [ %154, %2946 ], [ %154, %2937 ], [ %154, %1317 ], [ %154, %1339 ], [ %154, %1974 ] + %4379 = phi i32 [ %2964, %2965 ], [ %2928, %2921 ], [ %2918, %2916 ], [ %2905, %2894 ], [ %2885, %2883 ], [ %2870, %2863 ], [ %2852, %2841 ], [ %2835, %2828 ], [ %2822, %2820 ], [ %2808, %2797 ], [ %2790, %2788 ], [ %2671, %2682 ], [ %2714, %2724 ], [ %2712, %2721 ], [ %2714, %2732 ], [ %2712, %2729 ], [ %2611, %2616 ], [ %2613, %2620 ], [ %2611, %2609 ], [ %2595, %2586 ], [ %2567, %2558 ], [ %2417, %2420 ], [ %2415, %2413 ], [ %2236, %2275 ], [ %2236, %2269 ], [ %2207, %2205 ], [ %2184, %2201 ], [ %2184, %2175 ], [ %2065, %2056 ], [ %2033, %2024 ], [ %161, %2020 ], [ %161, %2016 ], [ %161, %1982 ], [ %161, %1972 ], [ %1739, %1750 ], [ %1739, %1746 ], [ %1739, %1737 ], [ %1326, %1319 ], [ %1268, %1327 ], [ %1337, %1335 ], [ %1268, %1330 ], [ %1348, %1341 ], [ %1266, %1349 ], [ %1359, %1357 ], [ %1266, %1352 ], [ %161, %1197 ], [ %161, %1122 ], [ %161, %1118 ], [ %161, %1141 ], [ %161, %309 ], [ %161, %292 ], [ %161, %288 ], [ %161, %348 ], [ %161, %344 ], [ %161, %330 ], [ %1037, %1012 ], [ %990, %988 ], [ %951, %930 ], [ %877, %896 ], [ %877, %892 ], [ %877, %901 ], [ %843, %841 ], [ %820, %837 ], [ %820, %811 ], [ %161, %790 ], [ %783, %784 ], [ %754, %745 ], [ %571, %575 ], [ %570, %569 ], [ %525, %521 ], [ %487, %493 ], [ %487, %495 ], [ %478, %476 ], [ %161, %463 ], [ %161, %458 ], [ %161, %451 ], [ %401, %409 ], [ 0, %381 ], [ %161, %260 ], [ %161, %183 ], [ %161, %176 ], [ %161, %696 ], [ 0, %1631 ], [ %161, %153 ], [ %2699, %2704 ], [ %1290, %1306 ], [ %1266, %1315 ], [ %1302, %1301 ], [ %1268, %1307 ], [ %2323, %2385 ], [ %2352, %2350 ], [ %2323, %2346 ], [ %2943, %2946 ], [ %2943, %2937 ], [ %1268, %1317 ], [ %1266, %1339 ], [ %161, %1974 ] + %4380 = phi i32 [ %2967, %2965 ], [ %2918, %2921 ], [ %2920, %2916 ], [ %2907, %2894 ], [ %2887, %2883 ], [ %2879, %2863 ], [ %2854, %2841 ], [ %2839, %2828 ], [ %2824, %2820 ], [ %2810, %2797 ], [ %2792, %2788 ], [ %2684, %2682 ], [ %2712, %2724 ], [ %2714, %2721 ], [ %2712, %2732 ], [ %2714, %2729 ], [ %2613, %2616 ], [ %2611, %2620 ], [ %2613, %2609 ], [ %2597, %2586 ], [ %2569, %2558 ], [ %2415, %2420 ], [ %2417, %2413 ], [ 0, %2275 ], [ %2270, %2269 ], [ %2197, %2205 ], [ %2197, %2201 ], [ %2182, %2175 ], [ %2067, %2056 ], [ %2035, %2024 ], [ %2022, %2020 ], [ %2012, %2016 ], [ %1966, %1982 ], [ %1966, %1972 ], [ %1752, %1750 ], [ %1741, %1746 ], [ %1741, %1737 ], [ %1266, %1319 ], [ %1266, %1327 ], [ %1266, %1335 ], [ %1266, %1330 ], [ %1268, %1341 ], [ %1268, %1349 ], [ %1268, %1357 ], [ %1268, %1352 ], [ %1199, %1197 ], [ %1124, %1122 ], [ %1111, %1118 ], [ %1111, %1141 ], [ %316, %309 ], [ %294, %292 ], [ %285, %288 ], [ %350, %348 ], [ %339, %344 ], [ %339, %330 ], [ %1037, %1012 ], [ %992, %988 ], [ %953, %930 ], [ %898, %896 ], [ %885, %892 ], [ %885, %901 ], [ %833, %841 ], [ %833, %837 ], [ %818, %811 ], [ %792, %790 ], [ %786, %784 ], [ %756, %745 ], [ %570, %575 ], [ %571, %569 ], [ %523, %521 ], [ %489, %493 ], [ %489, %495 ], [ %480, %476 ], [ %465, %463 ], [ %460, %458 ], [ %453, %451 ], [ %411, %409 ], [ %390, %381 ], [ %263, %260 ], [ %185, %183 ], [ %178, %176 ], [ %675, %696 ], [ %1596, %1631 ], [ 0, %153 ], [ %2671, %2704 ], [ %1302, %1306 ], [ %1268, %1315 ], [ %1290, %1301 ], [ %1266, %1307 ], [ %2321, %2385 ], [ %2342, %2350 ], [ %2342, %2346 ], [ %2945, %2946 ], [ %2945, %2937 ], [ %1266, %1317 ], [ %1268, %1339 ], [ %1966, %1974 ] + %4381 = phi i32 [ %46, %2965 ], [ %46, %2921 ], [ %46, %2916 ], [ %46, %2894 ], [ %46, %2883 ], [ %46, %2863 ], [ %46, %2841 ], [ %46, %2828 ], [ %46, %2820 ], [ %46, %2797 ], [ %46, %2788 ], [ %46, %2682 ], [ %46, %2724 ], [ %46, %2721 ], [ %46, %2732 ], [ %46, %2729 ], [ %46, %2616 ], [ %46, %2620 ], [ %46, %2609 ], [ %46, %2586 ], [ %46, %2558 ], [ %46, %2420 ], [ %46, %2413 ], [ %2271, %2275 ], [ %2271, %2269 ], [ %2206, %2205 ], [ %2204, %2201 ], [ %46, %2175 ], [ %46, %2056 ], [ %46, %2024 ], [ %2021, %2020 ], [ %2019, %2016 ], [ %1967, %1982 ], [ %1967, %1972 ], [ %1751, %1750 ], [ %1749, %1746 ], [ %46, %1737 ], [ %46, %1319 ], [ %46, %1327 ], [ %46, %1335 ], [ %46, %1330 ], [ %46, %1341 ], [ %46, %1349 ], [ %46, %1357 ], [ %46, %1352 ], [ %46, %1197 ], [ %1123, %1122 ], [ %1121, %1118 ], [ %46, %1141 ], [ %46, %309 ], [ %293, %292 ], [ %291, %288 ], [ %349, %348 ], [ %347, %344 ], [ %46, %330 ], [ %46, %1012 ], [ %46, %988 ], [ %46, %930 ], [ %897, %896 ], [ %895, %892 ], [ %46, %901 ], [ %842, %841 ], [ %840, %837 ], [ %46, %811 ], [ %46, %790 ], [ %46, %784 ], [ %46, %745 ], [ %572, %575 ], [ %572, %569 ], [ %46, %521 ], [ %46, %493 ], [ %46, %495 ], [ %46, %476 ], [ %46, %463 ], [ %46, %458 ], [ %46, %451 ], [ %46, %409 ], [ %46, %381 ], [ %46, %260 ], [ %46, %183 ], [ %46, %176 ], [ %676, %696 ], [ %46, %1631 ], [ %46, %153 ], [ %46, %2704 ], [ %1303, %1306 ], [ %46, %1315 ], [ %1303, %1301 ], [ %46, %1307 ], [ %46, %2385 ], [ %2351, %2350 ], [ %2349, %2346 ], [ %46, %2946 ], [ %46, %2937 ], [ %46, %1317 ], [ %46, %1339 ], [ %1967, %1974 ] + %4382 = phi i32 [ 271, %2965 ], [ %2926, %2921 ], [ %165, %2916 ], [ %2903, %2894 ], [ %165, %2883 ], [ %2875, %2863 ], [ %2850, %2841 ], [ %2833, %2828 ], [ %165, %2820 ], [ %2806, %2797 ], [ %2786, %2788 ], [ %2676, %2682 ], [ 383, %2724 ], [ 367, %2721 ], [ 2097622, %2732 ], [ 4194686, %2729 ], [ %165, %2616 ], [ %2623, %2620 ], [ %165, %2609 ], [ %2591, %2586 ], [ %2563, %2558 ], [ %2425, %2420 ], [ %165, %2413 ], [ %2244, %2275 ], [ %2244, %2269 ], [ %2180, %2205 ], [ %2180, %2201 ], [ %2180, %2175 ], [ %2063, %2056 ], [ %2031, %2024 ], [ %165, %2020 ], [ %165, %2016 ], [ %1983, %1982 ], [ %1973, %1972 ], [ %1736, %1750 ], [ %1736, %1746 ], [ %1736, %1737 ], [ %1325, %1319 ], [ 288, %1327 ], [ 288, %1335 ], [ 288, %1330 ], [ %1347, %1341 ], [ 290, %1349 ], [ 290, %1357 ], [ 290, %1352 ], [ %165, %1197 ], [ %165, %1122 ], [ %165, %1118 ], [ %1146, %1141 ], [ %314, %309 ], [ %165, %292 ], [ %165, %288 ], [ %337, %348 ], [ %337, %344 ], [ %337, %330 ], [ %1034, %1012 ], [ %997, %988 ], [ %948, %930 ], [ %882, %896 ], [ %882, %892 ], [ %903, %901 ], [ %816, %841 ], [ %816, %837 ], [ %816, %811 ], [ %165, %790 ], [ %781, %784 ], [ %752, %745 ], [ %576, %575 ], [ %537, %569 ], [ %520, %521 ], [ %165, %493 ], [ %498, %495 ], [ %475, %476 ], [ %165, %463 ], [ %165, %458 ], [ %165, %451 ], [ %408, %409 ], [ %388, %381 ], [ %261, %260 ], [ %165, %183 ], [ %165, %176 ], [ %701, %696 ], [ 134217927, %1631 ], [ %165, %153 ], [ %2703, %2704 ], [ 138, %1306 ], [ %1316, %1315 ], [ 136, %1301 ], [ %1312, %1307 ], [ %2390, %2385 ], [ %165, %2350 ], [ %165, %2346 ], [ %2951, %2946 ], [ %165, %2937 ], [ 289, %1317 ], [ 291, %1339 ], [ %1951, %1974 ] + %4383 = phi i8 [ 1, %2965 ], [ 2, %2921 ], [ 0, %2916 ], [ 1, %2894 ], [ 1, %2883 ], [ 1, %2863 ], [ 0, %2841 ], [ 1, %2828 ], [ 0, %2820 ], [ 0, %2797 ], [ 0, %2788 ], [ 0, %2682 ], [ 0, %2724 ], [ 0, %2721 ], [ 0, %2732 ], [ 0, %2729 ], [ 0, %2616 ], [ 0, %2620 ], [ 0, %2609 ], [ 1, %2586 ], [ 1, %2558 ], [ 0, %2420 ], [ 0, %2413 ], [ %2272, %2275 ], [ %2272, %2269 ], [ 0, %2205 ], [ 0, %2201 ], [ 0, %2175 ], [ 0, %2056 ], [ 1, %2024 ], [ 0, %2020 ], [ 0, %2016 ], [ 1, %1982 ], [ 0, %1972 ], [ 0, %1750 ], [ 0, %1746 ], [ 0, %1737 ], [ 0, %1319 ], [ 0, %1327 ], [ 0, %1335 ], [ 0, %1330 ], [ 0, %1341 ], [ 0, %1349 ], [ 0, %1357 ], [ 0, %1352 ], [ 0, %1197 ], [ 0, %1122 ], [ 0, %1118 ], [ 0, %1141 ], [ 0, %309 ], [ 0, %292 ], [ 0, %288 ], [ 0, %348 ], [ 0, %344 ], [ 0, %330 ], [ %1035, %1012 ], [ 0, %988 ], [ %949, %930 ], [ 0, %896 ], [ 0, %892 ], [ 0, %901 ], [ 0, %841 ], [ 0, %837 ], [ 0, %811 ], [ 0, %790 ], [ 1, %784 ], [ 0, %745 ], [ 0, %575 ], [ 0, %569 ], [ 0, %521 ], [ 0, %493 ], [ 0, %495 ], [ 0, %476 ], [ 0, %463 ], [ 0, %458 ], [ 0, %451 ], [ 0, %409 ], [ 0, %381 ], [ 0, %260 ], [ 1, %183 ], [ 0, %176 ], [ %678, %696 ], [ 4, %1631 ], [ 0, %153 ], [ 0, %2704 ], [ 0, %1306 ], [ 0, %1315 ], [ 0, %1301 ], [ 0, %1307 ], [ 0, %2385 ], [ 0, %2350 ], [ 0, %2346 ], [ 2, %2946 ], [ 0, %2937 ], [ 0, %1317 ], [ 0, %1339 ], [ 0, %1974 ] + %4384 = phi i64 [ %2962, %2965 ], [ %2936, %2921 ], [ 0, %2916 ], [ %2893, %2894 ], [ %2882, %2883 ], [ %2877, %2863 ], [ 0, %2841 ], [ %2837, %2828 ], [ 0, %2820 ], [ 0, %2797 ], [ 0, %2788 ], [ 0, %2682 ], [ 0, %2724 ], [ 0, %2721 ], [ 0, %2732 ], [ 0, %2729 ], [ 0, %2616 ], [ 0, %2620 ], [ 0, %2609 ], [ %2593, %2586 ], [ %2565, %2558 ], [ 0, %2420 ], [ 0, %2413 ], [ %2273, %2275 ], [ %2273, %2269 ], [ 0, %2205 ], [ 0, %2201 ], [ 0, %2175 ], [ 0, %2056 ], [ %2037, %2024 ], [ 0, %2020 ], [ 0, %2016 ], [ %1977, %1982 ], [ 0, %1972 ], [ 0, %1750 ], [ 0, %1746 ], [ 0, %1737 ], [ 0, %1319 ], [ 0, %1327 ], [ 0, %1335 ], [ 0, %1330 ], [ 0, %1341 ], [ 0, %1349 ], [ 0, %1357 ], [ 0, %1352 ], [ 0, %1197 ], [ 0, %1122 ], [ 0, %1118 ], [ 0, %1141 ], [ 0, %309 ], [ 0, %292 ], [ 0, %288 ], [ 0, %348 ], [ 0, %344 ], [ 0, %330 ], [ %1025, %1012 ], [ 0, %988 ], [ %939, %930 ], [ 0, %896 ], [ 0, %892 ], [ 0, %901 ], [ 0, %841 ], [ 0, %837 ], [ 0, %811 ], [ 0, %790 ], [ %769, %784 ], [ 0, %745 ], [ 0, %575 ], [ 0, %569 ], [ 0, %521 ], [ 0, %493 ], [ 0, %495 ], [ 0, %476 ], [ 0, %463 ], [ 0, %458 ], [ 0, %451 ], [ 0, %409 ], [ 0, %381 ], [ 0, %260 ], [ %188, %183 ], [ 0, %176 ], [ %679, %696 ], [ %1619, %1631 ], [ 0, %153 ], [ 0, %2704 ], [ 0, %1306 ], [ 0, %1315 ], [ 0, %1301 ], [ 0, %1307 ], [ 0, %2385 ], [ 0, %2350 ], [ 0, %2346 ], [ %2959, %2946 ], [ 0, %2937 ], [ 0, %1317 ], [ 0, %1339 ], [ 1, %1974 ] + %4385 = lshr i32 %4382, 21 + %4386 = and i32 %4385, 7 + %4387 = zext nneg i32 %4386 to i64 + %4388 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4387 + %4389 = load i8, ptr %4388, align 1, !tbaa !51 + store i8 %4389, ptr %4378, align 1, !tbaa !51 + %4390 = or i32 %4382, %4381 + %4391 = lshr i32 %4390, 24 + %4392 = lshr i32 %4379, 1 + %4393 = and i32 %4392, 4 + %4394 = lshr i32 %4380, 3 + %4395 = and i32 %4394, 1 + %4396 = or disjoint i32 %4395, %4393 + %4397 = or i32 %4396, %4391 + %4398 = icmp ugt i32 %4397, 128 + br i1 %4398, label %6031, label %4399, !prof !37 + +4399: ; preds = %4377 + %4400 = icmp ne i32 %4386, 0 + %4401 = zext i1 %4400 to i64 + %4402 = getelementptr inbounds i8, ptr %4378, i64 %4401 + %4403 = and i32 %4397, 127 + %4404 = icmp ne i32 %4403, 0 + %4405 = trunc i32 %4403 to i8 + %4406 = or i8 %4405, 64 + store i8 %4406, ptr %4402, align 1, !tbaa !51 + %4407 = zext i1 %4404 to i64 + %4408 = getelementptr inbounds i8, ptr %4402, i64 %4407 + %4409 = and i32 %4380, 7 + %4410 = lshr i32 %4382, 8 + %4411 = and i32 %4410, 31 + %4412 = zext nneg i32 %4411 to i64 + %4413 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4412 + %4414 = getelementptr inbounds i8, ptr %4413, i64 1 + %4415 = load i8, ptr %4414, align 1, !tbaa !51 + %4416 = load i8, ptr %4413, align 4, !tbaa !92 + %4417 = icmp ne i8 %4416, 0 + store i8 %4415, ptr %4408, align 1, !tbaa !51 + %4418 = zext i1 %4417 to i64 + %4419 = getelementptr inbounds i8, ptr %4408, i64 %4418 + %4420 = getelementptr inbounds i8, ptr %4413, i64 2 + %4421 = load i8, ptr %4420, align 2, !tbaa !51 + %4422 = icmp ugt i8 %4416, 1 + store i8 %4421, ptr %4419, align 1, !tbaa !51 + %4423 = zext i1 %4422 to i64 + %4424 = getelementptr inbounds i8, ptr %4419, i64 %4423 + %4425 = trunc i32 %4382 to i8 + store i8 %4425, ptr %4424, align 1, !tbaa !51 + %4426 = getelementptr inbounds i8, ptr %4424, i64 1 + %4427 = shl i32 %4379, 3 + %4428 = or disjoint i32 %4409, %4427 + %4429 = trunc i32 %4428 to i8 + %4430 = or i8 %4429, -64 + store i8 %4430, ptr %4426, align 1, !tbaa !51 + %4431 = getelementptr inbounds i8, ptr %4424, i64 2 + %4432 = icmp ugt i8 %4383, 3 + br i1 %4432, label %4433, label %4436 + +4433: ; preds = %4399 + %4434 = trunc i64 %4384 to i32 + store i32 %4434, ptr %4431, align 1, !tbaa !51 + %4435 = getelementptr inbounds i8, ptr %4424, i64 6 + br label %6006 + +4436: ; preds = %4399 + %4437 = icmp eq i8 %4383, 0 + br i1 %4437, label %6006, label %4438 + +4438: ; preds = %4436 + %4439 = trunc i64 %4384 to i8 + store i8 %4439, ptr %4431, align 1, !tbaa !51 + %4440 = getelementptr inbounds i8, ptr %4424, i64 3 + %4441 = icmp eq i8 %4383, 1 + br i1 %4441, label %6006, label %4442 + +4442: ; preds = %4438 + %4443 = lshr i64 %4384, 8 + %4444 = trunc i64 %4443 to i8 + store i8 %4444, ptr %4440, align 1, !tbaa !51 + %4445 = getelementptr inbounds i8, ptr %4424, i64 4 + %4446 = icmp eq i8 %4383, 2 + br i1 %4446, label %6006, label %4447 + +4447: ; preds = %4442 + %4448 = lshr i64 %4384, 16 + %4449 = trunc i64 %4448 to i8 + store i8 %4449, ptr %4445, align 1, !tbaa !51 + %4450 = getelementptr inbounds i8, ptr %4424, i64 5 + br label %6006 + +4451: ; preds = %414 + %4452 = lshr i32 %159, 21 + %4453 = and i32 %4452, 7 + %4454 = zext nneg i32 %4453 to i64 + %4455 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4454 + %4456 = load i8, ptr %4455, align 1, !tbaa !51 + store i8 %4456, ptr %154, align 1, !tbaa !51 + %4457 = or i32 %159, %45 + %4458 = lshr i32 %4457, 24 + %4459 = lshr i32 %416, 3 + %4460 = or i32 %4459, %4458 + %4461 = icmp ugt i32 %4460, 128 + br i1 %4461, label %6031, label %4462, !prof !37 + +4462: ; preds = %4451 + %4463 = icmp ne i32 %4453, 0 + %4464 = zext i1 %4463 to i64 + %4465 = getelementptr inbounds i8, ptr %154, i64 %4464 + %4466 = and i32 %4460, 127 + %4467 = icmp ne i32 %4466, 0 + %4468 = trunc i32 %4466 to i8 + %4469 = or i8 %4468, 64 + store i8 %4469, ptr %4465, align 1, !tbaa !51 + %4470 = zext i1 %4467 to i64 + %4471 = getelementptr inbounds i8, ptr %4465, i64 %4470 + %4472 = and i32 %416, 7 + %4473 = load i32, ptr %2, align 4, !tbaa !31 + %4474 = lshr i32 %4473, 18 + %4475 = and i32 %4474, 7 + %4476 = zext nneg i32 %4475 to i64 + %4477 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4476 + %4478 = load i8, ptr %4477, align 1, !tbaa !51 + %4479 = icmp ne i32 %4475, 0 + %4480 = icmp ne i32 %4475, 7 + %4481 = and i1 %4479, %4480 + store i8 %4478, ptr %4471, align 1, !tbaa !51 + %4482 = zext i1 %4481 to i64 + %4483 = getelementptr inbounds i8, ptr %4471, i64 %4482 + %4484 = getelementptr inbounds i8, ptr %0, i64 40 + %4485 = load i32, ptr %4484, align 8, !tbaa !57 + %4486 = and i32 %4485, %423 + %4487 = icmp ne i32 %4486, 0 + store i8 103, ptr %4483, align 1, !tbaa !51 + %4488 = zext i1 %4487 to i64 + %4489 = getelementptr inbounds i8, ptr %4483, i64 %4488 + %4490 = lshr i32 %159, 8 + %4491 = and i32 %4490, 31 + %4492 = zext nneg i32 %4491 to i64 + %4493 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4492 + %4494 = getelementptr inbounds i8, ptr %4493, i64 1 + %4495 = load i8, ptr %4494, align 1, !tbaa !51 + %4496 = load i8, ptr %4493, align 4, !tbaa !92 + %4497 = icmp ne i8 %4496, 0 + store i8 %4495, ptr %4489, align 1, !tbaa !51 + %4498 = zext i1 %4497 to i64 + %4499 = getelementptr inbounds i8, ptr %4489, i64 %4498 + %4500 = getelementptr inbounds i8, ptr %4493, i64 2 + %4501 = load i8, ptr %4500, align 2, !tbaa !51 + %4502 = icmp ugt i8 %4496, 1 + store i8 %4501, ptr %4499, align 1, !tbaa !51 + %4503 = zext i1 %4502 to i64 + %4504 = getelementptr inbounds i8, ptr %4499, i64 %4503 + %4505 = trunc i32 %165 to i8 + store i8 %4505, ptr %4504, align 1, !tbaa !51 + %4506 = getelementptr inbounds i8, ptr %4504, i64 1 + %4507 = shl nuw nsw i32 %160, 3 + %4508 = or disjoint i32 %4472, %4507 + %4509 = trunc i32 %4508 to i8 + %4510 = or i8 %4509, -64 + store i8 %4510, ptr %4506, align 1, !tbaa !51 + %4511 = getelementptr inbounds i8, ptr %4504, i64 2 + br label %6006 + +4512: ; preds = %2733 + br label %4514 + +4513: ; preds = %2738 + br label %4514 + +4514: ; preds = %4513, %4512, %2960, %2908, %2888, %2855, %2825, %2811, %2793, %2738, %2733, %2707, %2685, %2660, %2641, %2627, %2624, %2598, %2570, %2555, %2526, %2518, %2516, %2484, %2478, %2470, %2456, %2429, %2426, %2409, %2405, %2391, %2315, %2311, %2297, %2285, %2226, %2222, %2208, %2072, %2038, %2009, %2007, %1999, %1997, %1924, %1776, %1758, %1753, %1644, %1590, %1483, %1473, %1366, %1250, %1221, %1196, %1150, %1003, %954, %911, %871, %865, %862, %858, %844, %789, %787, %757, %705, %617, %613, %599, %596, %592, %577, %526, %507, %505, %481, %399, %391, %378, %370, %361, %354, %323, %295, %260 + %4515 = phi ptr [ %154, %2960 ], [ %154, %2908 ], [ %154, %2888 ], [ %154, %2855 ], [ %154, %2825 ], [ %154, %2811 ], [ %154, %2793 ], [ %154, %2685 ], [ %154, %2707 ], [ %154, %2641 ], [ %154, %2660 ], [ %154, %2627 ], [ %154, %2624 ], [ %154, %2598 ], [ %154, %2570 ], [ %154, %2555 ], [ %154, %2516 ], [ %154, %2518 ], [ %154, %2526 ], [ %154, %2470 ], [ %154, %2478 ], [ %154, %2484 ], [ %154, %2456 ], [ %154, %2429 ], [ %154, %2426 ], [ %154, %2409 ], [ %154, %2405 ], [ %154, %2391 ], [ %154, %2315 ], [ %154, %2311 ], [ %154, %2297 ], [ %154, %2285 ], [ %154, %2226 ], [ %154, %2222 ], [ %154, %2208 ], [ %154, %2072 ], [ %154, %2038 ], [ %154, %2009 ], [ %154, %2007 ], [ %154, %1997 ], [ %154, %1924 ], [ %154, %1758 ], [ %154, %1753 ], [ %154, %1483 ], [ %154, %1590 ], [ %154, %1366 ], [ %154, %1473 ], [ %154, %1250 ], [ %154, %1196 ], [ %154, %1150 ], [ %154, %323 ], [ %154, %295 ], [ %154, %354 ], [ %154, %1003 ], [ %154, %954 ], [ %913, %911 ], [ %154, %862 ], [ %154, %858 ], [ %154, %844 ], [ %154, %789 ], [ %154, %787 ], [ %154, %757 ], [ %154, %617 ], [ %154, %613 ], [ %154, %599 ], [ %154, %596 ], [ %154, %592 ], [ %154, %577 ], [ %154, %526 ], [ %506, %505 ], [ %154, %507 ], [ %154, %481 ], [ %154, %399 ], [ %154, %391 ], [ %154, %378 ], [ %154, %361 ], [ %154, %370 ], [ %154, %260 ], [ %154, %705 ], [ %154, %1221 ], [ %154, %1644 ], [ %154, %2733 ], [ %154, %2738 ], [ %154, %871 ], [ %154, %865 ], [ %154, %1999 ], [ %154, %4512 ], [ %154, %4513 ], [ %154, %1776 ] + %4516 = phi i32 [ %2964, %2960 ], [ %2915, %2908 ], [ %2890, %2888 ], [ %2862, %2855 ], [ %2827, %2825 ], [ %2818, %2811 ], [ %2795, %2793 ], [ %2671, %2685 ], [ %2699, %2707 ], [ %2648, %2641 ], [ %2667, %2660 ], [ %2634, %2627 ], [ %2626, %2624 ], [ %2607, %2598 ], [ %2584, %2570 ], [ %161, %2555 ], [ %161, %2516 ], [ %161, %2518 ], [ %2534, %2526 ], [ %161, %2470 ], [ %161, %2478 ], [ %2491, %2484 ], [ %161, %2456 ], [ %2436, %2429 ], [ %2428, %2426 ], [ %2411, %2409 ], [ %2400, %2405 ], [ %2400, %2391 ], [ %2317, %2315 ], [ %2306, %2311 ], [ %2306, %2297 ], [ %2236, %2285 ], [ %2228, %2226 ], [ %2217, %2222 ], [ %2217, %2208 ], [ %2081, %2072 ], [ %2047, %2038 ], [ %161, %2009 ], [ %161, %2007 ], [ %161, %1997 ], [ %161, %1924 ], [ %1765, %1758 ], [ %1755, %1753 ], [ %1491, %1483 ], [ %1591, %1590 ], [ %1374, %1366 ], [ %1474, %1473 ], [ %1259, %1250 ], [ %161, %1196 ], [ %161, %1150 ], [ %161, %323 ], [ %161, %295 ], [ %161, %354 ], [ %1005, %1003 ], [ %979, %954 ], [ %877, %911 ], [ %864, %862 ], [ %853, %858 ], [ %853, %844 ], [ %161, %789 ], [ %783, %787 ], [ %766, %757 ], [ %619, %617 ], [ %608, %613 ], [ %608, %599 ], [ %598, %596 ], [ %587, %592 ], [ %587, %577 ], [ %528, %526 ], [ %501, %505 ], [ %501, %507 ], [ %483, %481 ], [ %401, %399 ], [ 0, %391 ], [ %161, %378 ], [ %161, %361 ], [ %161, %370 ], [ %161, %260 ], [ %161, %705 ], [ %161, %1221 ], [ 0, %1644 ], [ %2735, %2733 ], [ %2740, %2738 ], [ %161, %871 ], [ %161, %865 ], [ %161, %1999 ], [ %2735, %4512 ], [ %2740, %4513 ], [ %1780, %1776 ] + %4517 = phi i32 [ %46, %2960 ], [ %46, %2908 ], [ %46, %2888 ], [ %46, %2855 ], [ %46, %2825 ], [ %46, %2811 ], [ %46, %2793 ], [ %46, %2685 ], [ %46, %2707 ], [ %46, %2641 ], [ %46, %2660 ], [ %46, %2627 ], [ %46, %2624 ], [ %46, %2598 ], [ %46, %2570 ], [ %46, %2555 ], [ %46, %2516 ], [ %46, %2518 ], [ %46, %2526 ], [ %46, %2470 ], [ %46, %2478 ], [ %46, %2484 ], [ %46, %2456 ], [ %46, %2429 ], [ %46, %2426 ], [ %2410, %2409 ], [ %2408, %2405 ], [ %46, %2391 ], [ %2316, %2315 ], [ %2314, %2311 ], [ %46, %2297 ], [ %46, %2285 ], [ %2227, %2226 ], [ %2225, %2222 ], [ %46, %2208 ], [ %46, %2072 ], [ %46, %2038 ], [ %46, %2009 ], [ %46, %2007 ], [ %46, %1997 ], [ %46, %1924 ], [ %46, %1758 ], [ %46, %1753 ], [ %46, %1483 ], [ %1592, %1590 ], [ %46, %1366 ], [ %1475, %1473 ], [ %46, %1250 ], [ %46, %1196 ], [ %46, %1150 ], [ %46, %323 ], [ %46, %295 ], [ %46, %354 ], [ %46, %1003 ], [ %46, %954 ], [ %46, %911 ], [ %863, %862 ], [ %861, %858 ], [ %46, %844 ], [ %46, %789 ], [ %46, %787 ], [ %46, %757 ], [ %618, %617 ], [ %616, %613 ], [ %46, %599 ], [ %597, %596 ], [ %595, %592 ], [ %46, %577 ], [ %46, %526 ], [ %46, %505 ], [ %46, %507 ], [ %46, %481 ], [ %46, %399 ], [ %46, %391 ], [ %46, %378 ], [ %46, %361 ], [ %46, %370 ], [ %46, %260 ], [ %46, %705 ], [ %46, %1221 ], [ %46, %1644 ], [ %46, %2733 ], [ %46, %2738 ], [ %46, %871 ], [ %46, %865 ], [ %46, %1999 ], [ %46, %4512 ], [ %46, %4513 ], [ %46, %1776 ] + %4518 = phi i32 [ 271, %2960 ], [ %2913, %2908 ], [ %165, %2888 ], [ %2860, %2855 ], [ %165, %2825 ], [ %2816, %2811 ], [ %2786, %2793 ], [ %2676, %2685 ], [ %2703, %2707 ], [ %2646, %2641 ], [ %2665, %2660 ], [ %2632, %2627 ], [ %165, %2624 ], [ %2603, %2598 ], [ %2580, %2570 ], [ %2556, %2555 ], [ %2517, %2516 ], [ %2508, %2518 ], [ %2532, %2526 ], [ %165, %2470 ], [ %2479, %2478 ], [ %2489, %2484 ], [ %2460, %2456 ], [ %2434, %2429 ], [ %165, %2426 ], [ %2398, %2409 ], [ %2398, %2405 ], [ %2398, %2391 ], [ %2304, %2315 ], [ %2304, %2311 ], [ %2304, %2297 ], [ %2291, %2285 ], [ %2215, %2226 ], [ %2215, %2222 ], [ %2215, %2208 ], [ %2079, %2072 ], [ %2045, %2038 ], [ %165, %2009 ], [ %2008, %2007 ], [ %1998, %1997 ], [ %1926, %1924 ], [ %1763, %1758 ], [ %1736, %1753 ], [ %1490, %1483 ], [ %1593, %1590 ], [ %1373, %1366 ], [ %1476, %1473 ], [ %1257, %1250 ], [ %165, %1196 ], [ %1156, %1150 ], [ %328, %323 ], [ %165, %295 ], [ %360, %354 ], [ %1011, %1003 ], [ %976, %954 ], [ %917, %911 ], [ %851, %862 ], [ %851, %858 ], [ %851, %844 ], [ %165, %789 ], [ %781, %787 ], [ %764, %757 ], [ %606, %617 ], [ %606, %613 ], [ %606, %599 ], [ %585, %596 ], [ %585, %592 ], [ %585, %577 ], [ %520, %526 ], [ %165, %505 ], [ %510, %507 ], [ %475, %481 ], [ %408, %399 ], [ %398, %391 ], [ %165, %378 ], [ %165, %361 ], [ %165, %370 ], [ %261, %260 ], [ %729, %705 ], [ %1226, %1221 ], [ %1652, %1644 ], [ 367, %2733 ], [ 383, %2738 ], [ %165, %871 ], [ %165, %865 ], [ %1992, %1999 ], [ 4194686, %4512 ], [ 2097622, %4513 ], [ %165, %1776 ] + %4519 = phi i8 [ 1, %2960 ], [ 1, %2908 ], [ 1, %2888 ], [ 0, %2855 ], [ 0, %2825 ], [ 0, %2811 ], [ 0, %2793 ], [ 0, %2685 ], [ 0, %2707 ], [ 0, %2641 ], [ 0, %2660 ], [ 0, %2627 ], [ 0, %2624 ], [ 1, %2598 ], [ 1, %2570 ], [ 0, %2555 ], [ 0, %2516 ], [ 0, %2518 ], [ 0, %2526 ], [ 0, %2470 ], [ 0, %2478 ], [ 0, %2484 ], [ 0, %2456 ], [ 0, %2429 ], [ 0, %2426 ], [ 0, %2409 ], [ 0, %2405 ], [ 0, %2391 ], [ 0, %2315 ], [ 0, %2311 ], [ 0, %2297 ], [ %2295, %2285 ], [ 0, %2226 ], [ 0, %2222 ], [ 0, %2208 ], [ 0, %2072 ], [ 1, %2038 ], [ 0, %2009 ], [ 1, %2007 ], [ 0, %1997 ], [ 0, %1924 ], [ 0, %1758 ], [ 0, %1753 ], [ 0, %1483 ], [ 0, %1590 ], [ 0, %1366 ], [ 0, %1473 ], [ 0, %1250 ], [ 0, %1196 ], [ 0, %1150 ], [ 0, %323 ], [ 0, %295 ], [ 0, %354 ], [ 0, %1003 ], [ %977, %954 ], [ 0, %911 ], [ 0, %862 ], [ 0, %858 ], [ 0, %844 ], [ 0, %789 ], [ 1, %787 ], [ 0, %757 ], [ 0, %617 ], [ 0, %613 ], [ 0, %599 ], [ 0, %596 ], [ 0, %592 ], [ 0, %577 ], [ 0, %526 ], [ 0, %505 ], [ 0, %507 ], [ 0, %481 ], [ 0, %399 ], [ 0, %391 ], [ 0, %378 ], [ 0, %361 ], [ 0, %370 ], [ 0, %260 ], [ %720, %705 ], [ 0, %1221 ], [ %1656, %1644 ], [ 0, %2733 ], [ 0, %2738 ], [ 0, %871 ], [ 0, %865 ], [ 0, %1999 ], [ 0, %4512 ], [ 0, %4513 ], [ 0, %1776 ] + %4520 = phi i64 [ %2962, %2960 ], [ %2893, %2908 ], [ %2882, %2888 ], [ 0, %2855 ], [ 0, %2825 ], [ 0, %2811 ], [ 0, %2793 ], [ 0, %2685 ], [ 0, %2707 ], [ 0, %2641 ], [ 0, %2660 ], [ 0, %2627 ], [ 0, %2624 ], [ %2605, %2598 ], [ %2582, %2570 ], [ 0, %2555 ], [ 0, %2516 ], [ 0, %2518 ], [ 0, %2526 ], [ 0, %2470 ], [ 0, %2478 ], [ 0, %2484 ], [ 0, %2456 ], [ 0, %2429 ], [ 0, %2426 ], [ 0, %2409 ], [ 0, %2405 ], [ 0, %2391 ], [ 0, %2315 ], [ 0, %2311 ], [ 0, %2297 ], [ %2293, %2285 ], [ 0, %2226 ], [ 0, %2222 ], [ 0, %2208 ], [ 0, %2072 ], [ %2049, %2038 ], [ 0, %2009 ], [ %2002, %2007 ], [ 0, %1997 ], [ 0, %1924 ], [ 0, %1758 ], [ 0, %1753 ], [ 0, %1483 ], [ 0, %1590 ], [ 0, %1366 ], [ 0, %1473 ], [ 0, %1250 ], [ 0, %1196 ], [ 0, %1150 ], [ 0, %323 ], [ 0, %295 ], [ 0, %354 ], [ 0, %1003 ], [ %967, %954 ], [ 0, %911 ], [ 0, %862 ], [ 0, %858 ], [ 0, %844 ], [ 0, %789 ], [ %769, %787 ], [ 0, %757 ], [ 0, %617 ], [ 0, %613 ], [ 0, %599 ], [ 0, %596 ], [ 0, %592 ], [ 0, %577 ], [ 0, %526 ], [ 0, %505 ], [ 0, %507 ], [ 0, %481 ], [ 0, %399 ], [ 0, %391 ], [ 0, %378 ], [ 0, %361 ], [ 0, %370 ], [ 0, %260 ], [ %714, %705 ], [ 0, %1221 ], [ %1654, %1644 ], [ 0, %2733 ], [ 0, %2738 ], [ 0, %871 ], [ 0, %865 ], [ 1, %1999 ], [ 0, %4512 ], [ 0, %4513 ], [ 0, %1776 ] + %4521 = phi ptr [ %3, %2960 ], [ %3, %2908 ], [ %3, %2888 ], [ %3, %2855 ], [ %3, %2825 ], [ %3, %2811 ], [ %3, %2793 ], [ %3, %2685 ], [ %2, %2707 ], [ %3, %2641 ], [ %2, %2660 ], [ %2, %2627 ], [ %3, %2624 ], [ %2, %2598 ], [ %2, %2570 ], [ %2, %2555 ], [ %2, %2516 ], [ %2, %2518 ], [ %2, %2526 ], [ %2, %2470 ], [ %2, %2478 ], [ %2, %2484 ], [ %2, %2456 ], [ %2, %2429 ], [ %3, %2426 ], [ %2, %2409 ], [ %2, %2405 ], [ %2, %2391 ], [ %3, %2315 ], [ %3, %2311 ], [ %3, %2297 ], [ %2, %2285 ], [ %2, %2226 ], [ %2, %2222 ], [ %2, %2208 ], [ %2, %2072 ], [ %2, %2038 ], [ %2, %2009 ], [ %2, %2007 ], [ %2, %1997 ], [ %2, %1924 ], [ %2, %1758 ], [ %3, %1753 ], [ %2, %1483 ], [ %2, %1590 ], [ %3, %1366 ], [ %3, %1473 ], [ %3, %1250 ], [ %2, %1196 ], [ %2, %1150 ], [ %4, %323 ], [ %3, %295 ], [ %2, %354 ], [ %3, %1003 ], [ %3, %954 ], [ %3, %911 ], [ %2, %862 ], [ %2, %858 ], [ %2, %844 ], [ %2, %789 ], [ %2, %787 ], [ %2, %757 ], [ %2, %617 ], [ %2, %613 ], [ %2, %599 ], [ %3, %596 ], [ %3, %592 ], [ %3, %577 ], [ %2, %526 ], [ %3, %505 ], [ %3, %507 ], [ %3, %481 ], [ %2, %399 ], [ %2, %391 ], [ %2, %378 ], [ %2, %361 ], [ %2, %370 ], [ %2, %260 ], [ %2, %705 ], [ %2, %1221 ], [ %2, %1644 ], [ %3, %2733 ], [ %2, %2738 ], [ %2, %871 ], [ %2, %865 ], [ %2, %1999 ], [ %3, %4512 ], [ %2, %4513 ], [ %3, %1776 ] + %4522 = load i32, ptr %4521, align 4, !tbaa !31 + %4523 = lshr i32 %4522, 3 + %4524 = and i32 %4523, 1023 + %4525 = zext nneg i32 %4524 to i64 + %4526 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %4525 + %4527 = load i8, ptr %4526, align 1, !tbaa !51 + %4528 = zext i8 %4527 to i32 + %4529 = lshr i32 %4522, 18 + %4530 = and i32 %4529, 7 + %4531 = zext nneg i32 %4530 to i64 + %4532 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %4531 + %4533 = load i8, ptr %4532, align 1, !tbaa !51 + %4534 = icmp ne i32 %4530, 0 + %4535 = icmp ne i32 %4530, 7 + %4536 = and i1 %4534, %4535 + store i8 %4533, ptr %4515, align 1, !tbaa !51 + %4537 = zext i1 %4536 to i64 + %4538 = getelementptr inbounds i8, ptr %4515, i64 %4537 + %4539 = getelementptr inbounds i8, ptr %0, i64 40 + %4540 = load i32, ptr %4539, align 8, !tbaa !57 + %4541 = and i32 %4540, %4528 + %4542 = icmp ne i32 %4541, 0 + store i8 103, ptr %4538, align 1, !tbaa !51 + %4543 = zext i1 %4542 to i64 + %4544 = getelementptr inbounds i8, ptr %4538, i64 %4543 + %4545 = lshr i32 %4518, 21 + %4546 = and i32 %4545, 7 + %4547 = zext nneg i32 %4546 to i64 + %4548 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %4547 + %4549 = load i8, ptr %4548, align 1, !tbaa !51 + store i8 %4549, ptr %4544, align 1, !tbaa !51 + %4550 = getelementptr inbounds i8, ptr %4521, i64 4 + %4551 = load i32, ptr %4550, align 4, !tbaa !58 + %4552 = getelementptr inbounds i8, ptr %4521, i64 8 + %4553 = load i32, ptr %4552, align 4, !tbaa !47 + %4554 = lshr i32 %4551, 3 + %4555 = and i32 %4554, 1 + %4556 = lshr i32 %4553, 2 + %4557 = and i32 %4556, 2 + %4558 = lshr i32 %4516, 1 + %4559 = and i32 %4558, 4 + %4560 = or disjoint i32 %4555, %4559 + %4561 = or disjoint i32 %4560, %4557 + %4562 = and i32 %4561, %4528 + %4563 = or i32 %4518, %4517 + %4564 = lshr i32 %4563, 24 + %4565 = or i32 %4562, %4564 + %4566 = icmp ugt i32 %4565, 128 + br i1 %4566, label %6031, label %4567, !prof !37 + +4567: ; preds = %4514 + %4568 = icmp ne i32 %4546, 0 + %4569 = zext i1 %4568 to i64 + %4570 = getelementptr inbounds i8, ptr %4544, i64 %4569 + %4571 = and i32 %4565, 127 + %4572 = icmp ne i32 %4571, 0 + %4573 = trunc i32 %4571 to i8 + %4574 = or i8 %4573, 64 + store i8 %4574, ptr %4570, align 1, !tbaa !51 + %4575 = zext i1 %4572 to i64 + %4576 = getelementptr inbounds i8, ptr %4570, i64 %4575 + %4577 = and i32 %4516, 7 + %4578 = lshr i32 %4518, 8 + %4579 = and i32 %4578, 31 + %4580 = zext nneg i32 %4579 to i64 + %4581 = getelementptr inbounds [16 x %"struct.asmjit::_abi_1_10::x86::X86OpcodeMM"], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodeMME, i64 0, i64 %4580 + %4582 = getelementptr inbounds i8, ptr %4581, i64 1 + %4583 = load i8, ptr %4582, align 1, !tbaa !51 + %4584 = load i8, ptr %4581, align 4, !tbaa !92 + %4585 = icmp ne i8 %4584, 0 + store i8 %4583, ptr %4576, align 1, !tbaa !51 + %4586 = zext i1 %4585 to i64 + %4587 = getelementptr inbounds i8, ptr %4576, i64 %4586 + %4588 = getelementptr inbounds i8, ptr %4581, i64 2 + %4589 = load i8, ptr %4588, align 2, !tbaa !51 + %4590 = icmp ugt i8 %4584, 1 + store i8 %4589, ptr %4587, align 1, !tbaa !51 + %4591 = zext i1 %4590 to i64 + %4592 = getelementptr inbounds i8, ptr %4587, i64 %4591 + %4593 = trunc i32 %4518 to i8 + store i8 %4593, ptr %4592, align 1, !tbaa !51 + %4594 = getelementptr inbounds i8, ptr %4592, i64 1 + br label %4595 + +4595: ; preds = %5716, %4567 + %4596 = phi ptr [ %5719, %5716 ], [ %4594, %4567 ] + %4597 = phi i32 [ %5590, %5716 ], [ %4577, %4567 ] + %4598 = phi i32 [ %5564, %5716 ], [ %4551, %4567 ] + %4599 = phi i32 [ %46, %5716 ], [ %4517, %4567 ] + %4600 = phi i32 [ %5718, %5716 ], [ %4518, %4567 ] + %4601 = phi i8 [ %5531, %5716 ], [ %4519, %4567 ] + %4602 = phi i64 [ %5532, %5716 ], [ %4520, %4567 ] + %4603 = phi ptr [ %5550, %5716 ], [ %4538, %4567 ] + %4604 = phi i32 [ %5571, %5716 ], [ %4553, %4567 ] + %4605 = phi i32 [ %5540, %5716 ], [ %4528, %4567 ] + %4606 = phi ptr [ %5533, %5716 ], [ %4521, %4567 ] + %4607 = ptrtoint ptr %4603 to i64 + %4608 = ptrtoint ptr %4596 to i64 + %4609 = and i32 %4605, 66 + %4610 = icmp eq i32 %4609, 0 + br i1 %4610, label %4611, label %5121 + +4611: ; preds = %4595 + %4612 = and i32 %4605, 1 + %4613 = icmp eq i32 %4612, 0 + br i1 %4613, label %4679, label %4614 + +4614: ; preds = %4611 + %4615 = and i32 %4598, 7 + %4616 = getelementptr inbounds i8, ptr %4606, i64 12 + %4617 = load i32, ptr %4616, align 4, !tbaa !47 + %4618 = shl nuw nsw i32 %4597, 3 + %4619 = or disjoint i32 %4615, %4618 + %4620 = load i32, ptr %21, align 4, !tbaa !48 + %4621 = and i32 %4620, 2097152 + %4622 = icmp ne i32 %4621, 0 + %4623 = icmp eq i32 %4615, 4 + %4624 = or i1 %4623, %4622 + %4625 = icmp ne i32 %4615, 5 + %4626 = icmp eq i32 %4617, 0 + %4627 = and i1 %4625, %4626 + br i1 %4624, label %4628, label %4657 + +4628: ; preds = %4614 + br i1 %4627, label %4629, label %4636 + +4629: ; preds = %4628 + %4630 = trunc i32 %4618 to i8 + %4631 = or disjoint i8 %4630, 4 + store i8 %4631, ptr %4596, align 1, !tbaa !51 + %4632 = getelementptr inbounds i8, ptr %4596, i64 1 + %4633 = trunc i32 %4615 to i8 + %4634 = or disjoint i8 %4633, 32 + store i8 %4634, ptr %4632, align 1, !tbaa !51 + %4635 = getelementptr inbounds i8, ptr %4596, i64 2 + br label %5279 + +4636: ; preds = %4628 + %4637 = lshr i32 %4600, 13 + %4638 = and i32 %4637, 7 + %4639 = ashr i32 %4617, %4638 + %4640 = add i32 %4639, 128 + %4641 = icmp ult i32 %4640, 256 + %4642 = shl i32 %4639, %4638 + %4643 = icmp eq i32 %4617, %4642 + %4644 = select i1 %4641, i1 %4643, i1 false + %4645 = trunc i32 %4618 to i8 + %4646 = getelementptr inbounds i8, ptr %4596, i64 1 + %4647 = trunc i32 %4615 to i8 + %4648 = or disjoint i8 %4647, 32 + %4649 = getelementptr inbounds i8, ptr %4596, i64 2 + br i1 %4644, label %4650, label %4654 + +4650: ; preds = %4636 + %4651 = or disjoint i8 %4645, 68 + store i8 %4651, ptr %4596, align 1, !tbaa !51 + store i8 %4648, ptr %4646, align 1, !tbaa !51 + %4652 = trunc i32 %4639 to i8 + store i8 %4652, ptr %4649, align 1, !tbaa !51 + %4653 = getelementptr inbounds i8, ptr %4596, i64 3 + br label %5279 + +4654: ; preds = %4636 + %4655 = or disjoint i8 %4645, -124 + store i8 %4655, ptr %4596, align 1, !tbaa !51 + store i8 %4648, ptr %4646, align 1, !tbaa !51 + store i32 %4617, ptr %4649, align 1, !tbaa !51 + %4656 = getelementptr inbounds i8, ptr %4596, i64 6 + br label %5279 + +4657: ; preds = %4614 + br i1 %4627, label %4658, label %4661 + +4658: ; preds = %4657 + %4659 = trunc i32 %4619 to i8 + store i8 %4659, ptr %4596, align 1, !tbaa !51 + %4660 = getelementptr inbounds i8, ptr %4596, i64 1 + br label %5279 + +4661: ; preds = %4657 + %4662 = lshr i32 %4600, 13 + %4663 = and i32 %4662, 7 + %4664 = ashr i32 %4617, %4663 + %4665 = add i32 %4664, 128 + %4666 = icmp ult i32 %4665, 256 + %4667 = shl i32 %4664, %4663 + %4668 = icmp eq i32 %4617, %4667 + %4669 = select i1 %4666, i1 %4668, i1 false + %4670 = trunc i32 %4619 to i8 + %4671 = getelementptr inbounds i8, ptr %4596, i64 1 + br i1 %4669, label %4672, label %4676 + +4672: ; preds = %4661 + %4673 = or disjoint i8 %4670, 64 + store i8 %4673, ptr %4596, align 1, !tbaa !51 + %4674 = trunc i32 %4664 to i8 + store i8 %4674, ptr %4671, align 1, !tbaa !51 + %4675 = getelementptr inbounds i8, ptr %4596, i64 2 + br label %5279 + +4676: ; preds = %4661 + %4677 = or disjoint i8 %4670, -128 + store i8 %4677, ptr %4596, align 1, !tbaa !51 + store i32 %4617, ptr %4671, align 1, !tbaa !51 + %4678 = getelementptr inbounds i8, ptr %4596, i64 5 + br label %5279 + +4679: ; preds = %4611 + %4680 = and i32 %4605, 48 + %4681 = icmp eq i32 %4680, 0 + br i1 %4681, label %4682, label %4951 + +4682: ; preds = %4679 + %4683 = load i32, ptr %4606, align 4, !tbaa !31 + %4684 = freeze i32 %4683 + %4685 = lshr i32 %4684, 14 + %4686 = and i32 %4685, 3 + %4687 = getelementptr inbounds i8, ptr %4606, i64 12 + %4688 = load i32, ptr %4687, align 4, !tbaa !47 + %4689 = getelementptr inbounds i8, ptr %0, i64 72 + %4690 = load i8, ptr %4689, align 8, !tbaa !42 + %4691 = and i8 %4690, 1 + %4692 = icmp eq i8 %4691, 0 + br i1 %4692, label %4701, label %4693 + +4693: ; preds = %4682 + %4694 = icmp eq i32 %4686, 2 + br i1 %4694, label %6031, label %4695, !prof !37 + +4695: ; preds = %4693 + %4696 = trunc i32 %4597 to i8 + %4697 = shl nuw nsw i8 %4696, 3 + %4698 = or disjoint i8 %4697, 5 + store i8 %4698, ptr %4596, align 1, !tbaa !51 + %4699 = getelementptr inbounds i8, ptr %4596, i64 1 + store i32 %4688, ptr %4699, align 1, !tbaa !51 + %4700 = getelementptr inbounds i8, ptr %4596, i64 5 + br label %5279 + +4701: ; preds = %4682 + %4702 = getelementptr inbounds i8, ptr %4606, i64 4 + %4703 = load i32, ptr %4702, align 4 + %4704 = ashr i32 %4688, 31 + %4705 = icmp eq i32 %4703, %4704 + %4706 = icmp eq i32 %4703, 0 + %4707 = getelementptr inbounds i8, ptr %0, i64 48 + %4708 = load ptr, ptr %4707, align 8, !tbaa !36 + %4709 = getelementptr inbounds i8, ptr %4708, i64 40 + %4710 = load i64, ptr %4709, align 8, !tbaa !65 + switch i32 %4686, label %4860 [ + i32 0, label %4711 + i32 2, label %4732 ] -4715: ; preds = %4705 - %4716 = icmp eq i64 %4714, -1 - br i1 %4716, label %4717, label %4722 - -4717: ; preds = %4715 - %4718 = or i1 %4709, %4710 - br i1 %4718, label %4864, label %4719 - -4719: ; preds = %4717 - %4720 = getelementptr inbounds i8, ptr %0, i64 152 - %4721 = zext nneg i8 %4605 to i64 - br label %4752 - -4722: ; preds = %4715 - %4723 = and i32 %4688, 1835008 - %4724 = icmp ugt i32 %4723, 1048576 - %4725 = icmp eq i32 %14, 382 - %4726 = or i1 %4709, %4710 - %4727 = select i1 %4725, i1 %4726, i1 false - %4728 = or i1 %4724, %4727 - br i1 %4728, label %4864, label %4729 - -4729: ; preds = %4722 - %4730 = getelementptr inbounds i8, ptr %0, i64 152 - %4731 = load ptr, ptr %4730, align 8, !tbaa !80 - %4732 = ptrtoint ptr %4731 to i64 - %4733 = zext nneg i8 %4605 to i64 - %4734 = add i64 %4733, %4612 - %4735 = sub i64 %4732, %4734 - br label %4744 - -4736: ; preds = %4705 - %4737 = getelementptr inbounds i8, ptr %0, i64 152 - %4738 = load ptr, ptr %4737, align 8, !tbaa !80 - %4739 = ptrtoint ptr %4738 to i64 - %4740 = zext nneg i8 %4605 to i64 - %4741 = add i64 %4740, %4612 - %4742 = sub i64 %4739, %4741 - %4743 = icmp eq i64 %4714, -1 - br i1 %4743, label %4752, label %4744 - -4744: ; preds = %4736, %4729 - %4745 = phi i64 [ %4735, %4729 ], [ %4742, %4736 ] - %4746 = phi i64 [ %4733, %4729 ], [ %4740, %4736 ] - %4747 = phi ptr [ %4730, %4729 ], [ %4737, %4736 ] - %4748 = getelementptr inbounds i8, ptr %0, i64 144 - %4749 = load ptr, ptr %4748, align 8, !tbaa !38 - %4750 = load i32, ptr %4749, align 8, !tbaa !94 - %4751 = icmp eq i32 %4750, 0 - br i1 %4751, label %4819, label %4752 - -4752: ; preds = %4744, %4736, %4719 - %4753 = phi i64 [ %4721, %4719 ], [ %4746, %4744 ], [ %4740, %4736 ] - %4754 = phi ptr [ %4720, %4719 ], [ %4747, %4744 ], [ %4737, %4736 ] - %4755 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4712, ptr noundef nonnull %7, i32 noundef 4) #10 - %4756 = icmp eq i32 %4755, 0 - br i1 %4756, label %4757, label %6035, !prof !35 - -4757: ; preds = %4752 - %4758 = trunc i32 %4601 to i8 - %4759 = shl nuw nsw i8 %4758, 3 - %4760 = or disjoint i8 %4759, 5 - store i8 %4760, ptr %4600, align 1, !tbaa !51 - %4761 = getelementptr inbounds i8, ptr %4600, i64 1 - %4762 = getelementptr inbounds i8, ptr %0, i64 144 - %4763 = load ptr, ptr %4762, align 8, !tbaa !38 - %4764 = load i32, ptr %4763, align 8, !tbaa !94 - %4765 = load ptr, ptr %7, align 8, !tbaa !28 - %4766 = getelementptr inbounds i8, ptr %4765, i64 16 - store i32 %4764, ptr %4766, align 8, !tbaa !95 - %4767 = load ptr, ptr %11, align 8, !tbaa !29 - %4768 = load ptr, ptr %4754, align 8, !tbaa !80 - %4769 = ptrtoint ptr %4767 to i64 - %4770 = ptrtoint ptr %4768 to i64 - %4771 = sub i64 %4769, %4770 - %4772 = getelementptr inbounds i8, ptr %4765, i64 24 - store i64 %4771, ptr %4772, align 8, !tbaa !100 - %4773 = getelementptr inbounds i8, ptr %4765, i64 8 - store i8 0, ptr %4773, align 1, !tbaa !101 - %4774 = getelementptr inbounds i8, ptr %4765, i64 9 - store i8 0, ptr %4774, align 1, !tbaa !102 - %4775 = getelementptr inbounds i8, ptr %4765, i64 10 - %4776 = getelementptr inbounds i8, ptr %4765, i64 11 - store i8 4, ptr %4776, align 1, !tbaa !103 - %4777 = getelementptr inbounds i8, ptr %4765, i64 12 - %4778 = getelementptr inbounds i8, ptr %4765, i64 13 - store i8 32, ptr %4778, align 1, !tbaa !104 - %4779 = getelementptr inbounds i8, ptr %4765, i64 14 - store i8 0, ptr %4779, align 1, !tbaa !105 - %4780 = getelementptr inbounds i8, ptr %4765, i64 15 - store i8 0, ptr %4780, align 1, !tbaa !106 - %4781 = ptrtoint ptr %4761 to i64 - %4782 = sub i64 %4781, %4769 - %4783 = add i64 %4782, %4753 - %4784 = trunc i64 %4783 to i8 - %4785 = add i8 %4784, 4 - store i8 %4785, ptr %4775, align 1, !tbaa !107 - %4786 = trunc i64 %4782 to i8 - store i8 %4786, ptr %4777, align 1, !tbaa !108 - %4787 = load i32, ptr %4610, align 4, !tbaa !31 - %4788 = and i32 %4787, 248 - %4789 = icmp eq i32 %4788, 0 - %4790 = load i32, ptr %4691, align 4, !tbaa !47 - %4791 = zext i32 %4790 to i64 - %4792 = load i32, ptr %4706, align 4 - %4793 = zext i32 %4792 to i64 - %4794 = shl nuw i64 %4793, 32 - %4795 = or disjoint i64 %4794, %4791 - %4796 = sext i32 %4790 to i64 - %4797 = select i1 %4789, i64 %4795, i64 %4796 - %4798 = getelementptr inbounds i8, ptr %4765, i64 32 - store i64 %4797, ptr %4798, align 8, !tbaa !109 - store i32 0, ptr %4761, align 1, !tbaa !51 - %4799 = getelementptr inbounds i8, ptr %4600, i64 5 - %4800 = icmp ugt i8 %4605, 3 - br i1 %4800, label %4801, label %4804 - -4801: ; preds = %4757 - %4802 = trunc i64 %4606 to i32 - store i32 %4802, ptr %4799, align 1, !tbaa !51 - %4803 = getelementptr inbounds i8, ptr %4600, i64 9 - br label %6010 - -4804: ; preds = %4757 - %4805 = icmp eq i8 %4605, 0 - br i1 %4805, label %6010, label %4806 - -4806: ; preds = %4804 - %4807 = trunc i64 %4606 to i8 - store i8 %4807, ptr %4799, align 1, !tbaa !51 - %4808 = getelementptr inbounds i8, ptr %4600, i64 6 - %4809 = icmp eq i8 %4605, 1 - br i1 %4809, label %6010, label %4810 - -4810: ; preds = %4806 - %4811 = lshr i64 %4606, 8 - %4812 = trunc i64 %4811 to i8 - store i8 %4812, ptr %4808, align 1, !tbaa !51 - %4813 = getelementptr inbounds i8, ptr %4600, i64 7 - %4814 = icmp eq i8 %4605, 2 - br i1 %4814, label %6010, label %4815 - -4815: ; preds = %4810 - %4816 = lshr i64 %4606, 16 - %4817 = trunc i64 %4816 to i8 - store i8 %4817, ptr %4813, align 1, !tbaa !51 - %4818 = getelementptr inbounds i8, ptr %4600, i64 8 - br label %6010 - -4819: ; preds = %4744 - %4820 = getelementptr inbounds i8, ptr %4749, i64 16 - %4821 = load i64, ptr %4820, align 8, !tbaa !81 - %4822 = and i32 %4688, 248 - %4823 = icmp eq i32 %4822, 0 - %4824 = zext i32 %4692 to i64 - %4825 = zext i32 %4707 to i64 - %4826 = shl nuw i64 %4825, 32 - %4827 = or disjoint i64 %4826, %4824 - %4828 = sext i32 %4692 to i64 - %4829 = select i1 %4823, i64 %4827, i64 %4828 - %reass.sub142 = sub i64 %4829, %4714 - %4830 = add i64 %reass.sub142, -5 - %4831 = add i64 %4830, %4745 - %4832 = sub i64 %4831, %4821 - %4833 = add i64 %4832, 2147483648 - %4834 = icmp ult i64 %4833, 4294967296 - br i1 %4834, label %4835, label %4861 - -4835: ; preds = %4819 - %4836 = trunc i32 %4601 to i8 - %4837 = shl nuw nsw i8 %4836, 3 - %4838 = or disjoint i8 %4837, 5 - store i8 %4838, ptr %4600, align 1, !tbaa !51 - %4839 = getelementptr inbounds i8, ptr %4600, i64 1 - %4840 = trunc i64 %4832 to i32 - store i32 %4840, ptr %4839, align 1, !tbaa !51 - %4841 = getelementptr inbounds i8, ptr %4600, i64 5 - %4842 = icmp ugt i8 %4605, 3 - br i1 %4842, label %4843, label %4846 - -4843: ; preds = %4835 - %4844 = trunc i64 %4606 to i32 - store i32 %4844, ptr %4841, align 1, !tbaa !51 - %4845 = getelementptr inbounds i8, ptr %4600, i64 9 - br label %6010 - -4846: ; preds = %4835 - %4847 = icmp eq i8 %4605, 0 - br i1 %4847, label %6010, label %4848 - -4848: ; preds = %4846 - %4849 = trunc i64 %4606 to i8 - store i8 %4849, ptr %4841, align 1, !tbaa !51 - %4850 = getelementptr inbounds i8, ptr %4600, i64 6 - %4851 = icmp eq i8 %4605, 1 - br i1 %4851, label %6010, label %4852 - -4852: ; preds = %4848 - %4853 = lshr i64 %4606, 8 - %4854 = trunc i64 %4853 to i8 - store i8 %4854, ptr %4850, align 1, !tbaa !51 - %4855 = getelementptr inbounds i8, ptr %4600, i64 7 - %4856 = icmp eq i8 %4605, 2 - br i1 %4856, label %6010, label %4857 - -4857: ; preds = %4852 - %4858 = lshr i64 %4606, 16 - %4859 = trunc i64 %4858 to i8 - store i8 %4859, ptr %4855, align 1, !tbaa !51 - %4860 = getelementptr inbounds i8, ptr %4600, i64 8 - br label %6010 - -4861: ; preds = %4819 - %4862 = and i32 %4688, 49152 - %4863 = icmp eq i32 %4862, 32768 - br i1 %4863, label %6035, label %4864 - -4864: ; preds = %4861, %4722, %4717, %4705 - br i1 %4709, label %4947, label %4865 - -4865: ; preds = %4864 - br i1 %4710, label %4866, label %6035, !prof !35 - -4866: ; preds = %4865 - %4867 = load i8, ptr %4607, align 1, !tbaa !51 - %4868 = zext i8 %4867 to i32 - %4869 = icmp eq i8 %4867, 103 - br i1 %4869, label %4947, label %4870 - -4870: ; preds = %4866 - %4871 = icmp eq i32 %14, 382 - br i1 %4871, label %4922, label %4872 - -4872: ; preds = %4870 - %4873 = icmp eq ptr %4600, %4607 - br i1 %4873, label %.loopexit, label %4874 - -4874: ; preds = %4872 - %4875 = sub i64 %4612, %4611 - %4876 = icmp ult i64 %4875, 16 - br i1 %4876, label %.preheader, label %4877 - -.preheader: ; preds = %4919, %4901, %4874 - %.ph = phi ptr [ %4920, %4919 ], [ %4903, %4901 ], [ %4600, %4874 ] - br label %4940 - -4877: ; preds = %4874 - %4878 = icmp ult i64 %4875, 128 - br i1 %4878, label %4906, label %4879 - -4879: ; preds = %4877 - %4880 = and i64 %4875, -128 - br label %4881 - -4881: ; preds = %4881, %4879 - %4882 = phi i64 [ 0, %4879 ], [ %4897, %4881 ] - %4883 = sub i64 0, %4882 - %4884 = getelementptr i8, ptr %4600, i64 %4883 - %4885 = getelementptr inbounds i8, ptr %4884, i64 -32 - %4886 = getelementptr inbounds i8, ptr %4884, i64 -64 - %4887 = getelementptr inbounds i8, ptr %4884, i64 -96 - %4888 = getelementptr inbounds i8, ptr %4884, i64 -128 - %4889 = load <32 x i8>, ptr %4885, align 1, !tbaa !51 - %4890 = load <32 x i8>, ptr %4886, align 1, !tbaa !51 - %4891 = load <32 x i8>, ptr %4887, align 1, !tbaa !51 - %4892 = load <32 x i8>, ptr %4888, align 1, !tbaa !51 - %4893 = getelementptr i8, ptr %4884, i64 -31 - %4894 = getelementptr i8, ptr %4884, i64 -63 - %4895 = getelementptr i8, ptr %4884, i64 -95 - %4896 = getelementptr i8, ptr %4884, i64 -127 - store <32 x i8> %4889, ptr %4893, align 1, !tbaa !51 - store <32 x i8> %4890, ptr %4894, align 1, !tbaa !51 - store <32 x i8> %4891, ptr %4895, align 1, !tbaa !51 - store <32 x i8> %4892, ptr %4896, align 1, !tbaa !51 - %4897 = add nuw i64 %4882, 128 - %4898 = icmp eq i64 %4897, %4880 - br i1 %4898, label %4899, label %4881, !llvm.loop !110 - -4899: ; preds = %4881 - %4900 = icmp eq i64 %4875, %4880 - br i1 %4900, label %.loopexit, label %4901 - -4901: ; preds = %4899 - %4902 = sub i64 0, %4880 - %4903 = getelementptr i8, ptr %4600, i64 %4902 - %4904 = and i64 %4875, 112 - %4905 = icmp eq i64 %4904, 0 - br i1 %4905, label %.preheader, label %4906 - -4906: ; preds = %4901, %4877 - %4907 = phi i64 [ %4880, %4901 ], [ 0, %4877 ] - %4908 = and i64 %4875, -16 - %4909 = sub i64 0, %4908 - br label %4910 - -4910: ; preds = %4910, %4906 - %4911 = phi i64 [ %4907, %4906 ], [ %4917, %4910 ] - %4912 = sub i64 0, %4911 - %4913 = getelementptr i8, ptr %4600, i64 %4912 - %4914 = getelementptr inbounds i8, ptr %4913, i64 -16 - %4915 = load <16 x i8>, ptr %4914, align 1, !tbaa !51 - %4916 = getelementptr i8, ptr %4913, i64 -15 - store <16 x i8> %4915, ptr %4916, align 1, !tbaa !51 - %4917 = add nuw i64 %4911, 16 - %4918 = icmp eq i64 %4917, %4908 - br i1 %4918, label %4919, label %4910, !llvm.loop !114 - -4919: ; preds = %4910 - %4920 = getelementptr i8, ptr %4600, i64 %4909 - %4921 = icmp eq i64 %4875, %4908 - br i1 %4921, label %.loopexit, label %.preheader - -4922: ; preds = %4870 - %4923 = and i32 %4868, 64 - %4924 = icmp eq i32 %4923, 0 - br i1 %4924, label %4947, label %4925 - -4925: ; preds = %4922 - %4926 = and i32 %4868, 247 - %4927 = trunc i32 %4926 to i8 - store i8 %4927, ptr %4607, align 1, !tbaa !51 - %4928 = icmp ne i32 %4926, 64 - %4929 = and i32 %4603, 1073741824 - %4930 = icmp ne i32 %4929, 0 - %4931 = select i1 %4928, i1 true, i1 %4930 - br i1 %4931, label %4947, label %4932 - -4932: ; preds = %4925 - %4933 = getelementptr inbounds i8, ptr %4607, i64 1 - %4934 = icmp eq ptr %4933, %4600 - br i1 %4934, label %4938, label %4935 - -4935: ; preds = %4932 - %4936 = xor i64 %4611, -1 - %4937 = add i64 %4936, %4612 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %4607, ptr nonnull align 1 %4933, i64 %4937, i1 false), !tbaa !51 - br label %4938 - -4938: ; preds = %4935, %4932 - %4939 = getelementptr inbounds i8, ptr %4600, i64 -1 - br label %4947 - -4940: ; preds = %.preheader, %4940 - %4941 = phi ptr [ %4942, %4940 ], [ %.ph, %.preheader ] - %4942 = getelementptr inbounds i8, ptr %4941, i64 -1 - %4943 = load i8, ptr %4942, align 1, !tbaa !51 - store i8 %4943, ptr %4941, align 1, !tbaa !51 - %4944 = icmp eq ptr %4942, %4607 - br i1 %4944, label %.loopexit, label %4940, !llvm.loop !115 - -.loopexit: ; preds = %4940, %4919, %4899, %4872 - %4945 = phi ptr [ %4600, %4872 ], [ %4607, %4919 ], [ %4607, %4899 ], [ %4607, %4940 ] - store i8 103, ptr %4945, align 1, !tbaa !51 - %4946 = getelementptr inbounds i8, ptr %4600, i64 1 - br label %4947 - -4947: ; preds = %.loopexit, %4938, %4925, %4922, %4866, %4864 - %4948 = phi ptr [ %4600, %4864 ], [ %4600, %4866 ], [ %4600, %4922 ], [ %4939, %4938 ], [ %4600, %4925 ], [ %4946, %.loopexit ] - %4949 = trunc i32 %4601 to i8 - %4950 = shl nuw nsw i8 %4949, 3 - %4951 = or disjoint i8 %4950, 4 - store i8 %4951, ptr %4948, align 1, !tbaa !51 - %4952 = getelementptr inbounds i8, ptr %4948, i64 1 - store i8 37, ptr %4952, align 1, !tbaa !51 - %4953 = getelementptr inbounds i8, ptr %4948, i64 2 - store i32 %4692, ptr %4953, align 1, !tbaa !51 - %4954 = getelementptr inbounds i8, ptr %4948, i64 6 - br label %5283 - -4955: ; preds = %4683 - %4956 = trunc i32 %4601 to i8 - %4957 = shl nuw nsw i8 %4956, 3 - %4958 = or disjoint i8 %4957, 5 - store i8 %4958, ptr %4600, align 1, !tbaa !51 - %4959 = getelementptr inbounds i8, ptr %4600, i64 1 - %4960 = getelementptr inbounds i8, ptr %0, i64 72 - %4961 = load i8, ptr %4960, align 8, !tbaa !42 - %4962 = and i8 %4961, 1 - %4963 = icmp eq i8 %4962, 0 - br i1 %4963, label %5082, label %4964 - -4964: ; preds = %5208, %4955 - %4965 = phi ptr [ %5220, %5208 ], [ %4959, %4955 ] - %4966 = phi i32 [ %5134, %5208 ], [ %4603, %4955 ] - %4967 = phi i8 [ %5136, %5208 ], [ %4605, %4955 ] - %4968 = phi i64 [ %5137, %5208 ], [ %4606, %4955 ] - %4969 = phi i32 [ %5139, %5208 ], [ %4609, %4955 ] - %4970 = phi ptr [ %5140, %5208 ], [ %4610, %4955 ] - %4971 = getelementptr inbounds i8, ptr %0, i64 48 - %4972 = load ptr, ptr %4971, align 8, !tbaa !36 - %4973 = getelementptr inbounds i8, ptr %4972, i64 268 - %4974 = load i32, ptr %4973, align 4, !tbaa !116 - %4975 = getelementptr inbounds i8, ptr %4972, i64 264 - %4976 = load i32, ptr %4975, align 8, !tbaa !117 - %4977 = icmp eq i32 %4974, %4976 - br i1 %4977, label %4978, label %4983 - -4978: ; preds = %4964 - %4979 = getelementptr inbounds i8, ptr %4972, i64 256 - %4980 = getelementptr inbounds i8, ptr %4972, i64 96 - %4981 = call noundef i32 @_ZN6asmjit9_abi_1_1014ZoneVectorBase5_growEPNS0_13ZoneAllocatorEjj(ptr noundef nonnull align 8 dereferenceable(16) %4979, ptr noundef nonnull %4980, i32 noundef 8, i32 noundef 1) #10 - %4982 = icmp eq i32 %4981, 0 - br i1 %4982, label %._crit_edge147, label %6035, !prof !118 - -._crit_edge147: ; preds = %4978 - %.pre148 = load ptr, ptr %4971, align 8, !tbaa !36 - br label %4983 - -4983: ; preds = %._crit_edge147, %4964 - %4984 = phi ptr [ %.pre148, %._crit_edge147 ], [ %4972, %4964 ] - %4985 = getelementptr inbounds i8, ptr %4970, i64 12 - %4986 = load i32, ptr %4985, align 4, !tbaa !47 - %4987 = and i32 %4969, 16 - %4988 = icmp eq i32 %4987, 0 - br i1 %4988, label %5046, label %4989 - -4989: ; preds = %4983 - %4990 = getelementptr inbounds i8, ptr %4970, i64 4 - %4991 = load i32, ptr %4990, align 4, !tbaa !58 - %4992 = getelementptr inbounds i8, ptr %4984, i64 248 - %4993 = load i32, ptr %4992, align 8, !tbaa !117 - %4994 = icmp ugt i32 %4993, %4991 - br i1 %4994, label %4995, label %6035 - -4995: ; preds = %4989 - %4996 = getelementptr inbounds i8, ptr %4984, i64 240 - %4997 = zext i32 %4991 to i64 - %4998 = load ptr, ptr %4996, align 8, !tbaa !119 - %4999 = getelementptr inbounds ptr, ptr %4998, i64 %4997 - %5000 = load ptr, ptr %4999, align 8, !tbaa !28 - %5001 = icmp eq ptr %5000, null - br i1 %5001, label %6035, label %5002, !prof !39 - -5002: ; preds = %4995 - %5003 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4984, ptr noundef nonnull %7, i32 noundef 3) #10 - %5004 = icmp eq i32 %5003, 0 - br i1 %5004, label %5005, label %6035, !prof !35 - -5005: ; preds = %5002 - %5006 = getelementptr inbounds i8, ptr %0, i64 144 - %5007 = load ptr, ptr %5006, align 8, !tbaa !38 - %5008 = load i32, ptr %5007, align 8, !tbaa !94 - %5009 = load ptr, ptr %7, align 8, !tbaa !28 - %5010 = getelementptr inbounds i8, ptr %5009, i64 16 - store i32 %5008, ptr %5010, align 8, !tbaa !95 - %5011 = load ptr, ptr %11, align 8, !tbaa !29 - %5012 = getelementptr inbounds i8, ptr %0, i64 152 - %5013 = load ptr, ptr %5012, align 8, !tbaa !80 - %5014 = ptrtoint ptr %5011 to i64 - %5015 = ptrtoint ptr %5013 to i64 - %5016 = sub i64 %5014, %5015 - %5017 = getelementptr inbounds i8, ptr %5009, i64 24 - store i64 %5016, ptr %5017, align 8, !tbaa !100 - %5018 = getelementptr inbounds i8, ptr %5009, i64 8 - store i8 1, ptr %5018, align 1, !tbaa !101 - %5019 = getelementptr inbounds i8, ptr %5009, i64 9 - store i8 0, ptr %5019, align 1, !tbaa !102 - %5020 = getelementptr inbounds i8, ptr %5009, i64 10 - %5021 = getelementptr inbounds i8, ptr %5009, i64 11 - store i8 4, ptr %5021, align 1, !tbaa !103 - %5022 = getelementptr inbounds i8, ptr %5009, i64 12 - %5023 = getelementptr inbounds i8, ptr %5009, i64 13 - store i8 32, ptr %5023, align 1, !tbaa !104 - %5024 = getelementptr inbounds i8, ptr %5009, i64 14 - store i8 0, ptr %5024, align 1, !tbaa !105 - %5025 = getelementptr inbounds i8, ptr %5009, i64 15 - store i8 0, ptr %5025, align 1, !tbaa !106 - %5026 = ptrtoint ptr %4965 to i64 - %5027 = sub i64 %5026, %5014 - %5028 = trunc i64 %5027 to i8 - %5029 = add nuw nsw i8 %4967, 4 - %5030 = add i8 %5029, %5028 - store i8 %5030, ptr %5020, align 1, !tbaa !107 - store i8 %5028, ptr %5022, align 1, !tbaa !108 - %5031 = sext i32 %4986 to i64 - %5032 = getelementptr inbounds i8, ptr %5009, i64 32 - store i64 %5031, ptr %5032, align 8, !tbaa !109 - %5033 = getelementptr inbounds i8, ptr %5000, i64 32 - %5034 = load ptr, ptr %5033, align 8, !tbaa !120 - %5035 = icmp eq ptr %5034, null - br i1 %5035, label %5043, label %5036 - -5036: ; preds = %5005 - %5037 = getelementptr inbounds i8, ptr %5000, i64 24 - %5038 = load i64, ptr %5037, align 8, !tbaa !125 - %5039 = add i64 %5038, %5031 - store i64 %5039, ptr %5032, align 8, !tbaa !109 - %5040 = load i32, ptr %5034, align 8, !tbaa !94 - %5041 = getelementptr inbounds i8, ptr %5009, i64 20 - store i32 %5040, ptr %5041, align 4, !tbaa !126 - store i32 0, ptr %4965, align 1, !tbaa !51 - %5042 = getelementptr inbounds i8, ptr %4965, i64 4 - br label %5283 - -5043: ; preds = %5005 - %5044 = zext nneg i8 %4967 to i32 - %5045 = sub nuw nsw i32 -4, %5044 - br label %5952 - -5046: ; preds = %4983 - %5047 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4984, ptr noundef nonnull %7, i32 noundef 3) #10 - %5048 = icmp eq i32 %5047, 0 - br i1 %5048, label %5049, label %6035, !prof !35 - -5049: ; preds = %5046 - %5050 = getelementptr inbounds i8, ptr %0, i64 144 - %5051 = load ptr, ptr %5050, align 8, !tbaa !38 - %5052 = load i32, ptr %5051, align 8, !tbaa !94 - %5053 = load ptr, ptr %7, align 8, !tbaa !28 - %5054 = getelementptr inbounds i8, ptr %5053, i64 16 - store i32 %5052, ptr %5054, align 8, !tbaa !95 - %5055 = getelementptr inbounds i8, ptr %5053, i64 20 - store i32 %5052, ptr %5055, align 4, !tbaa !126 - %5056 = getelementptr inbounds i8, ptr %5053, i64 8 - store i8 1, ptr %5056, align 1, !tbaa !101 - %5057 = getelementptr inbounds i8, ptr %5053, i64 9 - store i8 0, ptr %5057, align 1, !tbaa !102 - %5058 = getelementptr inbounds i8, ptr %5053, i64 10 - %5059 = getelementptr inbounds i8, ptr %5053, i64 11 - store i8 4, ptr %5059, align 1, !tbaa !103 - %5060 = getelementptr inbounds i8, ptr %5053, i64 12 - %5061 = getelementptr inbounds i8, ptr %5053, i64 13 - store i8 32, ptr %5061, align 1, !tbaa !104 - %5062 = getelementptr inbounds i8, ptr %5053, i64 14 - store i8 0, ptr %5062, align 1, !tbaa !105 - %5063 = getelementptr inbounds i8, ptr %5053, i64 15 - store i8 0, ptr %5063, align 1, !tbaa !106 - %5064 = load ptr, ptr %11, align 8, !tbaa !29 - %5065 = ptrtoint ptr %4965 to i64 - %5066 = ptrtoint ptr %5064 to i64 - %5067 = sub i64 %5065, %5066 - %5068 = trunc i64 %5067 to i8 - %5069 = add nuw nsw i8 %4967, 4 - %5070 = add i8 %5069, %5068 - store i8 %5070, ptr %5058, align 1, !tbaa !107 - store i8 %5068, ptr %5060, align 1, !tbaa !108 - %5071 = getelementptr inbounds i8, ptr %0, i64 152 - %5072 = load ptr, ptr %5071, align 8, !tbaa !80 - %5073 = ptrtoint ptr %5072 to i64 - %5074 = sub i64 %5066, %5073 - %5075 = getelementptr inbounds i8, ptr %5053, i64 24 - store i64 %5074, ptr %5075, align 8, !tbaa !100 - %5076 = zext i8 %5070 to i64 - %5077 = sext i32 %4986 to i64 - %5078 = add nsw i64 %5076, %5077 - %5079 = add i64 %5078, %5074 - %5080 = getelementptr inbounds i8, ptr %5053, i64 32 - store i64 %5079, ptr %5080, align 8, !tbaa !109 - store i32 0, ptr %4965, align 1, !tbaa !51 - %5081 = getelementptr inbounds i8, ptr %4965, i64 4 - br label %5283 - -5082: ; preds = %4955 - %5083 = getelementptr inbounds i8, ptr %4610, i64 12 - %5084 = load i32, ptr %5083, align 4, !tbaa !47 - %5085 = and i32 %4609, 16 - %5086 = icmp eq i32 %5085, 0 - br i1 %5086, label %5123, label %5087 - -5087: ; preds = %5082 - %5088 = getelementptr inbounds i8, ptr %0, i64 48 - %5089 = load ptr, ptr %5088, align 8, !tbaa !36 - %5090 = getelementptr inbounds i8, ptr %4610, i64 4 - %5091 = load i32, ptr %5090, align 4, !tbaa !58 - %5092 = getelementptr inbounds i8, ptr %5089, i64 248 - %5093 = load i32, ptr %5092, align 8, !tbaa !117 - %5094 = icmp ugt i32 %5093, %5091 - br i1 %5094, label %5095, label %6035 - -5095: ; preds = %5087 - %5096 = getelementptr inbounds i8, ptr %5089, i64 240 - %5097 = zext i32 %5091 to i64 - %5098 = load ptr, ptr %5096, align 8, !tbaa !119 - %5099 = getelementptr inbounds ptr, ptr %5098, i64 %5097 - %5100 = load ptr, ptr %5099, align 8, !tbaa !28 - %5101 = icmp eq ptr %5100, null - br i1 %5101, label %6035, label %5102, !prof !39 - -5102: ; preds = %5095 - %5103 = zext nneg i8 %4605 to i32 - %5104 = sub i32 %5084, %5103 - %5105 = add i32 %5104, -4 - %5106 = getelementptr inbounds i8, ptr %0, i64 144 - %5107 = load ptr, ptr %5106, align 8, !tbaa !38 - %5108 = getelementptr inbounds i8, ptr %5100, i64 32 - %5109 = load ptr, ptr %5108, align 8, !tbaa !120 - %5110 = icmp eq ptr %5109, %5107 - br i1 %5110, label %5111, label %5952 - -5111: ; preds = %5102 - %5112 = getelementptr inbounds i8, ptr %5100, i64 24 - %5113 = load i64, ptr %5112, align 8, !tbaa !125 - %5114 = getelementptr inbounds i8, ptr %0, i64 152 - %5115 = load ptr, ptr %5114, align 8, !tbaa !80 - %5116 = ptrtoint ptr %4959 to i64 - %5117 = ptrtoint ptr %5115 to i64 - %5118 = sub i64 %5113, %5116 - %5119 = add i64 %5118, %5117 - %5120 = trunc i64 %5119 to i32 - %5121 = add nsw i32 %5105, %5120 - store i32 %5121, ptr %4959, align 1, !tbaa !51 - %5122 = getelementptr inbounds i8, ptr %4600, i64 5 - br label %5283 - -5123: ; preds = %5082 - store i32 %5084, ptr %4959, align 1, !tbaa !51 - %5124 = getelementptr inbounds i8, ptr %4600, i64 5 - br label %5283 - -5125: ; preds = %4599 - %5126 = and i32 %4609, 64 - %5127 = icmp eq i32 %5126, 0 - br i1 %5127, label %5128, label %5221 - -5128: ; preds = %5125 - %5129 = icmp eq i32 %4608, 4 - br i1 %5129, label %6035, label %5130, !prof !37 - -5130: ; preds = %5727, %5128 - %5131 = phi ptr [ %5723, %5727 ], [ %4600, %5128 ] - %5132 = phi i32 [ %5594, %5727 ], [ %4601, %5128 ] - %5133 = phi i32 [ %5568, %5727 ], [ %4602, %5128 ] - %5134 = phi i32 [ %46, %5727 ], [ %4603, %5128 ] - %5135 = phi i32 [ %5722, %5727 ], [ %4604, %5128 ] - %5136 = phi i8 [ %5535, %5727 ], [ %4605, %5128 ] - %5137 = phi i64 [ %5536, %5727 ], [ %4606, %5128 ] - %5138 = phi i32 [ %5575, %5727 ], [ %4608, %5128 ] - %5139 = phi i32 [ %5544, %5727 ], [ %4609, %5128 ] - %5140 = phi ptr [ %5537, %5727 ], [ %4610, %5128 ] - %5141 = and i32 %5138, 7 - %5142 = and i32 %5139, 1 - %5143 = icmp eq i32 %5142, 0 - br i1 %5143, label %5184, label %5144 - -5144: ; preds = %5130 - %5145 = and i32 %5133, 7 - %5146 = getelementptr inbounds i8, ptr %5140, i64 12 - %5147 = load i32, ptr %5146, align 4, !tbaa !47 - %5148 = shl nuw nsw i32 %5132, 3 - %5149 = load i32, ptr %5140, align 4, !tbaa !31 - %5150 = lshr i32 %5149, 10 - %5151 = and i32 %5150, 192 - %5152 = shl nuw nsw i32 %5141, 3 - %5153 = or disjoint i32 %5151, %5152 - %5154 = or disjoint i32 %5153, %5145 - %5155 = icmp eq i32 %5147, 0 - %5156 = icmp ne i32 %5145, 5 - %5157 = select i1 %5155, i1 %5156, i1 false - br i1 %5157, label %5158, label %5164 - -5158: ; preds = %5144 - %5159 = trunc i32 %5148 to i8 - %5160 = or disjoint i8 %5159, 4 - store i8 %5160, ptr %5131, align 1, !tbaa !51 - %5161 = getelementptr inbounds i8, ptr %5131, i64 1 - %5162 = trunc i32 %5154 to i8 - store i8 %5162, ptr %5161, align 1, !tbaa !51 - %5163 = getelementptr inbounds i8, ptr %5131, i64 2 - br label %5283 - -5164: ; preds = %5144 - %5165 = lshr i32 %5135, 13 - %5166 = and i32 %5165, 7 - %5167 = ashr i32 %5147, %5166 - %5168 = add i32 %5167, 128 - %5169 = icmp ult i32 %5168, 256 - %5170 = shl i32 %5167, %5166 - %5171 = icmp eq i32 %5147, %5170 - %5172 = select i1 %5169, i1 %5171, i1 false - %5173 = trunc i32 %5148 to i8 - %5174 = getelementptr inbounds i8, ptr %5131, i64 1 - %5175 = trunc i32 %5154 to i8 - %5176 = getelementptr inbounds i8, ptr %5131, i64 2 - br i1 %5172, label %5177, label %5181 - -5177: ; preds = %5164 - %5178 = add nuw nsw i8 %5173, 68 - store i8 %5178, ptr %5131, align 1, !tbaa !51 - store i8 %5175, ptr %5174, align 1, !tbaa !51 - %5179 = trunc i32 %5167 to i8 - store i8 %5179, ptr %5176, align 1, !tbaa !51 - %5180 = getelementptr inbounds i8, ptr %5131, i64 3 - br label %5283 - -5181: ; preds = %5164 - %5182 = add nuw nsw i8 %5173, -124 - store i8 %5182, ptr %5131, align 1, !tbaa !51 - store i8 %5175, ptr %5174, align 1, !tbaa !51 - store i32 %5147, ptr %5176, align 1, !tbaa !51 - %5183 = getelementptr inbounds i8, ptr %5131, i64 6 - br label %5283 - -5184: ; preds = %5130 - %5185 = and i32 %5139, 48 - %5186 = icmp eq i32 %5185, 0 - br i1 %5186, label %5187, label %5203 - -5187: ; preds = %5184 - %5188 = trunc i32 %5132 to i8 - %5189 = shl nuw nsw i8 %5188, 3 - %5190 = or disjoint i8 %5189, 4 - store i8 %5190, ptr %5131, align 1, !tbaa !51 - %5191 = getelementptr inbounds i8, ptr %5131, i64 1 - %5192 = load i32, ptr %5140, align 4, !tbaa !31 - %5193 = lshr i32 %5192, 10 - %5194 = and i32 %5193, 192 - %5195 = shl nuw nsw i32 %5141, 3 - %5196 = or disjoint i32 %5194, %5195 - %5197 = trunc i32 %5196 to i8 - %5198 = or disjoint i8 %5197, 5 - store i8 %5198, ptr %5191, align 1, !tbaa !51 - %5199 = getelementptr inbounds i8, ptr %5131, i64 2 - %5200 = getelementptr inbounds i8, ptr %5140, i64 12 - %5201 = load i32, ptr %5200, align 4, !tbaa !47 - store i32 %5201, ptr %5199, align 1, !tbaa !51 - %5202 = getelementptr inbounds i8, ptr %5131, i64 6 - br label %5283 - -5203: ; preds = %5184 - %5204 = getelementptr inbounds i8, ptr %0, i64 72 - %5205 = load i8, ptr %5204, align 8, !tbaa !42 - %5206 = and i8 %5205, 1 - %5207 = icmp eq i8 %5206, 0 - br i1 %5207, label %6035, label %5208 - -5208: ; preds = %5203 - %5209 = trunc i32 %5132 to i8 - %5210 = shl nuw nsw i8 %5209, 3 - %5211 = or disjoint i8 %5210, 4 - store i8 %5211, ptr %5131, align 1, !tbaa !51 - %5212 = getelementptr inbounds i8, ptr %5131, i64 1 - %5213 = load i32, ptr %5140, align 4, !tbaa !31 - %5214 = lshr i32 %5213, 10 - %5215 = and i32 %5214, 192 - %5216 = shl nuw nsw i32 %5141, 3 - %5217 = or disjoint i32 %5215, %5216 - %5218 = trunc i32 %5217 to i8 - %5219 = or disjoint i8 %5218, 5 - store i8 %5219, ptr %5212, align 1, !tbaa !51 - %5220 = getelementptr inbounds i8, ptr %5131, i64 2 - br label %4964 - -5221: ; preds = %5125 - %5222 = getelementptr inbounds i8, ptr %4610, i64 12 - %5223 = load i32, ptr %5222, align 4, !tbaa !47 - %5224 = shl i32 %5223, 16 - %5225 = ashr exact i32 %5224, 16 - %5226 = and i32 %4609, 3 - %5227 = icmp eq i32 %5226, 0 - br i1 %5227, label %5274, label %5228 - -5228: ; preds = %5221 - %5229 = and i32 %4602, 7 - %5230 = and i32 %4608, 7 - %5231 = icmp eq i32 %5226, 3 - br i1 %5231, label %5232, label %5241 +4711: ; preds = %4701 + %4712 = icmp eq i64 %4710, -1 + br i1 %4712, label %4713, label %4718 + +4713: ; preds = %4711 + %4714 = or i1 %4705, %4706 + br i1 %4714, label %4860, label %4715 + +4715: ; preds = %4713 + %4716 = getelementptr inbounds i8, ptr %0, i64 152 + %4717 = zext nneg i8 %4601 to i64 + br label %4748 + +4718: ; preds = %4711 + %4719 = and i32 %4684, 1835008 + %4720 = icmp ugt i32 %4719, 1048576 + %4721 = icmp eq i32 %14, 382 + %4722 = or i1 %4705, %4706 + %4723 = select i1 %4721, i1 %4722, i1 false + %4724 = or i1 %4720, %4723 + br i1 %4724, label %4860, label %4725 + +4725: ; preds = %4718 + %4726 = getelementptr inbounds i8, ptr %0, i64 152 + %4727 = load ptr, ptr %4726, align 8, !tbaa !80 + %4728 = ptrtoint ptr %4727 to i64 + %4729 = zext nneg i8 %4601 to i64 + %4730 = add i64 %4729, %4608 + %4731 = sub i64 %4728, %4730 + br label %4740 + +4732: ; preds = %4701 + %4733 = getelementptr inbounds i8, ptr %0, i64 152 + %4734 = load ptr, ptr %4733, align 8, !tbaa !80 + %4735 = ptrtoint ptr %4734 to i64 + %4736 = zext nneg i8 %4601 to i64 + %4737 = add i64 %4736, %4608 + %4738 = sub i64 %4735, %4737 + %4739 = icmp eq i64 %4710, -1 + br i1 %4739, label %4748, label %4740 + +4740: ; preds = %4732, %4725 + %4741 = phi i64 [ %4731, %4725 ], [ %4738, %4732 ] + %4742 = phi i64 [ %4729, %4725 ], [ %4736, %4732 ] + %4743 = phi ptr [ %4726, %4725 ], [ %4733, %4732 ] + %4744 = getelementptr inbounds i8, ptr %0, i64 144 + %4745 = load ptr, ptr %4744, align 8, !tbaa !38 + %4746 = load i32, ptr %4745, align 8, !tbaa !94 + %4747 = icmp eq i32 %4746, 0 + br i1 %4747, label %4815, label %4748 + +4748: ; preds = %4740, %4732, %4715 + %4749 = phi i64 [ %4717, %4715 ], [ %4742, %4740 ], [ %4736, %4732 ] + %4750 = phi ptr [ %4716, %4715 ], [ %4743, %4740 ], [ %4733, %4732 ] + %4751 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4708, ptr noundef nonnull %7, i32 noundef 4) #10 + %4752 = icmp eq i32 %4751, 0 + br i1 %4752, label %4753, label %6031, !prof !35 + +4753: ; preds = %4748 + %4754 = trunc i32 %4597 to i8 + %4755 = shl nuw nsw i8 %4754, 3 + %4756 = or disjoint i8 %4755, 5 + store i8 %4756, ptr %4596, align 1, !tbaa !51 + %4757 = getelementptr inbounds i8, ptr %4596, i64 1 + %4758 = getelementptr inbounds i8, ptr %0, i64 144 + %4759 = load ptr, ptr %4758, align 8, !tbaa !38 + %4760 = load i32, ptr %4759, align 8, !tbaa !94 + %4761 = load ptr, ptr %7, align 8, !tbaa !28 + %4762 = getelementptr inbounds i8, ptr %4761, i64 16 + store i32 %4760, ptr %4762, align 8, !tbaa !95 + %4763 = load ptr, ptr %11, align 8, !tbaa !29 + %4764 = load ptr, ptr %4750, align 8, !tbaa !80 + %4765 = ptrtoint ptr %4763 to i64 + %4766 = ptrtoint ptr %4764 to i64 + %4767 = sub i64 %4765, %4766 + %4768 = getelementptr inbounds i8, ptr %4761, i64 24 + store i64 %4767, ptr %4768, align 8, !tbaa !100 + %4769 = getelementptr inbounds i8, ptr %4761, i64 8 + store i8 0, ptr %4769, align 1, !tbaa !101 + %4770 = getelementptr inbounds i8, ptr %4761, i64 9 + store i8 0, ptr %4770, align 1, !tbaa !102 + %4771 = getelementptr inbounds i8, ptr %4761, i64 10 + %4772 = getelementptr inbounds i8, ptr %4761, i64 11 + store i8 4, ptr %4772, align 1, !tbaa !103 + %4773 = getelementptr inbounds i8, ptr %4761, i64 12 + %4774 = getelementptr inbounds i8, ptr %4761, i64 13 + store i8 32, ptr %4774, align 1, !tbaa !104 + %4775 = getelementptr inbounds i8, ptr %4761, i64 14 + store i8 0, ptr %4775, align 1, !tbaa !105 + %4776 = getelementptr inbounds i8, ptr %4761, i64 15 + store i8 0, ptr %4776, align 1, !tbaa !106 + %4777 = ptrtoint ptr %4757 to i64 + %4778 = sub i64 %4777, %4765 + %4779 = add i64 %4778, %4749 + %4780 = trunc i64 %4779 to i8 + %4781 = add i8 %4780, 4 + store i8 %4781, ptr %4771, align 1, !tbaa !107 + %4782 = trunc i64 %4778 to i8 + store i8 %4782, ptr %4773, align 1, !tbaa !108 + %4783 = load i32, ptr %4606, align 4, !tbaa !31 + %4784 = and i32 %4783, 248 + %4785 = icmp eq i32 %4784, 0 + %4786 = load i32, ptr %4687, align 4, !tbaa !47 + %4787 = zext i32 %4786 to i64 + %4788 = load i32, ptr %4702, align 4 + %4789 = zext i32 %4788 to i64 + %4790 = shl nuw i64 %4789, 32 + %4791 = or disjoint i64 %4790, %4787 + %4792 = sext i32 %4786 to i64 + %4793 = select i1 %4785, i64 %4791, i64 %4792 + %4794 = getelementptr inbounds i8, ptr %4761, i64 32 + store i64 %4793, ptr %4794, align 8, !tbaa !109 + store i32 0, ptr %4757, align 1, !tbaa !51 + %4795 = getelementptr inbounds i8, ptr %4596, i64 5 + %4796 = icmp ugt i8 %4601, 3 + br i1 %4796, label %4797, label %4800 + +4797: ; preds = %4753 + %4798 = trunc i64 %4602 to i32 + store i32 %4798, ptr %4795, align 1, !tbaa !51 + %4799 = getelementptr inbounds i8, ptr %4596, i64 9 + br label %6006 + +4800: ; preds = %4753 + %4801 = icmp eq i8 %4601, 0 + br i1 %4801, label %6006, label %4802 + +4802: ; preds = %4800 + %4803 = trunc i64 %4602 to i8 + store i8 %4803, ptr %4795, align 1, !tbaa !51 + %4804 = getelementptr inbounds i8, ptr %4596, i64 6 + %4805 = icmp eq i8 %4601, 1 + br i1 %4805, label %6006, label %4806 + +4806: ; preds = %4802 + %4807 = lshr i64 %4602, 8 + %4808 = trunc i64 %4807 to i8 + store i8 %4808, ptr %4804, align 1, !tbaa !51 + %4809 = getelementptr inbounds i8, ptr %4596, i64 7 + %4810 = icmp eq i8 %4601, 2 + br i1 %4810, label %6006, label %4811 + +4811: ; preds = %4806 + %4812 = lshr i64 %4602, 16 + %4813 = trunc i64 %4812 to i8 + store i8 %4813, ptr %4809, align 1, !tbaa !51 + %4814 = getelementptr inbounds i8, ptr %4596, i64 8 + br label %6006 + +4815: ; preds = %4740 + %4816 = getelementptr inbounds i8, ptr %4745, i64 16 + %4817 = load i64, ptr %4816, align 8, !tbaa !81 + %4818 = and i32 %4684, 248 + %4819 = icmp eq i32 %4818, 0 + %4820 = zext i32 %4688 to i64 + %4821 = zext i32 %4703 to i64 + %4822 = shl nuw i64 %4821, 32 + %4823 = or disjoint i64 %4822, %4820 + %4824 = sext i32 %4688 to i64 + %4825 = select i1 %4819, i64 %4823, i64 %4824 + %reass.sub142 = sub i64 %4825, %4710 + %4826 = add i64 %reass.sub142, -5 + %4827 = add i64 %4826, %4741 + %4828 = sub i64 %4827, %4817 + %4829 = add i64 %4828, 2147483648 + %4830 = icmp ult i64 %4829, 4294967296 + br i1 %4830, label %4831, label %4857 + +4831: ; preds = %4815 + %4832 = trunc i32 %4597 to i8 + %4833 = shl nuw nsw i8 %4832, 3 + %4834 = or disjoint i8 %4833, 5 + store i8 %4834, ptr %4596, align 1, !tbaa !51 + %4835 = getelementptr inbounds i8, ptr %4596, i64 1 + %4836 = trunc i64 %4828 to i32 + store i32 %4836, ptr %4835, align 1, !tbaa !51 + %4837 = getelementptr inbounds i8, ptr %4596, i64 5 + %4838 = icmp ugt i8 %4601, 3 + br i1 %4838, label %4839, label %4842 + +4839: ; preds = %4831 + %4840 = trunc i64 %4602 to i32 + store i32 %4840, ptr %4837, align 1, !tbaa !51 + %4841 = getelementptr inbounds i8, ptr %4596, i64 9 + br label %6006 + +4842: ; preds = %4831 + %4843 = icmp eq i8 %4601, 0 + br i1 %4843, label %6006, label %4844 + +4844: ; preds = %4842 + %4845 = trunc i64 %4602 to i8 + store i8 %4845, ptr %4837, align 1, !tbaa !51 + %4846 = getelementptr inbounds i8, ptr %4596, i64 6 + %4847 = icmp eq i8 %4601, 1 + br i1 %4847, label %6006, label %4848 + +4848: ; preds = %4844 + %4849 = lshr i64 %4602, 8 + %4850 = trunc i64 %4849 to i8 + store i8 %4850, ptr %4846, align 1, !tbaa !51 + %4851 = getelementptr inbounds i8, ptr %4596, i64 7 + %4852 = icmp eq i8 %4601, 2 + br i1 %4852, label %6006, label %4853 + +4853: ; preds = %4848 + %4854 = lshr i64 %4602, 16 + %4855 = trunc i64 %4854 to i8 + store i8 %4855, ptr %4851, align 1, !tbaa !51 + %4856 = getelementptr inbounds i8, ptr %4596, i64 8 + br label %6006 + +4857: ; preds = %4815 + %4858 = and i32 %4684, 49152 + %4859 = icmp eq i32 %4858, 32768 + br i1 %4859, label %6031, label %4860 + +4860: ; preds = %4857, %4718, %4713, %4701 + br i1 %4705, label %4943, label %4861 + +4861: ; preds = %4860 + br i1 %4706, label %4862, label %6031, !prof !35 + +4862: ; preds = %4861 + %4863 = load i8, ptr %4603, align 1, !tbaa !51 + %4864 = zext i8 %4863 to i32 + %4865 = icmp eq i8 %4863, 103 + br i1 %4865, label %4943, label %4866 + +4866: ; preds = %4862 + %4867 = icmp eq i32 %14, 382 + br i1 %4867, label %4918, label %4868 + +4868: ; preds = %4866 + %4869 = icmp eq ptr %4596, %4603 + br i1 %4869, label %.loopexit, label %4870 + +4870: ; preds = %4868 + %4871 = sub i64 %4608, %4607 + %4872 = icmp ult i64 %4871, 16 + br i1 %4872, label %.preheader, label %4873 + +.preheader: ; preds = %4915, %4897, %4870 + %.ph = phi ptr [ %4916, %4915 ], [ %4899, %4897 ], [ %4596, %4870 ] + br label %4936 + +4873: ; preds = %4870 + %4874 = icmp ult i64 %4871, 128 + br i1 %4874, label %4902, label %4875 + +4875: ; preds = %4873 + %4876 = and i64 %4871, -128 + br label %4877 + +4877: ; preds = %4877, %4875 + %4878 = phi i64 [ 0, %4875 ], [ %4893, %4877 ] + %4879 = sub i64 0, %4878 + %4880 = getelementptr i8, ptr %4596, i64 %4879 + %4881 = getelementptr inbounds i8, ptr %4880, i64 -32 + %4882 = getelementptr inbounds i8, ptr %4880, i64 -64 + %4883 = getelementptr inbounds i8, ptr %4880, i64 -96 + %4884 = getelementptr inbounds i8, ptr %4880, i64 -128 + %4885 = load <32 x i8>, ptr %4881, align 1, !tbaa !51 + %4886 = load <32 x i8>, ptr %4882, align 1, !tbaa !51 + %4887 = load <32 x i8>, ptr %4883, align 1, !tbaa !51 + %4888 = load <32 x i8>, ptr %4884, align 1, !tbaa !51 + %4889 = getelementptr i8, ptr %4880, i64 -31 + %4890 = getelementptr i8, ptr %4880, i64 -63 + %4891 = getelementptr i8, ptr %4880, i64 -95 + %4892 = getelementptr i8, ptr %4880, i64 -127 + store <32 x i8> %4885, ptr %4889, align 1, !tbaa !51 + store <32 x i8> %4886, ptr %4890, align 1, !tbaa !51 + store <32 x i8> %4887, ptr %4891, align 1, !tbaa !51 + store <32 x i8> %4888, ptr %4892, align 1, !tbaa !51 + %4893 = add nuw i64 %4878, 128 + %4894 = icmp eq i64 %4893, %4876 + br i1 %4894, label %4895, label %4877, !llvm.loop !110 + +4895: ; preds = %4877 + %4896 = icmp eq i64 %4871, %4876 + br i1 %4896, label %.loopexit, label %4897 + +4897: ; preds = %4895 + %4898 = sub i64 0, %4876 + %4899 = getelementptr i8, ptr %4596, i64 %4898 + %4900 = and i64 %4871, 112 + %4901 = icmp eq i64 %4900, 0 + br i1 %4901, label %.preheader, label %4902 + +4902: ; preds = %4897, %4873 + %4903 = phi i64 [ %4876, %4897 ], [ 0, %4873 ] + %4904 = and i64 %4871, -16 + %4905 = sub i64 0, %4904 + br label %4906 + +4906: ; preds = %4906, %4902 + %4907 = phi i64 [ %4903, %4902 ], [ %4913, %4906 ] + %4908 = sub i64 0, %4907 + %4909 = getelementptr i8, ptr %4596, i64 %4908 + %4910 = getelementptr inbounds i8, ptr %4909, i64 -16 + %4911 = load <16 x i8>, ptr %4910, align 1, !tbaa !51 + %4912 = getelementptr i8, ptr %4909, i64 -15 + store <16 x i8> %4911, ptr %4912, align 1, !tbaa !51 + %4913 = add nuw i64 %4907, 16 + %4914 = icmp eq i64 %4913, %4904 + br i1 %4914, label %4915, label %4906, !llvm.loop !114 + +4915: ; preds = %4906 + %4916 = getelementptr i8, ptr %4596, i64 %4905 + %4917 = icmp eq i64 %4871, %4904 + br i1 %4917, label %.loopexit, label %.preheader + +4918: ; preds = %4866 + %4919 = and i32 %4864, 64 + %4920 = icmp eq i32 %4919, 0 + br i1 %4920, label %4943, label %4921 + +4921: ; preds = %4918 + %4922 = and i32 %4864, 247 + %4923 = trunc i32 %4922 to i8 + store i8 %4923, ptr %4603, align 1, !tbaa !51 + %4924 = icmp ne i32 %4922, 64 + %4925 = and i32 %4599, 1073741824 + %4926 = icmp ne i32 %4925, 0 + %4927 = select i1 %4924, i1 true, i1 %4926 + br i1 %4927, label %4943, label %4928 + +4928: ; preds = %4921 + %4929 = getelementptr inbounds i8, ptr %4603, i64 1 + %4930 = icmp eq ptr %4929, %4596 + br i1 %4930, label %4934, label %4931 + +4931: ; preds = %4928 + %4932 = xor i64 %4607, -1 + %4933 = add i64 %4932, %4608 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %4603, ptr nonnull align 1 %4929, i64 %4933, i1 false), !tbaa !51 + br label %4934 + +4934: ; preds = %4931, %4928 + %4935 = getelementptr inbounds i8, ptr %4596, i64 -1 + br label %4943 + +4936: ; preds = %.preheader, %4936 + %4937 = phi ptr [ %4938, %4936 ], [ %.ph, %.preheader ] + %4938 = getelementptr inbounds i8, ptr %4937, i64 -1 + %4939 = load i8, ptr %4938, align 1, !tbaa !51 + store i8 %4939, ptr %4937, align 1, !tbaa !51 + %4940 = icmp eq ptr %4938, %4603 + br i1 %4940, label %.loopexit, label %4936, !llvm.loop !115 + +.loopexit: ; preds = %4936, %4915, %4895, %4868 + %4941 = phi ptr [ %4596, %4868 ], [ %4603, %4915 ], [ %4603, %4895 ], [ %4603, %4936 ] + store i8 103, ptr %4941, align 1, !tbaa !51 + %4942 = getelementptr inbounds i8, ptr %4596, i64 1 + br label %4943 + +4943: ; preds = %.loopexit, %4934, %4921, %4918, %4862, %4860 + %4944 = phi ptr [ %4596, %4860 ], [ %4596, %4862 ], [ %4596, %4918 ], [ %4935, %4934 ], [ %4596, %4921 ], [ %4942, %.loopexit ] + %4945 = trunc i32 %4597 to i8 + %4946 = shl nuw nsw i8 %4945, 3 + %4947 = or disjoint i8 %4946, 4 + store i8 %4947, ptr %4944, align 1, !tbaa !51 + %4948 = getelementptr inbounds i8, ptr %4944, i64 1 + store i8 37, ptr %4948, align 1, !tbaa !51 + %4949 = getelementptr inbounds i8, ptr %4944, i64 2 + store i32 %4688, ptr %4949, align 1, !tbaa !51 + %4950 = getelementptr inbounds i8, ptr %4944, i64 6 + br label %5279 + +4951: ; preds = %4679 + %4952 = trunc i32 %4597 to i8 + %4953 = shl nuw nsw i8 %4952, 3 + %4954 = or disjoint i8 %4953, 5 + store i8 %4954, ptr %4596, align 1, !tbaa !51 + %4955 = getelementptr inbounds i8, ptr %4596, i64 1 + %4956 = getelementptr inbounds i8, ptr %0, i64 72 + %4957 = load i8, ptr %4956, align 8, !tbaa !42 + %4958 = and i8 %4957, 1 + %4959 = icmp eq i8 %4958, 0 + br i1 %4959, label %5078, label %4960 + +4960: ; preds = %5204, %4951 + %4961 = phi ptr [ %5216, %5204 ], [ %4955, %4951 ] + %4962 = phi i32 [ %5130, %5204 ], [ %4599, %4951 ] + %4963 = phi i8 [ %5132, %5204 ], [ %4601, %4951 ] + %4964 = phi i64 [ %5133, %5204 ], [ %4602, %4951 ] + %4965 = phi i32 [ %5135, %5204 ], [ %4605, %4951 ] + %4966 = phi ptr [ %5136, %5204 ], [ %4606, %4951 ] + %4967 = getelementptr inbounds i8, ptr %0, i64 48 + %4968 = load ptr, ptr %4967, align 8, !tbaa !36 + %4969 = getelementptr inbounds i8, ptr %4968, i64 268 + %4970 = load i32, ptr %4969, align 4, !tbaa !116 + %4971 = getelementptr inbounds i8, ptr %4968, i64 264 + %4972 = load i32, ptr %4971, align 8, !tbaa !117 + %4973 = icmp eq i32 %4970, %4972 + br i1 %4973, label %4974, label %4979 + +4974: ; preds = %4960 + %4975 = getelementptr inbounds i8, ptr %4968, i64 256 + %4976 = getelementptr inbounds i8, ptr %4968, i64 96 + %4977 = call noundef i32 @_ZN6asmjit9_abi_1_1014ZoneVectorBase5_growEPNS0_13ZoneAllocatorEjj(ptr noundef nonnull align 8 dereferenceable(16) %4975, ptr noundef nonnull %4976, i32 noundef 8, i32 noundef 1) #10 + %4978 = icmp eq i32 %4977, 0 + br i1 %4978, label %._crit_edge147, label %6031, !prof !118 + +._crit_edge147: ; preds = %4974 + %.pre148 = load ptr, ptr %4967, align 8, !tbaa !36 + br label %4979 + +4979: ; preds = %._crit_edge147, %4960 + %4980 = phi ptr [ %.pre148, %._crit_edge147 ], [ %4968, %4960 ] + %4981 = getelementptr inbounds i8, ptr %4966, i64 12 + %4982 = load i32, ptr %4981, align 4, !tbaa !47 + %4983 = and i32 %4965, 16 + %4984 = icmp eq i32 %4983, 0 + br i1 %4984, label %5042, label %4985 + +4985: ; preds = %4979 + %4986 = getelementptr inbounds i8, ptr %4966, i64 4 + %4987 = load i32, ptr %4986, align 4, !tbaa !58 + %4988 = getelementptr inbounds i8, ptr %4980, i64 248 + %4989 = load i32, ptr %4988, align 8, !tbaa !117 + %4990 = icmp ugt i32 %4989, %4987 + br i1 %4990, label %4991, label %6031 + +4991: ; preds = %4985 + %4992 = getelementptr inbounds i8, ptr %4980, i64 240 + %4993 = zext i32 %4987 to i64 + %4994 = load ptr, ptr %4992, align 8, !tbaa !119 + %4995 = getelementptr inbounds ptr, ptr %4994, i64 %4993 + %4996 = load ptr, ptr %4995, align 8, !tbaa !28 + %4997 = icmp eq ptr %4996, null + br i1 %4997, label %6031, label %4998, !prof !39 + +4998: ; preds = %4991 + %4999 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4980, ptr noundef nonnull %7, i32 noundef 3) #10 + %5000 = icmp eq i32 %4999, 0 + br i1 %5000, label %5001, label %6031, !prof !35 + +5001: ; preds = %4998 + %5002 = getelementptr inbounds i8, ptr %0, i64 144 + %5003 = load ptr, ptr %5002, align 8, !tbaa !38 + %5004 = load i32, ptr %5003, align 8, !tbaa !94 + %5005 = load ptr, ptr %7, align 8, !tbaa !28 + %5006 = getelementptr inbounds i8, ptr %5005, i64 16 + store i32 %5004, ptr %5006, align 8, !tbaa !95 + %5007 = load ptr, ptr %11, align 8, !tbaa !29 + %5008 = getelementptr inbounds i8, ptr %0, i64 152 + %5009 = load ptr, ptr %5008, align 8, !tbaa !80 + %5010 = ptrtoint ptr %5007 to i64 + %5011 = ptrtoint ptr %5009 to i64 + %5012 = sub i64 %5010, %5011 + %5013 = getelementptr inbounds i8, ptr %5005, i64 24 + store i64 %5012, ptr %5013, align 8, !tbaa !100 + %5014 = getelementptr inbounds i8, ptr %5005, i64 8 + store i8 1, ptr %5014, align 1, !tbaa !101 + %5015 = getelementptr inbounds i8, ptr %5005, i64 9 + store i8 0, ptr %5015, align 1, !tbaa !102 + %5016 = getelementptr inbounds i8, ptr %5005, i64 10 + %5017 = getelementptr inbounds i8, ptr %5005, i64 11 + store i8 4, ptr %5017, align 1, !tbaa !103 + %5018 = getelementptr inbounds i8, ptr %5005, i64 12 + %5019 = getelementptr inbounds i8, ptr %5005, i64 13 + store i8 32, ptr %5019, align 1, !tbaa !104 + %5020 = getelementptr inbounds i8, ptr %5005, i64 14 + store i8 0, ptr %5020, align 1, !tbaa !105 + %5021 = getelementptr inbounds i8, ptr %5005, i64 15 + store i8 0, ptr %5021, align 1, !tbaa !106 + %5022 = ptrtoint ptr %4961 to i64 + %5023 = sub i64 %5022, %5010 + %5024 = trunc i64 %5023 to i8 + %5025 = add nuw nsw i8 %4963, 4 + %5026 = add i8 %5025, %5024 + store i8 %5026, ptr %5016, align 1, !tbaa !107 + store i8 %5024, ptr %5018, align 1, !tbaa !108 + %5027 = sext i32 %4982 to i64 + %5028 = getelementptr inbounds i8, ptr %5005, i64 32 + store i64 %5027, ptr %5028, align 8, !tbaa !109 + %5029 = getelementptr inbounds i8, ptr %4996, i64 32 + %5030 = load ptr, ptr %5029, align 8, !tbaa !120 + %5031 = icmp eq ptr %5030, null + br i1 %5031, label %5039, label %5032 + +5032: ; preds = %5001 + %5033 = getelementptr inbounds i8, ptr %4996, i64 24 + %5034 = load i64, ptr %5033, align 8, !tbaa !125 + %5035 = add i64 %5034, %5027 + store i64 %5035, ptr %5028, align 8, !tbaa !109 + %5036 = load i32, ptr %5030, align 8, !tbaa !94 + %5037 = getelementptr inbounds i8, ptr %5005, i64 20 + store i32 %5036, ptr %5037, align 4, !tbaa !126 + store i32 0, ptr %4961, align 1, !tbaa !51 + %5038 = getelementptr inbounds i8, ptr %4961, i64 4 + br label %5279 + +5039: ; preds = %5001 + %5040 = zext nneg i8 %4963 to i32 + %5041 = sub nuw nsw i32 -4, %5040 + br label %5948 + +5042: ; preds = %4979 + %5043 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %4980, ptr noundef nonnull %7, i32 noundef 3) #10 + %5044 = icmp eq i32 %5043, 0 + br i1 %5044, label %5045, label %6031, !prof !35 + +5045: ; preds = %5042 + %5046 = getelementptr inbounds i8, ptr %0, i64 144 + %5047 = load ptr, ptr %5046, align 8, !tbaa !38 + %5048 = load i32, ptr %5047, align 8, !tbaa !94 + %5049 = load ptr, ptr %7, align 8, !tbaa !28 + %5050 = getelementptr inbounds i8, ptr %5049, i64 16 + store i32 %5048, ptr %5050, align 8, !tbaa !95 + %5051 = getelementptr inbounds i8, ptr %5049, i64 20 + store i32 %5048, ptr %5051, align 4, !tbaa !126 + %5052 = getelementptr inbounds i8, ptr %5049, i64 8 + store i8 1, ptr %5052, align 1, !tbaa !101 + %5053 = getelementptr inbounds i8, ptr %5049, i64 9 + store i8 0, ptr %5053, align 1, !tbaa !102 + %5054 = getelementptr inbounds i8, ptr %5049, i64 10 + %5055 = getelementptr inbounds i8, ptr %5049, i64 11 + store i8 4, ptr %5055, align 1, !tbaa !103 + %5056 = getelementptr inbounds i8, ptr %5049, i64 12 + %5057 = getelementptr inbounds i8, ptr %5049, i64 13 + store i8 32, ptr %5057, align 1, !tbaa !104 + %5058 = getelementptr inbounds i8, ptr %5049, i64 14 + store i8 0, ptr %5058, align 1, !tbaa !105 + %5059 = getelementptr inbounds i8, ptr %5049, i64 15 + store i8 0, ptr %5059, align 1, !tbaa !106 + %5060 = load ptr, ptr %11, align 8, !tbaa !29 + %5061 = ptrtoint ptr %4961 to i64 + %5062 = ptrtoint ptr %5060 to i64 + %5063 = sub i64 %5061, %5062 + %5064 = trunc i64 %5063 to i8 + %5065 = add nuw nsw i8 %4963, 4 + %5066 = add i8 %5065, %5064 + store i8 %5066, ptr %5054, align 1, !tbaa !107 + store i8 %5064, ptr %5056, align 1, !tbaa !108 + %5067 = getelementptr inbounds i8, ptr %0, i64 152 + %5068 = load ptr, ptr %5067, align 8, !tbaa !80 + %5069 = ptrtoint ptr %5068 to i64 + %5070 = sub i64 %5062, %5069 + %5071 = getelementptr inbounds i8, ptr %5049, i64 24 + store i64 %5070, ptr %5071, align 8, !tbaa !100 + %5072 = zext i8 %5066 to i64 + %5073 = sext i32 %4982 to i64 + %5074 = add nsw i64 %5072, %5073 + %5075 = add i64 %5074, %5070 + %5076 = getelementptr inbounds i8, ptr %5049, i64 32 + store i64 %5075, ptr %5076, align 8, !tbaa !109 + store i32 0, ptr %4961, align 1, !tbaa !51 + %5077 = getelementptr inbounds i8, ptr %4961, i64 4 + br label %5279 + +5078: ; preds = %4951 + %5079 = getelementptr inbounds i8, ptr %4606, i64 12 + %5080 = load i32, ptr %5079, align 4, !tbaa !47 + %5081 = and i32 %4605, 16 + %5082 = icmp eq i32 %5081, 0 + br i1 %5082, label %5119, label %5083 + +5083: ; preds = %5078 + %5084 = getelementptr inbounds i8, ptr %0, i64 48 + %5085 = load ptr, ptr %5084, align 8, !tbaa !36 + %5086 = getelementptr inbounds i8, ptr %4606, i64 4 + %5087 = load i32, ptr %5086, align 4, !tbaa !58 + %5088 = getelementptr inbounds i8, ptr %5085, i64 248 + %5089 = load i32, ptr %5088, align 8, !tbaa !117 + %5090 = icmp ugt i32 %5089, %5087 + br i1 %5090, label %5091, label %6031 + +5091: ; preds = %5083 + %5092 = getelementptr inbounds i8, ptr %5085, i64 240 + %5093 = zext i32 %5087 to i64 + %5094 = load ptr, ptr %5092, align 8, !tbaa !119 + %5095 = getelementptr inbounds ptr, ptr %5094, i64 %5093 + %5096 = load ptr, ptr %5095, align 8, !tbaa !28 + %5097 = icmp eq ptr %5096, null + br i1 %5097, label %6031, label %5098, !prof !39 + +5098: ; preds = %5091 + %5099 = zext nneg i8 %4601 to i32 + %5100 = sub i32 %5080, %5099 + %5101 = add i32 %5100, -4 + %5102 = getelementptr inbounds i8, ptr %0, i64 144 + %5103 = load ptr, ptr %5102, align 8, !tbaa !38 + %5104 = getelementptr inbounds i8, ptr %5096, i64 32 + %5105 = load ptr, ptr %5104, align 8, !tbaa !120 + %5106 = icmp eq ptr %5105, %5103 + br i1 %5106, label %5107, label %5948 + +5107: ; preds = %5098 + %5108 = getelementptr inbounds i8, ptr %5096, i64 24 + %5109 = load i64, ptr %5108, align 8, !tbaa !125 + %5110 = getelementptr inbounds i8, ptr %0, i64 152 + %5111 = load ptr, ptr %5110, align 8, !tbaa !80 + %5112 = ptrtoint ptr %4955 to i64 + %5113 = ptrtoint ptr %5111 to i64 + %5114 = sub i64 %5109, %5112 + %5115 = add i64 %5114, %5113 + %5116 = trunc i64 %5115 to i32 + %5117 = add nsw i32 %5101, %5116 + store i32 %5117, ptr %4955, align 1, !tbaa !51 + %5118 = getelementptr inbounds i8, ptr %4596, i64 5 + br label %5279 + +5119: ; preds = %5078 + store i32 %5080, ptr %4955, align 1, !tbaa !51 + %5120 = getelementptr inbounds i8, ptr %4596, i64 5 + br label %5279 + +5121: ; preds = %4595 + %5122 = and i32 %4605, 64 + %5123 = icmp eq i32 %5122, 0 + br i1 %5123, label %5124, label %5217 + +5124: ; preds = %5121 + %5125 = icmp eq i32 %4604, 4 + br i1 %5125, label %6031, label %5126, !prof !37 + +5126: ; preds = %5723, %5124 + %5127 = phi ptr [ %5719, %5723 ], [ %4596, %5124 ] + %5128 = phi i32 [ %5590, %5723 ], [ %4597, %5124 ] + %5129 = phi i32 [ %5564, %5723 ], [ %4598, %5124 ] + %5130 = phi i32 [ %46, %5723 ], [ %4599, %5124 ] + %5131 = phi i32 [ %5718, %5723 ], [ %4600, %5124 ] + %5132 = phi i8 [ %5531, %5723 ], [ %4601, %5124 ] + %5133 = phi i64 [ %5532, %5723 ], [ %4602, %5124 ] + %5134 = phi i32 [ %5571, %5723 ], [ %4604, %5124 ] + %5135 = phi i32 [ %5540, %5723 ], [ %4605, %5124 ] + %5136 = phi ptr [ %5533, %5723 ], [ %4606, %5124 ] + %5137 = and i32 %5134, 7 + %5138 = and i32 %5135, 1 + %5139 = icmp eq i32 %5138, 0 + br i1 %5139, label %5180, label %5140 + +5140: ; preds = %5126 + %5141 = and i32 %5129, 7 + %5142 = getelementptr inbounds i8, ptr %5136, i64 12 + %5143 = load i32, ptr %5142, align 4, !tbaa !47 + %5144 = shl nuw nsw i32 %5128, 3 + %5145 = load i32, ptr %5136, align 4, !tbaa !31 + %5146 = lshr i32 %5145, 10 + %5147 = and i32 %5146, 192 + %5148 = shl nuw nsw i32 %5137, 3 + %5149 = or disjoint i32 %5147, %5148 + %5150 = or disjoint i32 %5149, %5141 + %5151 = icmp eq i32 %5143, 0 + %5152 = icmp ne i32 %5141, 5 + %5153 = select i1 %5151, i1 %5152, i1 false + br i1 %5153, label %5154, label %5160 + +5154: ; preds = %5140 + %5155 = trunc i32 %5144 to i8 + %5156 = or disjoint i8 %5155, 4 + store i8 %5156, ptr %5127, align 1, !tbaa !51 + %5157 = getelementptr inbounds i8, ptr %5127, i64 1 + %5158 = trunc i32 %5150 to i8 + store i8 %5158, ptr %5157, align 1, !tbaa !51 + %5159 = getelementptr inbounds i8, ptr %5127, i64 2 + br label %5279 + +5160: ; preds = %5140 + %5161 = lshr i32 %5131, 13 + %5162 = and i32 %5161, 7 + %5163 = ashr i32 %5143, %5162 + %5164 = add i32 %5163, 128 + %5165 = icmp ult i32 %5164, 256 + %5166 = shl i32 %5163, %5162 + %5167 = icmp eq i32 %5143, %5166 + %5168 = select i1 %5165, i1 %5167, i1 false + %5169 = trunc i32 %5144 to i8 + %5170 = getelementptr inbounds i8, ptr %5127, i64 1 + %5171 = trunc i32 %5150 to i8 + %5172 = getelementptr inbounds i8, ptr %5127, i64 2 + br i1 %5168, label %5173, label %5177 + +5173: ; preds = %5160 + %5174 = add nuw nsw i8 %5169, 68 + store i8 %5174, ptr %5127, align 1, !tbaa !51 + store i8 %5171, ptr %5170, align 1, !tbaa !51 + %5175 = trunc i32 %5163 to i8 + store i8 %5175, ptr %5172, align 1, !tbaa !51 + %5176 = getelementptr inbounds i8, ptr %5127, i64 3 + br label %5279 + +5177: ; preds = %5160 + %5178 = add nuw nsw i8 %5169, -124 + store i8 %5178, ptr %5127, align 1, !tbaa !51 + store i8 %5171, ptr %5170, align 1, !tbaa !51 + store i32 %5143, ptr %5172, align 1, !tbaa !51 + %5179 = getelementptr inbounds i8, ptr %5127, i64 6 + br label %5279 + +5180: ; preds = %5126 + %5181 = and i32 %5135, 48 + %5182 = icmp eq i32 %5181, 0 + br i1 %5182, label %5183, label %5199 + +5183: ; preds = %5180 + %5184 = trunc i32 %5128 to i8 + %5185 = shl nuw nsw i8 %5184, 3 + %5186 = or disjoint i8 %5185, 4 + store i8 %5186, ptr %5127, align 1, !tbaa !51 + %5187 = getelementptr inbounds i8, ptr %5127, i64 1 + %5188 = load i32, ptr %5136, align 4, !tbaa !31 + %5189 = lshr i32 %5188, 10 + %5190 = and i32 %5189, 192 + %5191 = shl nuw nsw i32 %5137, 3 + %5192 = or disjoint i32 %5190, %5191 + %5193 = trunc i32 %5192 to i8 + %5194 = or disjoint i8 %5193, 5 + store i8 %5194, ptr %5187, align 1, !tbaa !51 + %5195 = getelementptr inbounds i8, ptr %5127, i64 2 + %5196 = getelementptr inbounds i8, ptr %5136, i64 12 + %5197 = load i32, ptr %5196, align 4, !tbaa !47 + store i32 %5197, ptr %5195, align 1, !tbaa !51 + %5198 = getelementptr inbounds i8, ptr %5127, i64 6 + br label %5279 + +5199: ; preds = %5180 + %5200 = getelementptr inbounds i8, ptr %0, i64 72 + %5201 = load i8, ptr %5200, align 8, !tbaa !42 + %5202 = and i8 %5201, 1 + %5203 = icmp eq i8 %5202, 0 + br i1 %5203, label %6031, label %5204 + +5204: ; preds = %5199 + %5205 = trunc i32 %5128 to i8 + %5206 = shl nuw nsw i8 %5205, 3 + %5207 = or disjoint i8 %5206, 4 + store i8 %5207, ptr %5127, align 1, !tbaa !51 + %5208 = getelementptr inbounds i8, ptr %5127, i64 1 + %5209 = load i32, ptr %5136, align 4, !tbaa !31 + %5210 = lshr i32 %5209, 10 + %5211 = and i32 %5210, 192 + %5212 = shl nuw nsw i32 %5137, 3 + %5213 = or disjoint i32 %5211, %5212 + %5214 = trunc i32 %5213 to i8 + %5215 = or disjoint i8 %5214, 5 + store i8 %5215, ptr %5208, align 1, !tbaa !51 + %5216 = getelementptr inbounds i8, ptr %5127, i64 2 + br label %4960 + +5217: ; preds = %5121 + %5218 = getelementptr inbounds i8, ptr %4606, i64 12 + %5219 = load i32, ptr %5218, align 4, !tbaa !47 + %5220 = shl i32 %5219, 16 + %5221 = ashr exact i32 %5220, 16 + %5222 = and i32 %4605, 3 + %5223 = icmp eq i32 %5222, 0 + br i1 %5223, label %5270, label %5224 + +5224: ; preds = %5217 + %5225 = and i32 %4598, 7 + %5226 = and i32 %4604, 7 + %5227 = icmp eq i32 %5222, 3 + br i1 %5227, label %5228, label %5237 + +5228: ; preds = %5224 + %5229 = load i32, ptr %4606, align 4, !tbaa !31 + %5230 = and i32 %5229, 196608 + %5231 = icmp eq i32 %5230, 0 + br i1 %5231, label %5232, label %6031, !prof !35 5232: ; preds = %5228 - %5233 = load i32, ptr %4610, align 4, !tbaa !31 - %5234 = and i32 %5233, 196608 - %5235 = icmp eq i32 %5234, 0 - br i1 %5235, label %5236, label %6035, !prof !35 - -5236: ; preds = %5232 - %5237 = shl nuw nsw i32 %5229, 3 - %5238 = or disjoint i32 %5230, %5237 - %5239 = zext nneg i32 %5238 to i64 - %5240 = getelementptr inbounds [64 x i8], ptr @_ZN6asmjit9_abi_1_103x86L22x86Mod16BaseIndexTableE, i64 0, i64 %5239 - br label %5247 - -5241: ; preds = %5228 - %5242 = and i32 %4609, 2 - %5243 = icmp eq i32 %5242, 0 - %5244 = select i1 %5243, i32 %5229, i32 %5230 - %5245 = zext nneg i32 %5244 to i64 - %5246 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L17x86Mod16BaseTableE, i64 0, i64 %5245 - br label %5247 - -5247: ; preds = %5241, %5236 - %5248 = phi ptr [ %5246, %5241 ], [ %5240, %5236 ] - %5249 = load i8, ptr %5248, align 1, !tbaa !51 - %5250 = icmp eq i8 %5249, -1 - br i1 %5250, label %6035, label %5251, !prof !37 - -5251: ; preds = %5247 - %5252 = zext i8 %5249 to i32 - %5253 = shl nuw nsw i32 %4601, 3 - %5254 = add nuw nsw i32 %5253, %5252 - %5255 = icmp eq i32 %5224, 0 - %5256 = icmp ne i32 %5254, 6 - %5257 = select i1 %5255, i1 %5256, i1 false - br i1 %5257, label %5258, label %5261 - -5258: ; preds = %5251 - %5259 = trunc i32 %5254 to i8 - store i8 %5259, ptr %4600, align 1, !tbaa !51 - %5260 = getelementptr inbounds i8, ptr %4600, i64 1 - br label %5283 - -5261: ; preds = %5251 - %5262 = add nsw i32 %5225, 128 - %5263 = icmp ult i32 %5262, 256 - %5264 = trunc i32 %5254 to i8 - %5265 = getelementptr inbounds i8, ptr %4600, i64 1 - br i1 %5263, label %5266, label %5270 - -5266: ; preds = %5261 - %5267 = add i8 %5264, 64 - store i8 %5267, ptr %4600, align 1, !tbaa !51 - %5268 = trunc i32 %5223 to i8 - store i8 %5268, ptr %5265, align 1, !tbaa !51 - %5269 = getelementptr inbounds i8, ptr %4600, i64 2 - br label %5283 - -5270: ; preds = %5261 - %5271 = xor i8 %5264, -128 - store i8 %5271, ptr %4600, align 1, !tbaa !51 - %5272 = trunc i32 %5223 to i16 - store i16 %5272, ptr %5265, align 1, !tbaa !51 - %5273 = getelementptr inbounds i8, ptr %4600, i64 3 - br label %5283 - -5274: ; preds = %5221 - %5275 = and i32 %4609, 48 - %5276 = icmp eq i32 %5275, 0 - br i1 %5276, label %5277, label %6035 - -5277: ; preds = %5274 - %5278 = trunc i32 %4601 to i8 - %5279 = or i8 %5278, 6 - store i8 %5279, ptr %4600, align 1, !tbaa !51 - %5280 = getelementptr inbounds i8, ptr %4600, i64 1 - %5281 = trunc i32 %5223 to i16 - store i16 %5281, ptr %5280, align 1, !tbaa !51 - %5282 = getelementptr inbounds i8, ptr %4600, i64 3 - br label %5283 - -5283: ; preds = %5277, %5270, %5266, %5258, %5187, %5181, %5177, %5158, %5123, %5111, %5049, %5036, %4947, %4699, %4680, %4676, %4662, %4658, %4654, %4633 - %5284 = phi ptr [ %5202, %5187 ], [ %5081, %5049 ], [ %5042, %5036 ], [ %5163, %5158 ], [ %5180, %5177 ], [ %5183, %5181 ], [ %5124, %5123 ], [ %5122, %5111 ], [ %4639, %4633 ], [ %4657, %4654 ], [ %4660, %4658 ], [ %4664, %4662 ], [ %4679, %4676 ], [ %4682, %4680 ], [ %4704, %4699 ], [ %4954, %4947 ], [ %5282, %5277 ], [ %5273, %5270 ], [ %5269, %5266 ], [ %5260, %5258 ] - %5285 = phi i32 [ %5134, %5187 ], [ %4966, %5049 ], [ %4966, %5036 ], [ %5134, %5158 ], [ %5134, %5177 ], [ %5134, %5181 ], [ %4603, %5123 ], [ %4603, %5111 ], [ %4603, %4633 ], [ %4603, %4654 ], [ %4603, %4658 ], [ %4603, %4662 ], [ %4603, %4676 ], [ %4603, %4680 ], [ %4603, %4699 ], [ %4603, %4947 ], [ %4603, %5277 ], [ %4603, %5270 ], [ %4603, %5266 ], [ %4603, %5258 ] - %5286 = phi i8 [ %5136, %5187 ], [ %4967, %5049 ], [ %4967, %5036 ], [ %5136, %5158 ], [ %5136, %5177 ], [ %5136, %5181 ], [ %4605, %5123 ], [ %4605, %5111 ], [ %4605, %4633 ], [ %4605, %4654 ], [ %4605, %4658 ], [ %4605, %4662 ], [ %4605, %4676 ], [ %4605, %4680 ], [ %4605, %4699 ], [ %4605, %4947 ], [ %4605, %5277 ], [ %4605, %5270 ], [ %4605, %5266 ], [ %4605, %5258 ] - %5287 = phi i64 [ %5137, %5187 ], [ %4968, %5049 ], [ %4968, %5036 ], [ %5137, %5158 ], [ %5137, %5177 ], [ %5137, %5181 ], [ %4606, %5123 ], [ %4606, %5111 ], [ %4606, %4633 ], [ %4606, %4654 ], [ %4606, %4658 ], [ %4606, %4662 ], [ %4606, %4676 ], [ %4606, %4680 ], [ %4606, %4699 ], [ %4606, %4947 ], [ %4606, %5277 ], [ %4606, %5270 ], [ %4606, %5266 ], [ %4606, %5258 ] - %5288 = icmp ugt i8 %5286, 3 - br i1 %5288, label %5289, label %5294 - -5289: ; preds = %5283 - %5290 = trunc i64 %5287 to i32 - store i32 %5290, ptr %5284, align 1, !tbaa !51 - %5291 = getelementptr inbounds i8, ptr %5284, i64 4 - %5292 = lshr i64 %5287, 32 - %5293 = add i8 %5286, -4 - br label %5294 - -5294: ; preds = %5289, %5283 - %5295 = phi ptr [ %5291, %5289 ], [ %5284, %5283 ] - %5296 = phi i8 [ %5293, %5289 ], [ %5286, %5283 ] - %5297 = phi i64 [ %5292, %5289 ], [ %5287, %5283 ] - %5298 = icmp eq i8 %5296, 0 - br i1 %5298, label %6010, label %5299 - -5299: ; preds = %5294 - %5300 = trunc i64 %5297 to i8 - store i8 %5300, ptr %5295, align 1, !tbaa !51 - %5301 = getelementptr inbounds i8, ptr %5295, i64 1 - %5302 = icmp eq i8 %5296, 1 - br i1 %5302, label %6010, label %5303 - -5303: ; preds = %5299 - %5304 = lshr i64 %5297, 8 - %5305 = trunc i64 %5304 to i8 - store i8 %5305, ptr %5301, align 1, !tbaa !51 - %5306 = getelementptr inbounds i8, ptr %5295, i64 2 - %5307 = icmp eq i8 %5296, 2 - br i1 %5307, label %6010, label %5308 - -5308: ; preds = %5303 - %5309 = lshr i64 %5297, 16 - %5310 = trunc i64 %5309 to i8 - store i8 %5310, ptr %5306, align 1, !tbaa !51 - %5311 = getelementptr inbounds i8, ptr %5295, i64 3 - %5312 = icmp eq i8 %5296, 3 - br i1 %5312, label %6010, label %5313 - -5313: ; preds = %5308 - %5314 = lshr i64 %5297, 24 - %5315 = trunc i64 %5314 to i8 - store i8 %5315, ptr %5311, align 1, !tbaa !51 - %5316 = getelementptr inbounds i8, ptr %5295, i64 4 - br label %6010 - -5317: ; preds = %2551, %2542, %2538, %2503, %2499, %2495, %2454, %2446, %153 - %5318 = phi i32 [ %2556, %2551 ], [ %2545, %2542 ], [ %2539, %2538 ], [ %2506, %2503 ], [ %2502, %2499 ], [ %2498, %2495 ], [ %2451, %2446 ], [ %2457, %2454 ], [ %165, %153 ] - %5319 = lshr i32 %5318, 21 - %5320 = and i32 %5319, 7 - %5321 = zext nneg i32 %5320 to i64 - %5322 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %5321 - %5323 = load i8, ptr %5322, align 1, !tbaa !51 - %5324 = icmp ne i32 %5320, 0 - store i8 %5323, ptr %154, align 1, !tbaa !51 - %5325 = zext i1 %5324 to i64 - %5326 = getelementptr inbounds i8, ptr %154, i64 %5325 - %5327 = lshr i32 %5318, 10 - %5328 = trunc i32 %5327 to i8 - store i8 %5328, ptr %5326, align 1, !tbaa !51 - %5329 = getelementptr inbounds i8, ptr %5326, i64 1 - %5330 = trunc i32 %5318 to i8 - store i8 %5330, ptr %5329, align 1, !tbaa !51 - %5331 = getelementptr inbounds i8, ptr %5326, i64 2 - br label %6010 - -5332: ; preds = %153 - %5333 = lshr i32 %159, 19 - %5334 = and i32 %5333, 3072 - %5335 = lshr i32 %159, 13 - %5336 = and i32 %5335, 768 - %5337 = or disjoint i32 %5334, %5336 - %5338 = and i32 %45, 1024 - %5339 = icmp eq i32 %5338, 0 - br i1 %5339, label %5348, label %5340 - -5340: ; preds = %5332 - %5341 = shl nuw nsw i32 %5337, 8 - %5342 = and i32 %159, 7936 - %5343 = or disjoint i32 %5341, %5342 - %5344 = shl i32 %165, 24 - %5345 = or disjoint i32 %5344, 7921860 - %5346 = xor i32 %5343, %5345 - store i32 %5346, ptr %154, align 1, !tbaa !51 - %5347 = getelementptr inbounds i8, ptr %154, i64 4 - br label %6010 - -5348: ; preds = %5332 - %5349 = and i32 %159, 7936 - %5350 = xor i32 %5337, %5349 - %5351 = lshr exact i32 %5350, 8 + %5233 = shl nuw nsw i32 %5225, 3 + %5234 = or disjoint i32 %5226, %5233 + %5235 = zext nneg i32 %5234 to i64 + %5236 = getelementptr inbounds [64 x i8], ptr @_ZN6asmjit9_abi_1_103x86L22x86Mod16BaseIndexTableE, i64 0, i64 %5235 + br label %5243 + +5237: ; preds = %5224 + %5238 = and i32 %4605, 2 + %5239 = icmp eq i32 %5238, 0 + %5240 = select i1 %5239, i32 %5225, i32 %5226 + %5241 = zext nneg i32 %5240 to i64 + %5242 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L17x86Mod16BaseTableE, i64 0, i64 %5241 + br label %5243 + +5243: ; preds = %5237, %5232 + %5244 = phi ptr [ %5242, %5237 ], [ %5236, %5232 ] + %5245 = load i8, ptr %5244, align 1, !tbaa !51 + %5246 = icmp eq i8 %5245, -1 + br i1 %5246, label %6031, label %5247, !prof !37 + +5247: ; preds = %5243 + %5248 = zext i8 %5245 to i32 + %5249 = shl nuw nsw i32 %4597, 3 + %5250 = add nuw nsw i32 %5249, %5248 + %5251 = icmp eq i32 %5220, 0 + %5252 = icmp ne i32 %5250, 6 + %5253 = select i1 %5251, i1 %5252, i1 false + br i1 %5253, label %5254, label %5257 + +5254: ; preds = %5247 + %5255 = trunc i32 %5250 to i8 + store i8 %5255, ptr %4596, align 1, !tbaa !51 + %5256 = getelementptr inbounds i8, ptr %4596, i64 1 + br label %5279 + +5257: ; preds = %5247 + %5258 = add nsw i32 %5221, 128 + %5259 = icmp ult i32 %5258, 256 + %5260 = trunc i32 %5250 to i8 + %5261 = getelementptr inbounds i8, ptr %4596, i64 1 + br i1 %5259, label %5262, label %5266 + +5262: ; preds = %5257 + %5263 = add i8 %5260, 64 + store i8 %5263, ptr %4596, align 1, !tbaa !51 + %5264 = trunc i32 %5219 to i8 + store i8 %5264, ptr %5261, align 1, !tbaa !51 + %5265 = getelementptr inbounds i8, ptr %4596, i64 2 + br label %5279 + +5266: ; preds = %5257 + %5267 = xor i8 %5260, -128 + store i8 %5267, ptr %4596, align 1, !tbaa !51 + %5268 = trunc i32 %5219 to i16 + store i16 %5268, ptr %5261, align 1, !tbaa !51 + %5269 = getelementptr inbounds i8, ptr %4596, i64 3 + br label %5279 + +5270: ; preds = %5217 + %5271 = and i32 %4605, 48 + %5272 = icmp eq i32 %5271, 0 + br i1 %5272, label %5273, label %6031 + +5273: ; preds = %5270 + %5274 = trunc i32 %4597 to i8 + %5275 = or i8 %5274, 6 + store i8 %5275, ptr %4596, align 1, !tbaa !51 + %5276 = getelementptr inbounds i8, ptr %4596, i64 1 + %5277 = trunc i32 %5219 to i16 + store i16 %5277, ptr %5276, align 1, !tbaa !51 + %5278 = getelementptr inbounds i8, ptr %4596, i64 3 + br label %5279 + +5279: ; preds = %5273, %5266, %5262, %5254, %5183, %5177, %5173, %5154, %5119, %5107, %5045, %5032, %4943, %4695, %4676, %4672, %4658, %4654, %4650, %4629 + %5280 = phi ptr [ %5198, %5183 ], [ %5077, %5045 ], [ %5038, %5032 ], [ %5159, %5154 ], [ %5176, %5173 ], [ %5179, %5177 ], [ %5120, %5119 ], [ %5118, %5107 ], [ %4635, %4629 ], [ %4653, %4650 ], [ %4656, %4654 ], [ %4660, %4658 ], [ %4675, %4672 ], [ %4678, %4676 ], [ %4700, %4695 ], [ %4950, %4943 ], [ %5278, %5273 ], [ %5269, %5266 ], [ %5265, %5262 ], [ %5256, %5254 ] + %5281 = phi i32 [ %5130, %5183 ], [ %4962, %5045 ], [ %4962, %5032 ], [ %5130, %5154 ], [ %5130, %5173 ], [ %5130, %5177 ], [ %4599, %5119 ], [ %4599, %5107 ], [ %4599, %4629 ], [ %4599, %4650 ], [ %4599, %4654 ], [ %4599, %4658 ], [ %4599, %4672 ], [ %4599, %4676 ], [ %4599, %4695 ], [ %4599, %4943 ], [ %4599, %5273 ], [ %4599, %5266 ], [ %4599, %5262 ], [ %4599, %5254 ] + %5282 = phi i8 [ %5132, %5183 ], [ %4963, %5045 ], [ %4963, %5032 ], [ %5132, %5154 ], [ %5132, %5173 ], [ %5132, %5177 ], [ %4601, %5119 ], [ %4601, %5107 ], [ %4601, %4629 ], [ %4601, %4650 ], [ %4601, %4654 ], [ %4601, %4658 ], [ %4601, %4672 ], [ %4601, %4676 ], [ %4601, %4695 ], [ %4601, %4943 ], [ %4601, %5273 ], [ %4601, %5266 ], [ %4601, %5262 ], [ %4601, %5254 ] + %5283 = phi i64 [ %5133, %5183 ], [ %4964, %5045 ], [ %4964, %5032 ], [ %5133, %5154 ], [ %5133, %5173 ], [ %5133, %5177 ], [ %4602, %5119 ], [ %4602, %5107 ], [ %4602, %4629 ], [ %4602, %4650 ], [ %4602, %4654 ], [ %4602, %4658 ], [ %4602, %4672 ], [ %4602, %4676 ], [ %4602, %4695 ], [ %4602, %4943 ], [ %4602, %5273 ], [ %4602, %5266 ], [ %4602, %5262 ], [ %4602, %5254 ] + %5284 = icmp ugt i8 %5282, 3 + br i1 %5284, label %5285, label %5290 + +5285: ; preds = %5279 + %5286 = trunc i64 %5283 to i32 + store i32 %5286, ptr %5280, align 1, !tbaa !51 + %5287 = getelementptr inbounds i8, ptr %5280, i64 4 + %5288 = lshr i64 %5283, 32 + %5289 = add i8 %5282, -4 + br label %5290 + +5290: ; preds = %5285, %5279 + %5291 = phi ptr [ %5287, %5285 ], [ %5280, %5279 ] + %5292 = phi i8 [ %5289, %5285 ], [ %5282, %5279 ] + %5293 = phi i64 [ %5288, %5285 ], [ %5283, %5279 ] + %5294 = icmp eq i8 %5292, 0 + br i1 %5294, label %6006, label %5295 + +5295: ; preds = %5290 + %5296 = trunc i64 %5293 to i8 + store i8 %5296, ptr %5291, align 1, !tbaa !51 + %5297 = getelementptr inbounds i8, ptr %5291, i64 1 + %5298 = icmp eq i8 %5292, 1 + br i1 %5298, label %6006, label %5299 + +5299: ; preds = %5295 + %5300 = lshr i64 %5293, 8 + %5301 = trunc i64 %5300 to i8 + store i8 %5301, ptr %5297, align 1, !tbaa !51 + %5302 = getelementptr inbounds i8, ptr %5291, i64 2 + %5303 = icmp eq i8 %5292, 2 + br i1 %5303, label %6006, label %5304 + +5304: ; preds = %5299 + %5305 = lshr i64 %5293, 16 + %5306 = trunc i64 %5305 to i8 + store i8 %5306, ptr %5302, align 1, !tbaa !51 + %5307 = getelementptr inbounds i8, ptr %5291, i64 3 + %5308 = icmp eq i8 %5292, 3 + br i1 %5308, label %6006, label %5309 + +5309: ; preds = %5304 + %5310 = lshr i64 %5293, 24 + %5311 = trunc i64 %5310 to i8 + store i8 %5311, ptr %5307, align 1, !tbaa !51 + %5312 = getelementptr inbounds i8, ptr %5291, i64 4 + br label %6006 + +5313: ; preds = %2549, %2540, %2536, %2501, %2497, %2493, %2452, %2444, %153 + %5314 = phi i32 [ %2554, %2549 ], [ %2543, %2540 ], [ %2537, %2536 ], [ %2504, %2501 ], [ %2500, %2497 ], [ %2496, %2493 ], [ %2449, %2444 ], [ %2455, %2452 ], [ %165, %153 ] + %5315 = lshr i32 %5314, 21 + %5316 = and i32 %5315, 7 + %5317 = zext nneg i32 %5316 to i64 + %5318 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L11x86OpcodePPE, i64 0, i64 %5317 + %5319 = load i8, ptr %5318, align 1, !tbaa !51 + %5320 = icmp ne i32 %5316, 0 + store i8 %5319, ptr %154, align 1, !tbaa !51 + %5321 = zext i1 %5320 to i64 + %5322 = getelementptr inbounds i8, ptr %154, i64 %5321 + %5323 = lshr i32 %5314, 10 + %5324 = trunc i32 %5323 to i8 + store i8 %5324, ptr %5322, align 1, !tbaa !51 + %5325 = getelementptr inbounds i8, ptr %5322, i64 1 + %5326 = trunc i32 %5314 to i8 + store i8 %5326, ptr %5325, align 1, !tbaa !51 + %5327 = getelementptr inbounds i8, ptr %5322, i64 2 + br label %6006 + +5328: ; preds = %153 + %5329 = lshr i32 %159, 19 + %5330 = and i32 %5329, 3072 + %5331 = lshr i32 %159, 13 + %5332 = and i32 %5331, 768 + %5333 = or disjoint i32 %5330, %5332 + %5334 = and i32 %45, 1024 + %5335 = icmp eq i32 %5334, 0 + br i1 %5335, label %5344, label %5336 + +5336: ; preds = %5328 + %5337 = shl nuw nsw i32 %5333, 8 + %5338 = and i32 %159, 7936 + %5339 = or disjoint i32 %5337, %5338 + %5340 = shl i32 %165, 24 + %5341 = or disjoint i32 %5340, 7921860 + %5342 = xor i32 %5339, %5341 + store i32 %5342, ptr %154, align 1, !tbaa !51 + %5343 = getelementptr inbounds i8, ptr %154, i64 4 + br label %6006 + +5344: ; preds = %5328 + %5345 = and i32 %159, 7936 + %5346 = xor i32 %5333, %5345 + %5347 = lshr exact i32 %5346, 8 store i8 -59, ptr %154, align 1, !tbaa !51 - %5352 = getelementptr inbounds i8, ptr %154, i64 1 - %5353 = trunc i32 %5351 to i8 - %5354 = xor i8 %5353, -7 - store i8 %5354, ptr %5352, align 1, !tbaa !51 - %5355 = getelementptr inbounds i8, ptr %154, i64 2 - %5356 = trunc i32 %165 to i8 - store i8 %5356, ptr %5355, align 1, !tbaa !51 - %5357 = getelementptr inbounds i8, ptr %154, i64 3 - br label %6010 - -5358: ; preds = %4135, %4120, %4081, %4040, %3978, %3922, %3891, %3867, %3839, %3791, %3772, %3750, %3741, %3714, %3703, %3694, %3668, %3638, %3627, %3608, %3569, %3557, %3539, %3518, %3449, %3421, %3375, %3353, %3275, %3265, %3165, %3137, %3080, %3060, %3032, %3011, %3000, %2997, %2990, %2980, %153 - %5359 = phi i32 [ %4141, %4135 ], [ %4122, %4120 ], [ %3282, %3275 ], [ %4046, %4040 ], [ %3984, %3978 ], [ %3926, %3922 ], [ %3895, %3891 ], [ %3871, %3867 ], [ %3845, %3839 ], [ %3797, %3791 ], [ %3774, %3772 ], [ %3756, %3750 ], [ %3743, %3741 ], [ %3717, %3714 ], [ %3709, %3703 ], [ %3696, %3694 ], [ %3674, %3668 ], [ %3641, %3638 ], [ %3633, %3627 ], [ %3610, %3608 ], [ %3550, %3539 ], [ %3563, %3557 ], [ %3573, %3569 ], [ %3455, %3449 ], [ %3267, %3265 ], [ %3167, %3165 ], [ %3150, %3137 ], [ %3082, %3080 ], [ %3062, %3060 ], [ %3034, %3032 ], [ %161, %3011 ], [ %2974, %2980 ], [ %2974, %2990 ], [ %2976, %3000 ], [ %2974, %2997 ], [ %161, %153 ], [ %3350, %3353 ], [ %3381, %3375 ], [ %3427, %3421 ], [ %3524, %3518 ], [ %4087, %4081 ] - %5360 = phi i32 [ %4143, %4135 ], [ 0, %4120 ], [ %3284, %3275 ], [ %4048, %4040 ], [ %3986, %3978 ], [ %3928, %3922 ], [ %3897, %3891 ], [ %3873, %3867 ], [ %3847, %3839 ], [ %3799, %3791 ], [ %3776, %3772 ], [ %3758, %3750 ], [ %3745, %3741 ], [ %3707, %3714 ], [ %3711, %3703 ], [ %3698, %3694 ], [ %3676, %3668 ], [ %3631, %3638 ], [ %3635, %3627 ], [ %3612, %3608 ], [ %3552, %3539 ], [ %3565, %3557 ], [ %3575, %3569 ], [ %3457, %3449 ], [ %3269, %3265 ], [ %3169, %3165 ], [ %3152, %3137 ], [ %3084, %3080 ], [ %3064, %3060 ], [ %3036, %3032 ], [ %3013, %3011 ], [ %2976, %2980 ], [ %2976, %2990 ], [ %2974, %3000 ], [ %2976, %2997 ], [ 0, %153 ], [ %3355, %3353 ], [ %3383, %3375 ], [ %3429, %3421 ], [ %3526, %3518 ], [ %4098, %4081 ] - %5361 = phi i32 [ %165, %4135 ], [ %165, %4120 ], [ %3276, %3275 ], [ %4011, %4040 ], [ %3957, %3978 ], [ %3918, %3922 ], [ %3890, %3891 ], [ %3862, %3867 ], [ %3838, %3839 ], [ %3790, %3791 ], [ %3771, %3772 ], [ %165, %3750 ], [ %3738, %3741 ], [ %3715, %3714 ], [ %165, %3703 ], [ %3691, %3694 ], [ %3667, %3668 ], [ %3639, %3638 ], [ %165, %3627 ], [ %3607, %3608 ], [ %3548, %3539 ], [ %3561, %3557 ], [ %3571, %3569 ], [ %3448, %3449 ], [ %3262, %3265 ], [ %3163, %3165 ], [ %3148, %3137 ], [ %3077, %3080 ], [ 2097605, %3060 ], [ %3031, %3032 ], [ %3018, %3011 ], [ %2985, %2980 ], [ %2996, %2990 ], [ %3001, %3000 ], [ %165, %2997 ], [ %165, %153 ], [ %3346, %3353 ], [ %3366, %3375 ], [ %3414, %3421 ], [ %165, %3518 ], [ %4092, %4081 ] - %5362 = phi i8 [ 0, %4135 ], [ 0, %4120 ], [ 0, %3275 ], [ 1, %4040 ], [ 1, %3978 ], [ %3919, %3922 ], [ 0, %3891 ], [ 1, %3867 ], [ 0, %3839 ], [ 0, %3791 ], [ 0, %3772 ], [ 0, %3750 ], [ 1, %3741 ], [ 0, %3714 ], [ 0, %3703 ], [ 1, %3694 ], [ 0, %3668 ], [ 0, %3638 ], [ 0, %3627 ], [ 0, %3608 ], [ 0, %3539 ], [ 0, %3557 ], [ 0, %3569 ], [ 0, %3449 ], [ 1, %3265 ], [ 0, %3165 ], [ 0, %3137 ], [ 1, %3080 ], [ 1, %3060 ], [ 0, %3032 ], [ 0, %3011 ], [ 0, %2980 ], [ 0, %2990 ], [ 0, %3000 ], [ 0, %2997 ], [ 0, %153 ], [ 0, %3353 ], [ 1, %3375 ], [ 1, %3421 ], [ 1, %3518 ], [ 1, %4081 ] - %5363 = phi i64 [ 0, %4135 ], [ 0, %4120 ], [ 0, %3275 ], [ %4053, %4040 ], [ %3990, %3978 ], [ %3921, %3922 ], [ 0, %3891 ], [ %3866, %3867 ], [ 0, %3839 ], [ 0, %3791 ], [ 0, %3772 ], [ 0, %3750 ], [ %3740, %3741 ], [ 0, %3714 ], [ 0, %3703 ], [ %3693, %3694 ], [ 0, %3668 ], [ 0, %3638 ], [ 0, %3627 ], [ 0, %3608 ], [ 0, %3539 ], [ 0, %3557 ], [ 0, %3569 ], [ 0, %3449 ], [ %3264, %3265 ], [ 0, %3165 ], [ 0, %3137 ], [ %3079, %3080 ], [ %3066, %3060 ], [ 0, %3032 ], [ 0, %3011 ], [ 0, %2980 ], [ 0, %2990 ], [ 0, %3000 ], [ 0, %2997 ], [ 0, %153 ], [ 0, %3353 ], [ %3374, %3375 ], [ %3420, %3421 ], [ %3517, %3518 ], [ %4099, %4081 ] - %5364 = shl i32 %5359, 4 - %5365 = and i32 %5364, 63872 - %5366 = shl i32 %5360, 2 - %5367 = and i32 %5366, 96 - %5368 = or disjoint i32 %5367, %5365 - %5369 = and i32 %5361, 1610620672 - %5370 = and i32 %45, 4096 - %5371 = or i32 %5369, %5370 - %5372 = lshr exact i32 %5371, 8 - %5373 = or disjoint i32 %5368, %5372 - %5374 = getelementptr inbounds i8, ptr %0, i64 92 - %5375 = load i32, ptr %5374, align 4, !tbaa !127 - %5376 = shl i32 %5375, 16 - %5377 = or i32 %5373, %5376 - %5378 = and i32 %5359, 7 - %5379 = and i32 %45, 9175040 - %5380 = icmp eq i32 %5379, 0 - br i1 %5380, label %5407, label %5381 - -5381: ; preds = %5358 - %5382 = and i32 %45, 8388608 - %5383 = or i32 %5377, %5382 - %5384 = and i32 %45, 786432 - %5385 = icmp eq i32 %5384, 0 - br i1 %5385, label %5407, label %5386 - -5386: ; preds = %5381 - %5387 = and i32 %5377, 6291456 - %5388 = icmp eq i32 %5387, 4194304 + %5348 = getelementptr inbounds i8, ptr %154, i64 1 + %5349 = trunc i32 %5347 to i8 + %5350 = xor i8 %5349, -7 + store i8 %5350, ptr %5348, align 1, !tbaa !51 + %5351 = getelementptr inbounds i8, ptr %154, i64 2 + %5352 = trunc i32 %165 to i8 + store i8 %5352, ptr %5351, align 1, !tbaa !51 + %5353 = getelementptr inbounds i8, ptr %154, i64 3 + br label %6006 + +5354: ; preds = %4131, %4116, %4077, %4036, %3974, %3918, %3887, %3863, %3835, %3787, %3768, %3746, %3737, %3710, %3699, %3690, %3664, %3634, %3623, %3604, %3565, %3553, %3535, %3514, %3445, %3417, %3371, %3349, %3271, %3261, %3161, %3133, %3077, %3057, %3029, %3008, %2997, %2994, %2987, %2977, %153 + %5355 = phi i32 [ %4137, %4131 ], [ %4118, %4116 ], [ %3278, %3271 ], [ %4042, %4036 ], [ %3980, %3974 ], [ %3922, %3918 ], [ %3891, %3887 ], [ %3867, %3863 ], [ %3841, %3835 ], [ %3793, %3787 ], [ %3770, %3768 ], [ %3752, %3746 ], [ %3739, %3737 ], [ %3713, %3710 ], [ %3705, %3699 ], [ %3692, %3690 ], [ %3670, %3664 ], [ %3637, %3634 ], [ %3629, %3623 ], [ %3606, %3604 ], [ %3546, %3535 ], [ %3559, %3553 ], [ %3569, %3565 ], [ %3451, %3445 ], [ %3263, %3261 ], [ %3163, %3161 ], [ %3146, %3133 ], [ %3079, %3077 ], [ %3059, %3057 ], [ %3031, %3029 ], [ %161, %3008 ], [ %2971, %2977 ], [ %2971, %2987 ], [ %2973, %2997 ], [ %2971, %2994 ], [ %161, %153 ], [ %3346, %3349 ], [ %3377, %3371 ], [ %3423, %3417 ], [ %3520, %3514 ], [ %4083, %4077 ] + %5356 = phi i32 [ %4139, %4131 ], [ 0, %4116 ], [ %3280, %3271 ], [ %4044, %4036 ], [ %3982, %3974 ], [ %3924, %3918 ], [ %3893, %3887 ], [ %3869, %3863 ], [ %3843, %3835 ], [ %3795, %3787 ], [ %3772, %3768 ], [ %3754, %3746 ], [ %3741, %3737 ], [ %3703, %3710 ], [ %3707, %3699 ], [ %3694, %3690 ], [ %3672, %3664 ], [ %3627, %3634 ], [ %3631, %3623 ], [ %3608, %3604 ], [ %3548, %3535 ], [ %3561, %3553 ], [ %3571, %3565 ], [ %3453, %3445 ], [ %3265, %3261 ], [ %3165, %3161 ], [ %3148, %3133 ], [ %3081, %3077 ], [ %3061, %3057 ], [ %3033, %3029 ], [ %3010, %3008 ], [ %2973, %2977 ], [ %2973, %2987 ], [ %2971, %2997 ], [ %2973, %2994 ], [ 0, %153 ], [ %3351, %3349 ], [ %3379, %3371 ], [ %3425, %3417 ], [ %3522, %3514 ], [ %4094, %4077 ] + %5357 = phi i32 [ %165, %4131 ], [ %165, %4116 ], [ %3272, %3271 ], [ %4007, %4036 ], [ %3953, %3974 ], [ %3914, %3918 ], [ %3886, %3887 ], [ %3858, %3863 ], [ %3834, %3835 ], [ %3786, %3787 ], [ %3767, %3768 ], [ %165, %3746 ], [ %3734, %3737 ], [ %3711, %3710 ], [ %165, %3699 ], [ %3687, %3690 ], [ %3663, %3664 ], [ %3635, %3634 ], [ %165, %3623 ], [ %3603, %3604 ], [ %3544, %3535 ], [ %3557, %3553 ], [ %3567, %3565 ], [ %3444, %3445 ], [ %3258, %3261 ], [ %3159, %3161 ], [ %3144, %3133 ], [ %3074, %3077 ], [ 2097605, %3057 ], [ %3028, %3029 ], [ %3015, %3008 ], [ %2982, %2977 ], [ %2993, %2987 ], [ %2998, %2997 ], [ %165, %2994 ], [ %165, %153 ], [ %3342, %3349 ], [ %3362, %3371 ], [ %3410, %3417 ], [ %165, %3514 ], [ %4088, %4077 ] + %5358 = phi i8 [ 0, %4131 ], [ 0, %4116 ], [ 0, %3271 ], [ 1, %4036 ], [ 1, %3974 ], [ %3915, %3918 ], [ 0, %3887 ], [ 1, %3863 ], [ 0, %3835 ], [ 0, %3787 ], [ 0, %3768 ], [ 0, %3746 ], [ 1, %3737 ], [ 0, %3710 ], [ 0, %3699 ], [ 1, %3690 ], [ 0, %3664 ], [ 0, %3634 ], [ 0, %3623 ], [ 0, %3604 ], [ 0, %3535 ], [ 0, %3553 ], [ 0, %3565 ], [ 0, %3445 ], [ 1, %3261 ], [ 0, %3161 ], [ 0, %3133 ], [ 1, %3077 ], [ 1, %3057 ], [ 0, %3029 ], [ 0, %3008 ], [ 0, %2977 ], [ 0, %2987 ], [ 0, %2997 ], [ 0, %2994 ], [ 0, %153 ], [ 0, %3349 ], [ 1, %3371 ], [ 1, %3417 ], [ 1, %3514 ], [ 1, %4077 ] + %5359 = phi i64 [ 0, %4131 ], [ 0, %4116 ], [ 0, %3271 ], [ %4049, %4036 ], [ %3986, %3974 ], [ %3917, %3918 ], [ 0, %3887 ], [ %3862, %3863 ], [ 0, %3835 ], [ 0, %3787 ], [ 0, %3768 ], [ 0, %3746 ], [ %3736, %3737 ], [ 0, %3710 ], [ 0, %3699 ], [ %3689, %3690 ], [ 0, %3664 ], [ 0, %3634 ], [ 0, %3623 ], [ 0, %3604 ], [ 0, %3535 ], [ 0, %3553 ], [ 0, %3565 ], [ 0, %3445 ], [ %3260, %3261 ], [ 0, %3161 ], [ 0, %3133 ], [ %3076, %3077 ], [ %3063, %3057 ], [ 0, %3029 ], [ 0, %3008 ], [ 0, %2977 ], [ 0, %2987 ], [ 0, %2997 ], [ 0, %2994 ], [ 0, %153 ], [ 0, %3349 ], [ %3370, %3371 ], [ %3416, %3417 ], [ %3513, %3514 ], [ %4095, %4077 ] + %5360 = shl i32 %5355, 4 + %5361 = and i32 %5360, 63872 + %5362 = shl i32 %5356, 2 + %5363 = and i32 %5362, 96 + %5364 = or disjoint i32 %5363, %5361 + %5365 = and i32 %5357, 1610620672 + %5366 = and i32 %45, 4096 + %5367 = or i32 %5365, %5366 + %5368 = lshr exact i32 %5367, 8 + %5369 = or disjoint i32 %5364, %5368 + %5370 = getelementptr inbounds i8, ptr %0, i64 92 + %5371 = load i32, ptr %5370, align 4, !tbaa !127 + %5372 = shl i32 %5371, 16 + %5373 = or i32 %5369, %5372 + %5374 = and i32 %5355, 7 + %5375 = and i32 %45, 9175040 + %5376 = icmp eq i32 %5375, 0 + br i1 %5376, label %5403, label %5377 + +5377: ; preds = %5354 + %5378 = and i32 %45, 8388608 + %5379 = or i32 %5373, %5378 + %5380 = and i32 %45, 786432 + %5381 = icmp eq i32 %5380, 0 + br i1 %5381, label %5403, label %5382 + +5382: ; preds = %5377 + %5383 = and i32 %5373, 6291456 + %5384 = icmp eq i32 %5383, 4194304 %.phi.trans.insert = getelementptr inbounds i8, ptr %21, i64 4 %.pre146 = load i32, ptr %.phi.trans.insert, align 4 - %5389 = and i32 %.pre146, 112 - %5390 = icmp eq i32 %5389, 0 - %or.cond = select i1 %5388, i1 true, i1 %5390 - br i1 %or.cond, label %._crit_edge, label %6035, !prof !90 - -._crit_edge: ; preds = %5386 - %5391 = and i32 %45, 262144 - %5392 = icmp eq i32 %5391, 0 - br i1 %5392, label %5401, label %5393 - -5393: ; preds = %._crit_edge - %5394 = and i32 %.pre146, 4 - %5395 = icmp eq i32 %5394, 0 - br i1 %5395, label %6035, label %5396, !prof !37 - -5396: ; preds = %5393 - %5397 = and i32 %5383, -7340033 - %5398 = and i32 %45, 6291456 - %5399 = or disjoint i32 %5398, %5397 - %5400 = or disjoint i32 %5399, 1048576 - br label %5407 - -5401: ; preds = %._crit_edge - %5402 = and i32 %.pre146, 8 - %5403 = icmp eq i32 %5402, 0 - br i1 %5403, label %6035, label %5404, !prof !37 - -5404: ; preds = %5401 - %5405 = and i32 %5383, -7340033 - %5406 = or disjoint i32 %5405, 1048576 - br label %5407 - -5407: ; preds = %5404, %5396, %5381, %5358 - %5408 = phi i32 [ %5400, %5396 ], [ %5406, %5404 ], [ %5383, %5381 ], [ %5377, %5358 ] - %5409 = load i32, ptr %21, align 4, !tbaa !48 - %5410 = and i32 %5409, 16777216 - %5411 = icmp ne i32 %5410, 0 - %5412 = and i32 %5408, 14123344 - %5413 = and i32 %45, 3072 - %5414 = or disjoint i32 %5408, 16 - %5415 = or disjoint i32 %5412, %5413 + %5385 = and i32 %.pre146, 112 + %5386 = icmp eq i32 %5385, 0 + %or.cond = select i1 %5384, i1 true, i1 %5386 + br i1 %or.cond, label %._crit_edge, label %6031, !prof !90 + +._crit_edge: ; preds = %5382 + %5387 = and i32 %45, 262144 + %5388 = icmp eq i32 %5387, 0 + br i1 %5388, label %5397, label %5389 + +5389: ; preds = %._crit_edge + %5390 = and i32 %.pre146, 4 + %5391 = icmp eq i32 %5390, 0 + br i1 %5391, label %6031, label %5392, !prof !37 + +5392: ; preds = %5389 + %5393 = and i32 %5379, -7340033 + %5394 = and i32 %45, 6291456 + %5395 = or disjoint i32 %5394, %5393 + %5396 = or disjoint i32 %5395, 1048576 + br label %5403 + +5397: ; preds = %._crit_edge + %5398 = and i32 %.pre146, 8 + %5399 = icmp eq i32 %5398, 0 + br i1 %5399, label %6031, label %5400, !prof !37 + +5400: ; preds = %5397 + %5401 = and i32 %5379, -7340033 + %5402 = or disjoint i32 %5401, 1048576 + br label %5403 + +5403: ; preds = %5400, %5392, %5377, %5354 + %5404 = phi i32 [ %5396, %5392 ], [ %5402, %5400 ], [ %5379, %5377 ], [ %5373, %5354 ] + %5405 = load i32, ptr %21, align 4, !tbaa !48 + %5406 = and i32 %5405, 16777216 + %5407 = icmp ne i32 %5406, 0 + %5408 = and i32 %5404, 14123344 + %5409 = and i32 %45, 3072 + %5410 = or disjoint i32 %5404, 16 + %5411 = or disjoint i32 %5408, %5409 + %5412 = icmp eq i32 %5411, 0 + %5413 = and i1 %5407, %5412 + %5414 = select i1 %5413, i32 %5410, i32 %5404 + %5415 = and i32 %5414, 14123344 %5416 = icmp eq i32 %5415, 0 - %5417 = and i1 %5411, %5416 - %5418 = select i1 %5417, i32 %5414, i32 %5408 - %5419 = and i32 %5418, 14123344 - %5420 = icmp eq i32 %5419, 0 - br i1 %5420, label %5461, label %5421 - -5421: ; preds = %5407 - %5422 = shl i32 %5418, 4 - %5423 = and i32 %5422, 524288 - %5424 = lshr i32 %5418, 4 - %5425 = and i32 %5424, 16 - %5426 = and i32 %5418, 16742639 - %5427 = or disjoint i32 %5425, %5426 - %5428 = or i32 %5427, %5423 - %5429 = shl nuw i32 %5428, 8 - %5430 = lshr i32 %5361, 4 - %5431 = and i32 %5430, 8388608 - %5432 = or disjoint i32 %5429, %5431 - %5433 = lshr i32 %5361, 5 - %5434 = and i32 %5433, 8585216 - %5435 = or i32 %5432, %5434 - %5436 = xor i32 %5435, 142405730 - store i32 %5436, ptr %154, align 1, !tbaa !51 - %5437 = getelementptr inbounds i8, ptr %154, i64 4 - %5438 = trunc i32 %5361 to i8 - store i8 %5438, ptr %5437, align 1, !tbaa !51 - %5439 = getelementptr inbounds i8, ptr %154, i64 5 - %5440 = and i32 %5360, 7 - %5441 = shl nuw nsw i32 %5378, 3 - %5442 = or disjoint i32 %5441, %5440 - %5443 = trunc i32 %5442 to i8 - %5444 = or disjoint i8 %5443, -64 - store i8 %5444, ptr %5439, align 1, !tbaa !51 - %5445 = getelementptr inbounds i8, ptr %154, i64 6 - %5446 = icmp eq i8 %5362, 0 - br i1 %5446, label %6010, label %5447 - -5447: ; preds = %5421 - %5448 = trunc i64 %5363 to i8 - store i8 %5448, ptr %5445, align 1, !tbaa !51 - %5449 = getelementptr inbounds i8, ptr %154, i64 7 - %5450 = icmp eq i8 %5362, 1 - br i1 %5450, label %6010, label %5451 - -5451: ; preds = %5447 - %5452 = lshr i64 %5363, 8 - %5453 = trunc i64 %5452 to i8 - store i8 %5453, ptr %5449, align 1, !tbaa !51 - %5454 = getelementptr inbounds i8, ptr %154, i64 8 - %5455 = lshr i64 %5363, 16 - %5456 = trunc i64 %5455 to i8 - store i8 %5456, ptr %5454, align 1, !tbaa !51 - %5457 = getelementptr inbounds i8, ptr %154, i64 9 - %5458 = lshr i64 %5363, 24 - %5459 = trunc i64 %5458 to i8 - store i8 %5459, ptr %5457, align 1, !tbaa !51 - %5460 = getelementptr inbounds i8, ptr %154, i64 10 - br label %6010 - -5461: ; preds = %5407 - %5462 = lshr i32 %5361, 12 - %5463 = and i32 %5462, 32768 - %5464 = lshr i32 %5361, 13 - %5465 = and i32 %5464, 768 - %5466 = lshr i32 %5418, 11 - %5467 = and i32 %5466, 1024 - %5468 = shl i32 %45, 21 - %5469 = and i32 %5468, -2147483648 - %5470 = or disjoint i32 %5465, %5469 - %5471 = or disjoint i32 %5470, %5463 - %5472 = or disjoint i32 %5471, %5467 - %5473 = or i32 %5472, %5418 - %5474 = and i32 %5473, -2147450834 - %5475 = icmp eq i32 %5474, 0 - %5476 = and i32 %5360, 7 - %5477 = shl nuw nsw i32 %5378, 3 - %5478 = or disjoint i32 %5477, %5476 - %5479 = trunc i32 %5478 to i8 - %5480 = or disjoint i8 %5479, -64 - %5481 = icmp eq i8 %5362, 0 - br i1 %5475, label %5508, label %5482 - -5482: ; preds = %5461 - %5483 = and i32 %5418, 15 - %5484 = zext nneg i32 %5483 to i64 - %5485 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86VEXPrefixE, i64 0, i64 %5484 - %5486 = load i32, ptr %5485, align 4, !tbaa !47 - %5487 = shl i32 %5361, 24 - %5488 = or i32 %5486, %5487 - %5489 = shl i32 %5473, 8 - %5490 = and i32 %5489, 16776960 - %5491 = xor i32 %5488, %5490 - store i32 %5491, ptr %154, align 1, !tbaa !51 - %5492 = getelementptr inbounds i8, ptr %154, i64 4 - store i8 %5480, ptr %5492, align 1, !tbaa !51 - %5493 = getelementptr inbounds i8, ptr %154, i64 5 - br i1 %5481, label %6010, label %5494 - -5494: ; preds = %5482 - %5495 = trunc i64 %5363 to i8 - store i8 %5495, ptr %5493, align 1, !tbaa !51 - %5496 = getelementptr inbounds i8, ptr %154, i64 6 - %5497 = icmp eq i8 %5362, 1 - br i1 %5497, label %6010, label %5498 - -5498: ; preds = %5494 - %5499 = lshr i64 %5363, 8 - %5500 = trunc i64 %5499 to i8 - store i8 %5500, ptr %5496, align 1, !tbaa !51 - %5501 = getelementptr inbounds i8, ptr %154, i64 7 - %5502 = lshr i64 %5363, 16 - %5503 = trunc i64 %5502 to i8 - store i8 %5503, ptr %5501, align 1, !tbaa !51 - %5504 = getelementptr inbounds i8, ptr %154, i64 8 - %5505 = lshr i64 %5363, 24 - %5506 = trunc i64 %5505 to i8 - store i8 %5506, ptr %5504, align 1, !tbaa !51 - %5507 = getelementptr inbounds i8, ptr %154, i64 9 - br label %6010 - -5508: ; preds = %5461 - %5509 = lshr i32 %5473, 8 - %5510 = xor i32 %5509, %5473 + br i1 %5416, label %5457, label %5417 + +5417: ; preds = %5403 + %5418 = shl i32 %5414, 4 + %5419 = and i32 %5418, 524288 + %5420 = lshr i32 %5414, 4 + %5421 = and i32 %5420, 16 + %5422 = and i32 %5414, 16742639 + %5423 = or disjoint i32 %5421, %5422 + %5424 = or i32 %5423, %5419 + %5425 = shl nuw i32 %5424, 8 + %5426 = lshr i32 %5357, 4 + %5427 = and i32 %5426, 8388608 + %5428 = or disjoint i32 %5425, %5427 + %5429 = lshr i32 %5357, 5 + %5430 = and i32 %5429, 8585216 + %5431 = or i32 %5428, %5430 + %5432 = xor i32 %5431, 142405730 + store i32 %5432, ptr %154, align 1, !tbaa !51 + %5433 = getelementptr inbounds i8, ptr %154, i64 4 + %5434 = trunc i32 %5357 to i8 + store i8 %5434, ptr %5433, align 1, !tbaa !51 + %5435 = getelementptr inbounds i8, ptr %154, i64 5 + %5436 = and i32 %5356, 7 + %5437 = shl nuw nsw i32 %5374, 3 + %5438 = or disjoint i32 %5437, %5436 + %5439 = trunc i32 %5438 to i8 + %5440 = or disjoint i8 %5439, -64 + store i8 %5440, ptr %5435, align 1, !tbaa !51 + %5441 = getelementptr inbounds i8, ptr %154, i64 6 + %5442 = icmp eq i8 %5358, 0 + br i1 %5442, label %6006, label %5443 + +5443: ; preds = %5417 + %5444 = trunc i64 %5359 to i8 + store i8 %5444, ptr %5441, align 1, !tbaa !51 + %5445 = getelementptr inbounds i8, ptr %154, i64 7 + %5446 = icmp eq i8 %5358, 1 + br i1 %5446, label %6006, label %5447 + +5447: ; preds = %5443 + %5448 = lshr i64 %5359, 8 + %5449 = trunc i64 %5448 to i8 + store i8 %5449, ptr %5445, align 1, !tbaa !51 + %5450 = getelementptr inbounds i8, ptr %154, i64 8 + %5451 = lshr i64 %5359, 16 + %5452 = trunc i64 %5451 to i8 + store i8 %5452, ptr %5450, align 1, !tbaa !51 + %5453 = getelementptr inbounds i8, ptr %154, i64 9 + %5454 = lshr i64 %5359, 24 + %5455 = trunc i64 %5454 to i8 + store i8 %5455, ptr %5453, align 1, !tbaa !51 + %5456 = getelementptr inbounds i8, ptr %154, i64 10 + br label %6006 + +5457: ; preds = %5403 + %5458 = lshr i32 %5357, 12 + %5459 = and i32 %5458, 32768 + %5460 = lshr i32 %5357, 13 + %5461 = and i32 %5460, 768 + %5462 = lshr i32 %5414, 11 + %5463 = and i32 %5462, 1024 + %5464 = shl i32 %45, 21 + %5465 = and i32 %5464, -2147483648 + %5466 = or disjoint i32 %5461, %5465 + %5467 = or disjoint i32 %5466, %5459 + %5468 = or disjoint i32 %5467, %5463 + %5469 = or i32 %5468, %5414 + %5470 = and i32 %5469, -2147450834 + %5471 = icmp eq i32 %5470, 0 + %5472 = and i32 %5356, 7 + %5473 = shl nuw nsw i32 %5374, 3 + %5474 = or disjoint i32 %5473, %5472 + %5475 = trunc i32 %5474 to i8 + %5476 = or disjoint i8 %5475, -64 + %5477 = icmp eq i8 %5358, 0 + br i1 %5471, label %5504, label %5478 + +5478: ; preds = %5457 + %5479 = and i32 %5414, 15 + %5480 = zext nneg i32 %5479 to i64 + %5481 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86VEXPrefixE, i64 0, i64 %5480 + %5482 = load i32, ptr %5481, align 4, !tbaa !47 + %5483 = shl i32 %5357, 24 + %5484 = or i32 %5482, %5483 + %5485 = shl i32 %5469, 8 + %5486 = and i32 %5485, 16776960 + %5487 = xor i32 %5484, %5486 + store i32 %5487, ptr %154, align 1, !tbaa !51 + %5488 = getelementptr inbounds i8, ptr %154, i64 4 + store i8 %5476, ptr %5488, align 1, !tbaa !51 + %5489 = getelementptr inbounds i8, ptr %154, i64 5 + br i1 %5477, label %6006, label %5490 + +5490: ; preds = %5478 + %5491 = trunc i64 %5359 to i8 + store i8 %5491, ptr %5489, align 1, !tbaa !51 + %5492 = getelementptr inbounds i8, ptr %154, i64 6 + %5493 = icmp eq i8 %5358, 1 + br i1 %5493, label %6006, label %5494 + +5494: ; preds = %5490 + %5495 = lshr i64 %5359, 8 + %5496 = trunc i64 %5495 to i8 + store i8 %5496, ptr %5492, align 1, !tbaa !51 + %5497 = getelementptr inbounds i8, ptr %154, i64 7 + %5498 = lshr i64 %5359, 16 + %5499 = trunc i64 %5498 to i8 + store i8 %5499, ptr %5497, align 1, !tbaa !51 + %5500 = getelementptr inbounds i8, ptr %154, i64 8 + %5501 = lshr i64 %5359, 24 + %5502 = trunc i64 %5501 to i8 + store i8 %5502, ptr %5500, align 1, !tbaa !51 + %5503 = getelementptr inbounds i8, ptr %154, i64 9 + br label %6006 + +5504: ; preds = %5457 + %5505 = lshr i32 %5469, 8 + %5506 = xor i32 %5505, %5469 store i8 -59, ptr %154, align 1, !tbaa !51 - %5511 = getelementptr inbounds i8, ptr %154, i64 1 - %5512 = trunc i32 %5510 to i8 - %5513 = xor i8 %5512, -7 - store i8 %5513, ptr %5511, align 1, !tbaa !51 - %5514 = getelementptr inbounds i8, ptr %154, i64 2 - %5515 = trunc i32 %5361 to i8 - store i8 %5515, ptr %5514, align 1, !tbaa !51 - %5516 = getelementptr inbounds i8, ptr %154, i64 3 - store i8 %5480, ptr %5516, align 1, !tbaa !51 - %5517 = getelementptr inbounds i8, ptr %154, i64 4 - br i1 %5481, label %6010, label %5518 - -5518: ; preds = %5508 - %5519 = trunc i64 %5363 to i8 - store i8 %5519, ptr %5517, align 1, !tbaa !51 - %5520 = getelementptr inbounds i8, ptr %154, i64 5 - %5521 = icmp eq i8 %5362, 1 - br i1 %5521, label %6010, label %5522 - -5522: ; preds = %5518 - %5523 = lshr i64 %5363, 8 - %5524 = trunc i64 %5523 to i8 - store i8 %5524, ptr %5520, align 1, !tbaa !51 - %5525 = getelementptr inbounds i8, ptr %154, i64 6 - %5526 = lshr i64 %5363, 16 - %5527 = trunc i64 %5526 to i8 - store i8 %5527, ptr %5525, align 1, !tbaa !51 - %5528 = getelementptr inbounds i8, ptr %154, i64 7 - %5529 = lshr i64 %5363, 24 - %5530 = trunc i64 %5529 to i8 - store i8 %5530, ptr %5528, align 1, !tbaa !51 - %5531 = getelementptr inbounds i8, ptr %154, i64 8 - br label %6010 - -5532: ; preds = %4130, %4125, %4116, %4102, %4058, %4055, %4028, %4015, %3964, %3929, %3898, %3874, %3848, %3807, %3800, %3777, %3759, %3746, %3725, %3718, %3699, %3677, %3649, %3642, %3616, %3613, %3584, %3576, %3527, %3489, %3466, %3458, %3430, %3384, %3340, %3285, %3270, %3237, %3175, %3170, %3085, %3042, %3037, %3021, %3019, %3005, %3002 - %5533 = phi i32 [ %4132, %4130 ], [ %4127, %4125 ], [ %161, %4116 ], [ %4065, %4058 ], [ %4057, %4055 ], [ %3933, %3929 ], [ %3902, %3898 ], [ %3878, %3874 ], [ %3854, %3848 ], [ %3820, %3807 ], [ %3806, %3800 ], [ %3779, %3777 ], [ %3765, %3759 ], [ %3748, %3746 ], [ %3732, %3725 ], [ %3724, %3718 ], [ %3701, %3699 ], [ %3683, %3677 ], [ %3656, %3649 ], [ %3648, %3642 ], [ %3625, %3616 ], [ %3615, %3613 ], [ %3596, %3584 ], [ %3583, %3576 ], [ %3533, %3527 ], [ %3510, %3489 ], [ %3486, %3466 ], [ %3464, %3458 ], [ %3436, %3430 ], [ %3390, %3384 ], [ %3291, %3285 ], [ %3272, %3270 ], [ %3190, %3175 ], [ %3172, %3170 ], [ %3087, %3085 ], [ %3057, %3042 ], [ %3039, %3037 ], [ %161, %3021 ], [ %161, %3019 ], [ %3008, %3005 ], [ %3004, %3002 ], [ %3241, %3237 ], [ %3973, %3964 ], [ %4111, %4102 ], [ %4022, %4015 ], [ %4034, %4028 ], [ %3350, %3340 ] - %5534 = phi i32 [ %165, %4130 ], [ %165, %4125 ], [ %165, %4116 ], [ %4063, %4058 ], [ %165, %4055 ], [ %3918, %3929 ], [ %3890, %3898 ], [ %3862, %3874 ], [ %3838, %3848 ], [ %3814, %3807 ], [ %3790, %3800 ], [ %3771, %3777 ], [ %165, %3759 ], [ %3738, %3746 ], [ %3726, %3725 ], [ %165, %3718 ], [ %3691, %3699 ], [ %3667, %3677 ], [ %3650, %3649 ], [ %165, %3642 ], [ %3623, %3616 ], [ %3607, %3613 ], [ %3594, %3584 ], [ %3581, %3576 ], [ %165, %3527 ], [ %3504, %3489 ], [ %3484, %3466 ], [ %3448, %3458 ], [ %3414, %3430 ], [ %3366, %3384 ], [ %3274, %3285 ], [ %3262, %3270 ], [ %3188, %3175 ], [ %3163, %3170 ], [ %3077, %3085 ], [ %3055, %3042 ], [ %3031, %3037 ], [ %165, %3021 ], [ %165, %3019 ], [ %3006, %3005 ], [ %165, %3002 ], [ %165, %3237 ], [ %3965, %3964 ], [ %4103, %4102 ], [ %4016, %4015 ], [ %4011, %4028 ], [ %3346, %3340 ] - %5535 = phi i8 [ 0, %4130 ], [ 0, %4125 ], [ 0, %4116 ], [ 0, %4058 ], [ 0, %4055 ], [ %3919, %3929 ], [ 0, %3898 ], [ 1, %3874 ], [ 0, %3848 ], [ 0, %3807 ], [ 0, %3800 ], [ 0, %3777 ], [ 0, %3759 ], [ 1, %3746 ], [ 0, %3725 ], [ 0, %3718 ], [ 1, %3699 ], [ 0, %3677 ], [ 0, %3649 ], [ 0, %3642 ], [ 0, %3616 ], [ 0, %3613 ], [ 0, %3584 ], [ 0, %3576 ], [ 1, %3527 ], [ 0, %3489 ], [ 0, %3466 ], [ 0, %3458 ], [ 1, %3430 ], [ 1, %3384 ], [ 0, %3285 ], [ 1, %3270 ], [ 0, %3175 ], [ 0, %3170 ], [ 1, %3085 ], [ 0, %3042 ], [ 0, %3037 ], [ 0, %3021 ], [ 0, %3019 ], [ 0, %3005 ], [ 0, %3002 ], [ 0, %3237 ], [ 1, %3964 ], [ 1, %4102 ], [ 1, %4015 ], [ 1, %4028 ], [ 0, %3340 ] - %5536 = phi i64 [ 0, %4130 ], [ 0, %4125 ], [ 0, %4116 ], [ 0, %4058 ], [ 0, %4055 ], [ %3921, %3929 ], [ 0, %3898 ], [ %3866, %3874 ], [ 0, %3848 ], [ 0, %3807 ], [ 0, %3800 ], [ 0, %3777 ], [ 0, %3759 ], [ %3740, %3746 ], [ 0, %3725 ], [ 0, %3718 ], [ %3693, %3699 ], [ 0, %3677 ], [ 0, %3649 ], [ 0, %3642 ], [ 0, %3616 ], [ 0, %3613 ], [ 0, %3584 ], [ 0, %3576 ], [ %3517, %3527 ], [ 0, %3489 ], [ 0, %3466 ], [ 0, %3458 ], [ %3420, %3430 ], [ %3374, %3384 ], [ 0, %3285 ], [ %3264, %3270 ], [ 0, %3175 ], [ 0, %3170 ], [ %3079, %3085 ], [ 0, %3042 ], [ 0, %3037 ], [ 0, %3021 ], [ 0, %3019 ], [ 0, %3005 ], [ 0, %3002 ], [ 0, %3237 ], [ %3977, %3964 ], [ %4115, %4102 ], [ %4027, %4015 ], [ %4039, %4028 ], [ 0, %3340 ] - %5537 = phi ptr [ %2, %4130 ], [ %3, %4125 ], [ %2, %4116 ], [ %2, %4058 ], [ %3, %4055 ], [ %3, %3929 ], [ %3, %3898 ], [ %3, %3874 ], [ %4, %3848 ], [ %2, %3807 ], [ %4, %3800 ], [ %2, %3777 ], [ %4, %3759 ], [ %3, %3746 ], [ %4, %3725 ], [ %3, %3718 ], [ %3, %3699 ], [ %4, %3677 ], [ %4, %3649 ], [ %3, %3642 ], [ %2, %3616 ], [ %3, %3613 ], [ %2, %3584 ], [ %3, %3576 ], [ %3, %3527 ], [ %3, %3489 ], [ %3, %3466 ], [ %3, %3458 ], [ %4, %3430 ], [ %4, %3384 ], [ %4, %3285 ], [ %3, %3270 ], [ %3, %3175 ], [ %3, %3170 ], [ %2, %3085 ], [ %2, %3042 ], [ %2, %3037 ], [ %2, %3021 ], [ %2, %3019 ], [ %2, %3005 ], [ %3, %3002 ], [ %3193, %3237 ], [ %3967, %3964 ], [ %4105, %4102 ], [ %5, %4015 ], [ %4, %4028 ], [ %5, %3340 ] - %5538 = load i32, ptr %5537, align 4, !tbaa !31 - %5539 = lshr i32 %5538, 3 - %5540 = and i32 %5539, 1023 - %5541 = zext nneg i32 %5540 to i64 - %5542 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %5541 - %5543 = load i8, ptr %5542, align 1, !tbaa !51 - %5544 = zext i8 %5543 to i32 - %5545 = lshr i32 %5538, 18 - %5546 = and i32 %5545, 7 - %5547 = zext nneg i32 %5546 to i64 - %5548 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %5547 - %5549 = load i8, ptr %5548, align 1, !tbaa !51 - %5550 = icmp ne i32 %5546, 0 - %5551 = icmp ne i32 %5546, 7 - %5552 = and i1 %5550, %5551 - store i8 %5549, ptr %154, align 1, !tbaa !51 - %5553 = zext i1 %5552 to i64 - %5554 = getelementptr inbounds i8, ptr %154, i64 %5553 - %5555 = getelementptr inbounds i8, ptr %0, i64 40 - %5556 = load i32, ptr %5555, align 8, !tbaa !57 - %5557 = and i32 %5556, %5544 - %5558 = icmp ne i32 %5557, 0 - store i8 103, ptr %5554, align 1, !tbaa !51 - %5559 = zext i1 %5558 to i64 - %5560 = getelementptr inbounds i8, ptr %5554, i64 %5559 - %5561 = load i32, ptr %5537, align 4, !tbaa !31 - %5562 = and i32 %5561, 248 - %5563 = icmp ugt i32 %5562, 8 - br i1 %5563, label %5564, label %5567 - -5564: ; preds = %5532 - %5565 = getelementptr inbounds i8, ptr %5537, i64 4 - %5566 = load i32, ptr %5565, align 4, !tbaa !58 - br label %5567 - -5567: ; preds = %5564, %5532 - %5568 = phi i32 [ %5566, %5564 ], [ 0, %5532 ] - %5569 = and i32 %5561, 7936 - %5570 = icmp ugt i32 %5569, 256 - br i1 %5570, label %5571, label %5574 - -5571: ; preds = %5567 - %5572 = getelementptr inbounds i8, ptr %5537, i64 8 - %5573 = load i32, ptr %5572, align 4, !tbaa !47 - br label %5574 - -5574: ; preds = %5571, %5567 - %5575 = phi i32 [ %5573, %5571 ], [ 0, %5567 ] - %5576 = and i32 %5561, 14680064 - %5577 = icmp eq i32 %5576, 0 - %5578 = shl i32 %5533, 4 - %5579 = and i32 %5578, 63872 - %5580 = shl i32 %5575, 3 - %5581 = and i32 %5580, 64 - %5582 = shl i32 %5575, 15 - %5583 = and i32 %5582, 524288 - %5584 = shl i32 %5568, 2 - %5585 = and i32 %5584, 32 - %5586 = and i32 %5534, 1610620672 - %5587 = and i32 %45, 4096 - %5588 = or i32 %5586, %5587 - %5589 = lshr exact i32 %5588, 8 - %5590 = getelementptr inbounds i8, ptr %0, i64 92 - %5591 = load i32, ptr %5590, align 4, !tbaa !127 - %5592 = shl i32 %5591, 16 - %5593 = select i1 %5577, i32 0, i32 1048576 - %5594 = and i32 %5533, 7 - %5595 = load i32, ptr %21, align 4, !tbaa !48 - %5596 = shl i32 %5595, 9 - %5597 = and i32 %5596, -2147483648 - %5598 = xor i32 %5597, -2147483648 - %5599 = or disjoint i32 %5589, %5579 - %5600 = or disjoint i32 %5599, %5593 - %5601 = or disjoint i32 %5600, %5585 - %5602 = or i32 %5601, %5581 - %5603 = or i32 %5602, %5583 - %5604 = or i32 %5603, %5592 - %5605 = or i32 %5604, %5598 - %5606 = and i32 %45, 9175040 - %5607 = icmp eq i32 %5606, 0 - br i1 %5607, label %5614, label %5608 - -5608: ; preds = %5574 - %5609 = and i32 %45, 786432 - %5610 = icmp eq i32 %5609, 0 - br i1 %5610, label %5611, label %6035, !prof !35 - -5611: ; preds = %5608 - %5612 = and i32 %45, 8388608 - %5613 = or i32 %5605, %5612 - br label %5614 - -5614: ; preds = %5611, %5574 - %5615 = phi i32 [ %5613, %5611 ], [ %5605, %5574 ] - %5616 = and i32 %5595, 16777216 - %5617 = icmp ne i32 %5616, 0 - %5618 = and i32 %5615, -2132836080 - %5619 = and i32 %45, 3072 - %5620 = or disjoint i32 %5615, 16 - %5621 = or disjoint i32 %5618, %5619 + %5507 = getelementptr inbounds i8, ptr %154, i64 1 + %5508 = trunc i32 %5506 to i8 + %5509 = xor i8 %5508, -7 + store i8 %5509, ptr %5507, align 1, !tbaa !51 + %5510 = getelementptr inbounds i8, ptr %154, i64 2 + %5511 = trunc i32 %5357 to i8 + store i8 %5511, ptr %5510, align 1, !tbaa !51 + %5512 = getelementptr inbounds i8, ptr %154, i64 3 + store i8 %5476, ptr %5512, align 1, !tbaa !51 + %5513 = getelementptr inbounds i8, ptr %154, i64 4 + br i1 %5477, label %6006, label %5514 + +5514: ; preds = %5504 + %5515 = trunc i64 %5359 to i8 + store i8 %5515, ptr %5513, align 1, !tbaa !51 + %5516 = getelementptr inbounds i8, ptr %154, i64 5 + %5517 = icmp eq i8 %5358, 1 + br i1 %5517, label %6006, label %5518 + +5518: ; preds = %5514 + %5519 = lshr i64 %5359, 8 + %5520 = trunc i64 %5519 to i8 + store i8 %5520, ptr %5516, align 1, !tbaa !51 + %5521 = getelementptr inbounds i8, ptr %154, i64 6 + %5522 = lshr i64 %5359, 16 + %5523 = trunc i64 %5522 to i8 + store i8 %5523, ptr %5521, align 1, !tbaa !51 + %5524 = getelementptr inbounds i8, ptr %154, i64 7 + %5525 = lshr i64 %5359, 24 + %5526 = trunc i64 %5525 to i8 + store i8 %5526, ptr %5524, align 1, !tbaa !51 + %5527 = getelementptr inbounds i8, ptr %154, i64 8 + br label %6006 + +5528: ; preds = %4126, %4121, %4112, %4098, %4054, %4051, %4024, %4011, %3960, %3925, %3894, %3870, %3844, %3803, %3796, %3773, %3755, %3742, %3721, %3714, %3695, %3673, %3645, %3638, %3612, %3609, %3580, %3572, %3523, %3485, %3462, %3454, %3426, %3380, %3336, %3281, %3266, %3233, %3171, %3166, %3082, %3039, %3034, %3018, %3016, %3002, %2999 + %5529 = phi i32 [ %4128, %4126 ], [ %4123, %4121 ], [ %161, %4112 ], [ %4061, %4054 ], [ %4053, %4051 ], [ %3929, %3925 ], [ %3898, %3894 ], [ %3874, %3870 ], [ %3850, %3844 ], [ %3816, %3803 ], [ %3802, %3796 ], [ %3775, %3773 ], [ %3761, %3755 ], [ %3744, %3742 ], [ %3728, %3721 ], [ %3720, %3714 ], [ %3697, %3695 ], [ %3679, %3673 ], [ %3652, %3645 ], [ %3644, %3638 ], [ %3621, %3612 ], [ %3611, %3609 ], [ %3592, %3580 ], [ %3579, %3572 ], [ %3529, %3523 ], [ %3506, %3485 ], [ %3482, %3462 ], [ %3460, %3454 ], [ %3432, %3426 ], [ %3386, %3380 ], [ %3287, %3281 ], [ %3268, %3266 ], [ %3186, %3171 ], [ %3168, %3166 ], [ %3084, %3082 ], [ %3054, %3039 ], [ %3036, %3034 ], [ %161, %3018 ], [ %161, %3016 ], [ %3005, %3002 ], [ %3001, %2999 ], [ %3237, %3233 ], [ %3969, %3960 ], [ %4107, %4098 ], [ %4018, %4011 ], [ %4030, %4024 ], [ %3346, %3336 ] + %5530 = phi i32 [ %165, %4126 ], [ %165, %4121 ], [ %165, %4112 ], [ %4059, %4054 ], [ %165, %4051 ], [ %3914, %3925 ], [ %3886, %3894 ], [ %3858, %3870 ], [ %3834, %3844 ], [ %3810, %3803 ], [ %3786, %3796 ], [ %3767, %3773 ], [ %165, %3755 ], [ %3734, %3742 ], [ %3722, %3721 ], [ %165, %3714 ], [ %3687, %3695 ], [ %3663, %3673 ], [ %3646, %3645 ], [ %165, %3638 ], [ %3619, %3612 ], [ %3603, %3609 ], [ %3590, %3580 ], [ %3577, %3572 ], [ %165, %3523 ], [ %3500, %3485 ], [ %3480, %3462 ], [ %3444, %3454 ], [ %3410, %3426 ], [ %3362, %3380 ], [ %3270, %3281 ], [ %3258, %3266 ], [ %3184, %3171 ], [ %3159, %3166 ], [ %3074, %3082 ], [ %3052, %3039 ], [ %3028, %3034 ], [ %165, %3018 ], [ %165, %3016 ], [ %3003, %3002 ], [ %165, %2999 ], [ %165, %3233 ], [ %3961, %3960 ], [ %4099, %4098 ], [ %4012, %4011 ], [ %4007, %4024 ], [ %3342, %3336 ] + %5531 = phi i8 [ 0, %4126 ], [ 0, %4121 ], [ 0, %4112 ], [ 0, %4054 ], [ 0, %4051 ], [ %3915, %3925 ], [ 0, %3894 ], [ 1, %3870 ], [ 0, %3844 ], [ 0, %3803 ], [ 0, %3796 ], [ 0, %3773 ], [ 0, %3755 ], [ 1, %3742 ], [ 0, %3721 ], [ 0, %3714 ], [ 1, %3695 ], [ 0, %3673 ], [ 0, %3645 ], [ 0, %3638 ], [ 0, %3612 ], [ 0, %3609 ], [ 0, %3580 ], [ 0, %3572 ], [ 1, %3523 ], [ 0, %3485 ], [ 0, %3462 ], [ 0, %3454 ], [ 1, %3426 ], [ 1, %3380 ], [ 0, %3281 ], [ 1, %3266 ], [ 0, %3171 ], [ 0, %3166 ], [ 1, %3082 ], [ 0, %3039 ], [ 0, %3034 ], [ 0, %3018 ], [ 0, %3016 ], [ 0, %3002 ], [ 0, %2999 ], [ 0, %3233 ], [ 1, %3960 ], [ 1, %4098 ], [ 1, %4011 ], [ 1, %4024 ], [ 0, %3336 ] + %5532 = phi i64 [ 0, %4126 ], [ 0, %4121 ], [ 0, %4112 ], [ 0, %4054 ], [ 0, %4051 ], [ %3917, %3925 ], [ 0, %3894 ], [ %3862, %3870 ], [ 0, %3844 ], [ 0, %3803 ], [ 0, %3796 ], [ 0, %3773 ], [ 0, %3755 ], [ %3736, %3742 ], [ 0, %3721 ], [ 0, %3714 ], [ %3689, %3695 ], [ 0, %3673 ], [ 0, %3645 ], [ 0, %3638 ], [ 0, %3612 ], [ 0, %3609 ], [ 0, %3580 ], [ 0, %3572 ], [ %3513, %3523 ], [ 0, %3485 ], [ 0, %3462 ], [ 0, %3454 ], [ %3416, %3426 ], [ %3370, %3380 ], [ 0, %3281 ], [ %3260, %3266 ], [ 0, %3171 ], [ 0, %3166 ], [ %3076, %3082 ], [ 0, %3039 ], [ 0, %3034 ], [ 0, %3018 ], [ 0, %3016 ], [ 0, %3002 ], [ 0, %2999 ], [ 0, %3233 ], [ %3973, %3960 ], [ %4111, %4098 ], [ %4023, %4011 ], [ %4035, %4024 ], [ 0, %3336 ] + %5533 = phi ptr [ %2, %4126 ], [ %3, %4121 ], [ %2, %4112 ], [ %2, %4054 ], [ %3, %4051 ], [ %3, %3925 ], [ %3, %3894 ], [ %3, %3870 ], [ %4, %3844 ], [ %2, %3803 ], [ %4, %3796 ], [ %2, %3773 ], [ %4, %3755 ], [ %3, %3742 ], [ %4, %3721 ], [ %3, %3714 ], [ %3, %3695 ], [ %4, %3673 ], [ %4, %3645 ], [ %3, %3638 ], [ %2, %3612 ], [ %3, %3609 ], [ %2, %3580 ], [ %3, %3572 ], [ %3, %3523 ], [ %3, %3485 ], [ %3, %3462 ], [ %3, %3454 ], [ %4, %3426 ], [ %4, %3380 ], [ %4, %3281 ], [ %3, %3266 ], [ %3, %3171 ], [ %3, %3166 ], [ %2, %3082 ], [ %2, %3039 ], [ %2, %3034 ], [ %2, %3018 ], [ %2, %3016 ], [ %2, %3002 ], [ %3, %2999 ], [ %3189, %3233 ], [ %3963, %3960 ], [ %4101, %4098 ], [ %5, %4011 ], [ %4, %4024 ], [ %5, %3336 ] + %5534 = load i32, ptr %5533, align 4, !tbaa !31 + %5535 = lshr i32 %5534, 3 + %5536 = and i32 %5535, 1023 + %5537 = zext nneg i32 %5536 to i64 + %5538 = getelementptr inbounds [1024 x i8], ptr @_ZN6asmjit9_abi_1_103x86L10x86MemInfoE, i64 0, i64 %5537 + %5539 = load i8, ptr %5538, align 1, !tbaa !51 + %5540 = zext i8 %5539 to i32 + %5541 = lshr i32 %5534, 18 + %5542 = and i32 %5541, 7 + %5543 = zext nneg i32 %5542 to i64 + %5544 = getelementptr inbounds [8 x i8], ptr @_ZN6asmjit9_abi_1_103x86L16x86SegmentPrefixE, i64 0, i64 %5543 + %5545 = load i8, ptr %5544, align 1, !tbaa !51 + %5546 = icmp ne i32 %5542, 0 + %5547 = icmp ne i32 %5542, 7 + %5548 = and i1 %5546, %5547 + store i8 %5545, ptr %154, align 1, !tbaa !51 + %5549 = zext i1 %5548 to i64 + %5550 = getelementptr inbounds i8, ptr %154, i64 %5549 + %5551 = getelementptr inbounds i8, ptr %0, i64 40 + %5552 = load i32, ptr %5551, align 8, !tbaa !57 + %5553 = and i32 %5552, %5540 + %5554 = icmp ne i32 %5553, 0 + store i8 103, ptr %5550, align 1, !tbaa !51 + %5555 = zext i1 %5554 to i64 + %5556 = getelementptr inbounds i8, ptr %5550, i64 %5555 + %5557 = load i32, ptr %5533, align 4, !tbaa !31 + %5558 = and i32 %5557, 248 + %5559 = icmp ugt i32 %5558, 8 + br i1 %5559, label %5560, label %5563 + +5560: ; preds = %5528 + %5561 = getelementptr inbounds i8, ptr %5533, i64 4 + %5562 = load i32, ptr %5561, align 4, !tbaa !58 + br label %5563 + +5563: ; preds = %5560, %5528 + %5564 = phi i32 [ %5562, %5560 ], [ 0, %5528 ] + %5565 = and i32 %5557, 7936 + %5566 = icmp ugt i32 %5565, 256 + br i1 %5566, label %5567, label %5570 + +5567: ; preds = %5563 + %5568 = getelementptr inbounds i8, ptr %5533, i64 8 + %5569 = load i32, ptr %5568, align 4, !tbaa !47 + br label %5570 + +5570: ; preds = %5567, %5563 + %5571 = phi i32 [ %5569, %5567 ], [ 0, %5563 ] + %5572 = and i32 %5557, 14680064 + %5573 = icmp eq i32 %5572, 0 + %5574 = shl i32 %5529, 4 + %5575 = and i32 %5574, 63872 + %5576 = shl i32 %5571, 3 + %5577 = and i32 %5576, 64 + %5578 = shl i32 %5571, 15 + %5579 = and i32 %5578, 524288 + %5580 = shl i32 %5564, 2 + %5581 = and i32 %5580, 32 + %5582 = and i32 %5530, 1610620672 + %5583 = and i32 %45, 4096 + %5584 = or i32 %5582, %5583 + %5585 = lshr exact i32 %5584, 8 + %5586 = getelementptr inbounds i8, ptr %0, i64 92 + %5587 = load i32, ptr %5586, align 4, !tbaa !127 + %5588 = shl i32 %5587, 16 + %5589 = select i1 %5573, i32 0, i32 1048576 + %5590 = and i32 %5529, 7 + %5591 = load i32, ptr %21, align 4, !tbaa !48 + %5592 = shl i32 %5591, 9 + %5593 = and i32 %5592, -2147483648 + %5594 = xor i32 %5593, -2147483648 + %5595 = or disjoint i32 %5585, %5575 + %5596 = or disjoint i32 %5595, %5589 + %5597 = or disjoint i32 %5596, %5581 + %5598 = or i32 %5597, %5577 + %5599 = or i32 %5598, %5579 + %5600 = or i32 %5599, %5588 + %5601 = or i32 %5600, %5594 + %5602 = and i32 %45, 9175040 + %5603 = icmp eq i32 %5602, 0 + br i1 %5603, label %5610, label %5604 + +5604: ; preds = %5570 + %5605 = and i32 %45, 786432 + %5606 = icmp eq i32 %5605, 0 + br i1 %5606, label %5607, label %6031, !prof !35 + +5607: ; preds = %5604 + %5608 = and i32 %45, 8388608 + %5609 = or i32 %5601, %5608 + br label %5610 + +5610: ; preds = %5607, %5570 + %5611 = phi i32 [ %5609, %5607 ], [ %5601, %5570 ] + %5612 = and i32 %5591, 16777216 + %5613 = icmp ne i32 %5612, 0 + %5614 = and i32 %5611, -2132836080 + %5615 = and i32 %45, 3072 + %5616 = or disjoint i32 %5611, 16 + %5617 = or disjoint i32 %5614, %5615 + %5618 = icmp eq i32 %5617, 0 + %5619 = and i1 %5613, %5618 + %5620 = select i1 %5619, i32 %5616, i32 %5611 + %5621 = and i32 %5620, -2132836080 %5622 = icmp eq i32 %5621, 0 - %5623 = and i1 %5617, %5622 - %5624 = select i1 %5623, i32 %5620, i32 %5615 - %5625 = and i32 %5624, -2132836080 - %5626 = icmp eq i32 %5625, 0 - br i1 %5626, label %5687, label %5627 - -5627: ; preds = %5614 - %5628 = shl i32 %5624, 4 - %5629 = and i32 %5628, 524288 - %5630 = lshr i32 %5624, 4 - %5631 = and i32 %5630, 16 - %5632 = and i32 %5624, 16742639 - %5633 = or disjoint i32 %5631, %5632 - %5634 = or i32 %5633, %5629 - %5635 = shl nuw i32 %5634, 8 - %5636 = lshr i32 %5534, 4 - %5637 = and i32 %5636, 8388608 - %5638 = lshr i32 %5534, 5 - %5639 = and i32 %5638, 8585216 - %5640 = or i32 %5637, %5639 - %5641 = or disjoint i32 %5640, %5635 - %5642 = xor i32 %5641, 142405730 - %5643 = and i32 %5624, 1048576 - %5644 = icmp eq i32 %5643, 0 - br i1 %5644, label %5669, label %5645 - -5645: ; preds = %5627 - %5646 = getelementptr inbounds i8, ptr %21, i64 4 - %5647 = load i32, ptr %5646, align 4 - %5648 = lshr i32 %5647, 3 - %5649 = and i32 %5648, 14 - %5650 = icmp eq i32 %5649, 0 - br i1 %5650, label %6035, label %5651, !prof !37 - -5651: ; preds = %5645 - %5652 = lshr i32 %5561, 21 - %5653 = and i32 %5652, 7 - %5654 = shl nuw nsw i32 %5649, %5653 - %5655 = call noundef i32 @llvm.cttz.i32(i32 %5654, i1 true), !range !128 - %5656 = call noundef i32 @llvm.umax.i32(i32 %5655, i32 4) - %5657 = shl i32 %5656, 29 - %5658 = xor i32 %5657, -2147483648 - %5659 = icmp ugt i32 %5658, 1073741824 - br i1 %5659, label %6035, label %5660 - -5660: ; preds = %5651 - %5661 = and i32 %5635, 1610612736 - %5662 = call noundef i32 @llvm.umax.i32(i32 %5661, i32 %5658) - %5663 = and i32 %5642, -1610612894 - %5664 = or disjoint i32 %5662, %5663 - %5665 = and i32 %5534, -57345 - %5666 = call noundef i32 @llvm.cttz.i32(i32 %5649, i1 true), !range !128 - %5667 = shl nuw nsw i32 %5666, 13 - %5668 = or i32 %5667, %5665 - br label %5682 - -5669: ; preds = %5627 - %5670 = lshr i32 %5534, 13 - %5671 = and i32 %5670, 24 - %5672 = lshr i32 %5534, 25 - %5673 = and i32 %5672, 4 - %5674 = or disjoint i32 %5671, %5673 - %5675 = lshr i32 %5624, 21 - %5676 = and i32 %5675, 3 - %5677 = or disjoint i32 %5674, %5676 - %5678 = zext nneg i32 %5677 to i64 - %5679 = getelementptr inbounds [32 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86CDisp8SHLE, i64 0, i64 %5678 - %5680 = load i32, ptr %5679, align 4, !tbaa !47 - %5681 = add i32 %5680, %5534 - br label %5682 - -5682: ; preds = %5669, %5660 - %5683 = phi i32 [ %5681, %5669 ], [ %5668, %5660 ] - %5684 = phi i32 [ %5642, %5669 ], [ %5664, %5660 ] - store i32 %5684, ptr %5560, align 1, !tbaa !51 - %5685 = getelementptr inbounds i8, ptr %5560, i64 4 - %5686 = trunc i32 %5683 to i8 - store i8 %5686, ptr %5685, align 1, !tbaa !51 - br label %5720 - -5687: ; preds = %5614 - %5688 = lshr i32 %5534, 12 - %5689 = and i32 %5688, 32768 - %5690 = lshr i32 %5534, 13 - %5691 = and i32 %5690, 768 - %5692 = lshr i32 %5624, 11 - %5693 = and i32 %5692, 1024 - %5694 = shl i32 %45, 21 - %5695 = and i32 %5694, -2147483648 - %5696 = or disjoint i32 %5691, %5695 - %5697 = or disjoint i32 %5696, %5689 - %5698 = or disjoint i32 %5697, %5693 - %5699 = or i32 %5698, %5624 - %5700 = and i32 %5699, -2147450770 - %5701 = icmp eq i32 %5700, 0 - br i1 %5701, label %5712, label %5702 - -5702: ; preds = %5687 - %5703 = and i32 %5624, 15 - %5704 = zext nneg i32 %5703 to i64 - %5705 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86VEXPrefixE, i64 0, i64 %5704 - %5706 = load i32, ptr %5705, align 4, !tbaa !47 - %5707 = shl i32 %5534, 24 - %5708 = or i32 %5706, %5707 - %5709 = shl i32 %5699, 8 - %5710 = and i32 %5709, 16776960 - %5711 = xor i32 %5708, %5710 - store i32 %5711, ptr %5560, align 1, !tbaa !51 - br label %5720 - -5712: ; preds = %5687 - %5713 = lshr i32 %5699, 8 - %5714 = xor i32 %5713, %5699 - store i8 -59, ptr %5560, align 1, !tbaa !51 - %5715 = getelementptr inbounds i8, ptr %5560, i64 1 - %5716 = trunc i32 %5714 to i8 - %5717 = xor i8 %5716, -7 - store i8 %5717, ptr %5715, align 1, !tbaa !51 - %5718 = getelementptr inbounds i8, ptr %5560, i64 2 - %5719 = trunc i32 %5534 to i8 - store i8 %5719, ptr %5718, align 1, !tbaa !51 - br label %5720 - -5720: ; preds = %5712, %5702, %5682 - %5721 = phi i64 [ 5, %5682 ], [ 4, %5702 ], [ 3, %5712 ] - %5722 = phi i32 [ %5683, %5682 ], [ 0, %5702 ], [ 0, %5712 ] - %5723 = getelementptr inbounds i8, ptr %5560, i64 %5721 - %5724 = load i32, ptr %21, align 4, !tbaa !48 - %5725 = and i32 %5724, 1048576 - %5726 = icmp eq i32 %5725, 0 - br i1 %5726, label %4599, label %5727 - -5727: ; preds = %5720 - %5728 = and i32 %5544, 2 - %5729 = icmp eq i32 %5728, 0 - br i1 %5729, label %6035, label %5130 - -5730: ; preds = %1197, %1187, %1176, %1171, %1166, %1163, %789, %153 - %5731 = phi ptr [ %154, %153 ], [ %154, %789 ], [ %1175, %1171 ], [ %154, %1166 ], [ %154, %1163 ], [ %1196, %1187 ], [ %154, %1176 ], [ %154, %1197 ] - %5732 = phi i32 [ %161, %153 ], [ 0, %789 ], [ 0, %1171 ], [ 0, %1166 ], [ 0, %1163 ], [ 0, %1187 ], [ 0, %1176 ], [ 0, %1197 ] - %5733 = phi i32 [ %165, %153 ], [ 232, %789 ], [ %165, %1171 ], [ %165, %1166 ], [ %165, %1163 ], [ %165, %1187 ], [ %165, %1176 ], [ 233, %1197 ] - %5734 = phi ptr [ %2, %153 ], [ %2, %789 ], [ %2, %1171 ], [ %2, %1166 ], [ %2, %1163 ], [ %3, %1187 ], [ %2, %1176 ], [ %2, %1197 ] - %5735 = or i32 %5733, %46 - %5736 = icmp ugt i32 %5735, -2130706433 - br i1 %5736, label %6035, label %5737, !prof !37 - -5737: ; preds = %5730 - %5738 = lshr i32 %5735, 24 - %5739 = and i32 %5738, 127 - %5740 = icmp ne i32 %5739, 0 - %5741 = trunc i32 %5739 to i8 - %5742 = or i8 %5741, 64 - store i8 %5742, ptr %5731, align 1, !tbaa !51 - %5743 = zext i1 %5740 to i64 - %5744 = getelementptr inbounds i8, ptr %5731, i64 %5743 - %5745 = getelementptr inbounds i8, ptr %0, i64 152 - %5746 = load ptr, ptr %5745, align 8, !tbaa !80 - %5747 = ptrtoint ptr %5744 to i64 - %5748 = ptrtoint ptr %5746 to i64 - %5749 = sub i64 %5748, %5747 - %5750 = getelementptr inbounds i8, ptr %16, i64 7 - %5751 = load i8, ptr %5750, align 1, !tbaa !61 - %5752 = zext i8 %5751 to i64 - %5753 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %5752 - %5754 = load i32, ptr %5753, align 4, !tbaa !47 - %5755 = icmp eq i32 %5732, 0 - %5756 = select i1 %5755, i32 5, i32 6 - %5757 = and i32 %5733, 7936 - %5758 = icmp eq i32 %5757, 256 - %5759 = zext i1 %5758 to i32 - %5760 = add nuw nsw i32 %5756, %5759 - %5761 = load i32, ptr %5734, align 4, !tbaa !31 - %5762 = and i32 %5761, 7 - switch i32 %5762, label %6035 [ - i32 4, label %5763 - i32 3, label %5813 + br i1 %5622, label %5683, label %5623 + +5623: ; preds = %5610 + %5624 = shl i32 %5620, 4 + %5625 = and i32 %5624, 524288 + %5626 = lshr i32 %5620, 4 + %5627 = and i32 %5626, 16 + %5628 = and i32 %5620, 16742639 + %5629 = or disjoint i32 %5627, %5628 + %5630 = or i32 %5629, %5625 + %5631 = shl nuw i32 %5630, 8 + %5632 = lshr i32 %5530, 4 + %5633 = and i32 %5632, 8388608 + %5634 = lshr i32 %5530, 5 + %5635 = and i32 %5634, 8585216 + %5636 = or i32 %5633, %5635 + %5637 = or disjoint i32 %5636, %5631 + %5638 = xor i32 %5637, 142405730 + %5639 = and i32 %5620, 1048576 + %5640 = icmp eq i32 %5639, 0 + br i1 %5640, label %5665, label %5641 + +5641: ; preds = %5623 + %5642 = getelementptr inbounds i8, ptr %21, i64 4 + %5643 = load i32, ptr %5642, align 4 + %5644 = lshr i32 %5643, 3 + %5645 = and i32 %5644, 14 + %5646 = icmp eq i32 %5645, 0 + br i1 %5646, label %6031, label %5647, !prof !37 + +5647: ; preds = %5641 + %5648 = lshr i32 %5557, 21 + %5649 = and i32 %5648, 7 + %5650 = shl nuw nsw i32 %5645, %5649 + %5651 = call noundef i32 @llvm.cttz.i32(i32 %5650, i1 true), !range !128 + %5652 = call noundef i32 @llvm.umax.i32(i32 %5651, i32 4) + %5653 = shl i32 %5652, 29 + %5654 = xor i32 %5653, -2147483648 + %5655 = icmp ugt i32 %5654, 1073741824 + br i1 %5655, label %6031, label %5656 + +5656: ; preds = %5647 + %5657 = and i32 %5631, 1610612736 + %5658 = call noundef i32 @llvm.umax.i32(i32 %5657, i32 %5654) + %5659 = and i32 %5638, -1610612894 + %5660 = or disjoint i32 %5658, %5659 + %5661 = and i32 %5530, -57345 + %5662 = call noundef i32 @llvm.cttz.i32(i32 %5645, i1 true), !range !128 + %5663 = shl nuw nsw i32 %5662, 13 + %5664 = or i32 %5663, %5661 + br label %5678 + +5665: ; preds = %5623 + %5666 = lshr i32 %5530, 13 + %5667 = and i32 %5666, 24 + %5668 = lshr i32 %5530, 25 + %5669 = and i32 %5668, 4 + %5670 = or disjoint i32 %5667, %5669 + %5671 = lshr i32 %5620, 21 + %5672 = and i32 %5671, 3 + %5673 = or disjoint i32 %5670, %5672 + %5674 = zext nneg i32 %5673 to i64 + %5675 = getelementptr inbounds [32 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86CDisp8SHLE, i64 0, i64 %5674 + %5676 = load i32, ptr %5675, align 4, !tbaa !47 + %5677 = add i32 %5676, %5530 + br label %5678 + +5678: ; preds = %5665, %5656 + %5679 = phi i32 [ %5677, %5665 ], [ %5664, %5656 ] + %5680 = phi i32 [ %5638, %5665 ], [ %5660, %5656 ] + store i32 %5680, ptr %5556, align 1, !tbaa !51 + %5681 = getelementptr inbounds i8, ptr %5556, i64 4 + %5682 = trunc i32 %5679 to i8 + store i8 %5682, ptr %5681, align 1, !tbaa !51 + br label %5716 + +5683: ; preds = %5610 + %5684 = lshr i32 %5530, 12 + %5685 = and i32 %5684, 32768 + %5686 = lshr i32 %5530, 13 + %5687 = and i32 %5686, 768 + %5688 = lshr i32 %5620, 11 + %5689 = and i32 %5688, 1024 + %5690 = shl i32 %45, 21 + %5691 = and i32 %5690, -2147483648 + %5692 = or disjoint i32 %5687, %5691 + %5693 = or disjoint i32 %5692, %5685 + %5694 = or disjoint i32 %5693, %5689 + %5695 = or i32 %5694, %5620 + %5696 = and i32 %5695, -2147450770 + %5697 = icmp eq i32 %5696, 0 + br i1 %5697, label %5708, label %5698 + +5698: ; preds = %5683 + %5699 = and i32 %5620, 15 + %5700 = zext nneg i32 %5699 to i64 + %5701 = getelementptr inbounds [16 x i32], ptr @_ZN6asmjit9_abi_1_103x86L12x86VEXPrefixE, i64 0, i64 %5700 + %5702 = load i32, ptr %5701, align 4, !tbaa !47 + %5703 = shl i32 %5530, 24 + %5704 = or i32 %5702, %5703 + %5705 = shl i32 %5695, 8 + %5706 = and i32 %5705, 16776960 + %5707 = xor i32 %5704, %5706 + store i32 %5707, ptr %5556, align 1, !tbaa !51 + br label %5716 + +5708: ; preds = %5683 + %5709 = lshr i32 %5695, 8 + %5710 = xor i32 %5709, %5695 + store i8 -59, ptr %5556, align 1, !tbaa !51 + %5711 = getelementptr inbounds i8, ptr %5556, i64 1 + %5712 = trunc i32 %5710 to i8 + %5713 = xor i8 %5712, -7 + store i8 %5713, ptr %5711, align 1, !tbaa !51 + %5714 = getelementptr inbounds i8, ptr %5556, i64 2 + %5715 = trunc i32 %5530 to i8 + store i8 %5715, ptr %5714, align 1, !tbaa !51 + br label %5716 + +5716: ; preds = %5708, %5698, %5678 + %5717 = phi i64 [ 5, %5678 ], [ 4, %5698 ], [ 3, %5708 ] + %5718 = phi i32 [ %5679, %5678 ], [ 0, %5698 ], [ 0, %5708 ] + %5719 = getelementptr inbounds i8, ptr %5556, i64 %5717 + %5720 = load i32, ptr %21, align 4, !tbaa !48 + %5721 = and i32 %5720, 1048576 + %5722 = icmp eq i32 %5721, 0 + br i1 %5722, label %4595, label %5723 + +5723: ; preds = %5716 + %5724 = and i32 %5540, 2 + %5725 = icmp eq i32 %5724, 0 + br i1 %5725, label %6031, label %5126 + +5726: ; preds = %1196, %1186, %1175, %1170, %1165, %1162, %789, %153 + %5727 = phi ptr [ %154, %153 ], [ %154, %789 ], [ %1174, %1170 ], [ %154, %1165 ], [ %154, %1162 ], [ %1195, %1186 ], [ %154, %1175 ], [ %154, %1196 ] + %5728 = phi i32 [ %161, %153 ], [ 0, %789 ], [ 0, %1170 ], [ 0, %1165 ], [ 0, %1162 ], [ 0, %1186 ], [ 0, %1175 ], [ 0, %1196 ] + %5729 = phi i32 [ %165, %153 ], [ 232, %789 ], [ %165, %1170 ], [ %165, %1165 ], [ %165, %1162 ], [ %165, %1186 ], [ %165, %1175 ], [ 233, %1196 ] + %5730 = phi ptr [ %2, %153 ], [ %2, %789 ], [ %2, %1170 ], [ %2, %1165 ], [ %2, %1162 ], [ %3, %1186 ], [ %2, %1175 ], [ %2, %1196 ] + %5731 = or i32 %5729, %46 + %5732 = icmp ugt i32 %5731, -2130706433 + br i1 %5732, label %6031, label %5733, !prof !37 + +5733: ; preds = %5726 + %5734 = lshr i32 %5731, 24 + %5735 = and i32 %5734, 127 + %5736 = icmp ne i32 %5735, 0 + %5737 = trunc i32 %5735 to i8 + %5738 = or i8 %5737, 64 + store i8 %5738, ptr %5727, align 1, !tbaa !51 + %5739 = zext i1 %5736 to i64 + %5740 = getelementptr inbounds i8, ptr %5727, i64 %5739 + %5741 = getelementptr inbounds i8, ptr %0, i64 152 + %5742 = load ptr, ptr %5741, align 8, !tbaa !80 + %5743 = ptrtoint ptr %5740 to i64 + %5744 = ptrtoint ptr %5742 to i64 + %5745 = sub i64 %5744, %5743 + %5746 = getelementptr inbounds i8, ptr %16, i64 7 + %5747 = load i8, ptr %5746, align 1, !tbaa !61 + %5748 = zext i8 %5747 to i64 + %5749 = getelementptr inbounds [0 x i32], ptr @_ZN6asmjit9_abi_1_103x866InstDB15_altOpcodeTableE, i64 0, i64 %5748 + %5750 = load i32, ptr %5749, align 4, !tbaa !47 + %5751 = icmp eq i32 %5728, 0 + %5752 = select i1 %5751, i32 5, i32 6 + %5753 = and i32 %5729, 7936 + %5754 = icmp eq i32 %5753, 256 + %5755 = zext i1 %5754 to i32 + %5756 = add nuw nsw i32 %5752, %5755 + %5757 = load i32, ptr %5730, align 4, !tbaa !31 + %5758 = and i32 %5757, 7 + switch i32 %5758, label %6031 [ + i32 4, label %5759 + i32 3, label %5809 ] -5763: ; preds = %5737 - %5764 = getelementptr inbounds i8, ptr %0, i64 48 - %5765 = load ptr, ptr %5764, align 8, !tbaa !36 - %5766 = getelementptr inbounds i8, ptr %5734, i64 4 - %5767 = load i32, ptr %5766, align 4, !tbaa !58 - %5768 = getelementptr inbounds i8, ptr %5765, i64 248 - %5769 = load i32, ptr %5768, align 8, !tbaa !117 - %5770 = icmp ugt i32 %5769, %5767 - br i1 %5770, label %5771, label %6035 - -5771: ; preds = %5763 - %5772 = getelementptr inbounds i8, ptr %5765, i64 240 - %5773 = zext i32 %5767 to i64 - %5774 = load ptr, ptr %5772, align 8, !tbaa !119 - %5775 = getelementptr inbounds ptr, ptr %5774, i64 %5773 - %5776 = load ptr, ptr %5775, align 8, !tbaa !28 - %5777 = icmp eq ptr %5776, null - br i1 %5777, label %6035, label %5778, !prof !39 - -5778: ; preds = %5771 - %5779 = getelementptr inbounds i8, ptr %0, i64 144 - %5780 = load ptr, ptr %5779, align 8, !tbaa !38 - %5781 = getelementptr inbounds i8, ptr %5776, i64 32 - %5782 = load ptr, ptr %5781, align 8, !tbaa !120 - %5783 = icmp eq ptr %5782, %5780 - br i1 %5783, label %5784, label %5790 - -5784: ; preds = %5778 - %5785 = getelementptr inbounds i8, ptr %5776, i64 24 - %5786 = load i64, ptr %5785, align 8, !tbaa !125 - %5787 = zext nneg i32 %5760 to i64 - %5788 = sub i64 %5749, %5787 - %5789 = add i64 %5788, %5786 - br label %5916 - -5790: ; preds = %5778 - %5791 = icmp eq i32 %5754, 0 - %5792 = icmp eq i32 %5733, 0 - %5793 = and i32 %45, 16 - %5794 = icmp ne i32 %5793, 0 - %5795 = or i1 %5794, %5792 - br i1 %5791, label %5800, label %5796 - -5796: ; preds = %5790 - br i1 %5795, label %5797, label %5801 - -5797: ; preds = %5796 - %5798 = trunc i32 %5754 to i8 - store i8 %5798, ptr %5744, align 1, !tbaa !51 - %5799 = getelementptr inbounds i8, ptr %5744, i64 1 - br label %5952 - -5800: ; preds = %5790 - br i1 %5795, label %6035, label %5801, !prof !129 - -5801: ; preds = %5800, %5796 - %5802 = icmp ne i32 %5757, 0 - store i8 15, ptr %5744, align 1, !tbaa !51 - %5803 = zext i1 %5802 to i64 - %5804 = getelementptr inbounds i8, ptr %5744, i64 %5803 - %5805 = trunc i32 %5733 to i8 - store i8 %5805, ptr %5804, align 1, !tbaa !51 - %5806 = getelementptr inbounds i8, ptr %5804, i64 1 - %5807 = icmp ne i32 %5732, 0 - %5808 = trunc i32 %5732 to i8 - %5809 = shl nuw nsw i8 %5808, 3 - %5810 = or disjoint i8 %5809, -64 - store i8 %5810, ptr %5806, align 1, !tbaa !51 - %5811 = zext i1 %5807 to i64 - %5812 = getelementptr inbounds i8, ptr %5806, i64 %5811 - br label %5952 - -5813: ; preds = %5737 - %5814 = getelementptr inbounds i8, ptr %0, i64 48 - %5815 = load ptr, ptr %5814, align 8, !tbaa !36 - %5816 = getelementptr inbounds i8, ptr %5815, i64 40 - %5817 = load i64, ptr %5816, align 8, !tbaa !65 - %5818 = getelementptr inbounds i8, ptr %5734, i64 8 - %5819 = load i64, ptr %5818, align 4 - %5820 = icmp eq i64 %5817, -1 - br i1 %5820, label %5834, label %5821 - -5821: ; preds = %5813 - %5822 = zext nneg i32 %5760 to i64 - %5823 = add i64 %5817, %5822 - %5824 = sub i64 %5749, %5823 - %5825 = add i64 %5824, %5819 - %5826 = getelementptr inbounds i8, ptr %0, i64 72 - %5827 = load i8, ptr %5826, align 8, !tbaa !42 - %5828 = and i8 %5827, 1 - %5829 = icmp ne i8 %5828, 0 - %5830 = add i64 %5825, 2147483648 - %5831 = icmp ult i64 %5830, 4294967296 - %5832 = select i1 %5829, i1 true, i1 %5831 - br i1 %5832, label %5916, label %5833 - -5833: ; preds = %5821 - switch i32 %14, label %6035 [ - i32 303, label %5834 - i32 59, label %5834 +5759: ; preds = %5733 + %5760 = getelementptr inbounds i8, ptr %0, i64 48 + %5761 = load ptr, ptr %5760, align 8, !tbaa !36 + %5762 = getelementptr inbounds i8, ptr %5730, i64 4 + %5763 = load i32, ptr %5762, align 4, !tbaa !58 + %5764 = getelementptr inbounds i8, ptr %5761, i64 248 + %5765 = load i32, ptr %5764, align 8, !tbaa !117 + %5766 = icmp ugt i32 %5765, %5763 + br i1 %5766, label %5767, label %6031 + +5767: ; preds = %5759 + %5768 = getelementptr inbounds i8, ptr %5761, i64 240 + %5769 = zext i32 %5763 to i64 + %5770 = load ptr, ptr %5768, align 8, !tbaa !119 + %5771 = getelementptr inbounds ptr, ptr %5770, i64 %5769 + %5772 = load ptr, ptr %5771, align 8, !tbaa !28 + %5773 = icmp eq ptr %5772, null + br i1 %5773, label %6031, label %5774, !prof !39 + +5774: ; preds = %5767 + %5775 = getelementptr inbounds i8, ptr %0, i64 144 + %5776 = load ptr, ptr %5775, align 8, !tbaa !38 + %5777 = getelementptr inbounds i8, ptr %5772, i64 32 + %5778 = load ptr, ptr %5777, align 8, !tbaa !120 + %5779 = icmp eq ptr %5778, %5776 + br i1 %5779, label %5780, label %5786 + +5780: ; preds = %5774 + %5781 = getelementptr inbounds i8, ptr %5772, i64 24 + %5782 = load i64, ptr %5781, align 8, !tbaa !125 + %5783 = zext nneg i32 %5756 to i64 + %5784 = sub i64 %5745, %5783 + %5785 = add i64 %5784, %5782 + br label %5912 + +5786: ; preds = %5774 + %5787 = icmp eq i32 %5750, 0 + %5788 = icmp eq i32 %5729, 0 + %5789 = and i32 %45, 16 + %5790 = icmp ne i32 %5789, 0 + %5791 = or i1 %5790, %5788 + br i1 %5787, label %5796, label %5792 + +5792: ; preds = %5786 + br i1 %5791, label %5793, label %5797 + +5793: ; preds = %5792 + %5794 = trunc i32 %5750 to i8 + store i8 %5794, ptr %5740, align 1, !tbaa !51 + %5795 = getelementptr inbounds i8, ptr %5740, i64 1 + br label %5948 + +5796: ; preds = %5786 + br i1 %5791, label %6031, label %5797, !prof !129 + +5797: ; preds = %5796, %5792 + %5798 = icmp ne i32 %5753, 0 + store i8 15, ptr %5740, align 1, !tbaa !51 + %5799 = zext i1 %5798 to i64 + %5800 = getelementptr inbounds i8, ptr %5740, i64 %5799 + %5801 = trunc i32 %5729 to i8 + store i8 %5801, ptr %5800, align 1, !tbaa !51 + %5802 = getelementptr inbounds i8, ptr %5800, i64 1 + %5803 = icmp ne i32 %5728, 0 + %5804 = trunc i32 %5728 to i8 + %5805 = shl nuw nsw i8 %5804, 3 + %5806 = or disjoint i8 %5805, -64 + store i8 %5806, ptr %5802, align 1, !tbaa !51 + %5807 = zext i1 %5803 to i64 + %5808 = getelementptr inbounds i8, ptr %5802, i64 %5807 + br label %5948 + +5809: ; preds = %5733 + %5810 = getelementptr inbounds i8, ptr %0, i64 48 + %5811 = load ptr, ptr %5810, align 8, !tbaa !36 + %5812 = getelementptr inbounds i8, ptr %5811, i64 40 + %5813 = load i64, ptr %5812, align 8, !tbaa !65 + %5814 = getelementptr inbounds i8, ptr %5730, i64 8 + %5815 = load i64, ptr %5814, align 4 + %5816 = icmp eq i64 %5813, -1 + br i1 %5816, label %5830, label %5817 + +5817: ; preds = %5809 + %5818 = zext nneg i32 %5756 to i64 + %5819 = add i64 %5813, %5818 + %5820 = sub i64 %5745, %5819 + %5821 = add i64 %5820, %5815 + %5822 = getelementptr inbounds i8, ptr %0, i64 72 + %5823 = load i8, ptr %5822, align 8, !tbaa !42 + %5824 = and i8 %5823, 1 + %5825 = icmp ne i8 %5824, 0 + %5826 = add i64 %5821, 2147483648 + %5827 = icmp ult i64 %5826, 4294967296 + %5828 = select i1 %5825, i1 true, i1 %5827 + br i1 %5828, label %5912, label %5829 + +5829: ; preds = %5817 + switch i32 %14, label %6031 [ + i32 303, label %5830 + i32 59, label %5830 ] -5834: ; preds = %5833, %5833, %5813 - %5835 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %5815, ptr noundef nonnull %7, i32 noundef 4) #10 - %5836 = icmp eq i32 %5835, 0 - br i1 %5836, label %5837, label %6035, !prof !35 - -5837: ; preds = %5834 - %5838 = load ptr, ptr %11, align 8, !tbaa !29 - %5839 = load ptr, ptr %5745, align 8, !tbaa !80 - %5840 = ptrtoint ptr %5838 to i64 - %5841 = ptrtoint ptr %5839 to i64 - %5842 = sub i64 %5840, %5841 - %5843 = load ptr, ptr %7, align 8, !tbaa !28 - %5844 = getelementptr inbounds i8, ptr %5843, i64 24 - store i64 %5842, ptr %5844, align 8, !tbaa !100 - %5845 = getelementptr inbounds i8, ptr %0, i64 144 - %5846 = load ptr, ptr %5845, align 8, !tbaa !38 - %5847 = load i32, ptr %5846, align 8, !tbaa !94 - %5848 = getelementptr inbounds i8, ptr %5843, i64 16 - store i32 %5847, ptr %5848, align 8, !tbaa !95 - %5849 = getelementptr inbounds i8, ptr %5843, i64 32 - store i64 %5819, ptr %5849, align 8, !tbaa !109 - %5850 = icmp eq i32 %5733, 0 - br i1 %5850, label %5897, label %5851, !prof !37 - -5851: ; preds = %5837 - %5852 = getelementptr inbounds i8, ptr %0, i64 72 - %5853 = load i8, ptr %5852, align 8, !tbaa !42 - %5854 = and i8 %5853, 1 - %5855 = icmp eq i8 %5854, 0 - br i1 %5855, label %5856, label %5868 - -5856: ; preds = %5851 - switch i32 %14, label %5868 [ - i32 303, label %5857 - i32 59, label %5857 +5830: ; preds = %5829, %5829, %5809 + %5831 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder13newRelocEntryEPPNS0_10RelocEntryENS0_9RelocTypeE(ptr noundef nonnull align 8 dereferenceable(336) %5811, ptr noundef nonnull %7, i32 noundef 4) #10 + %5832 = icmp eq i32 %5831, 0 + br i1 %5832, label %5833, label %6031, !prof !35 + +5833: ; preds = %5830 + %5834 = load ptr, ptr %11, align 8, !tbaa !29 + %5835 = load ptr, ptr %5741, align 8, !tbaa !80 + %5836 = ptrtoint ptr %5834 to i64 + %5837 = ptrtoint ptr %5835 to i64 + %5838 = sub i64 %5836, %5837 + %5839 = load ptr, ptr %7, align 8, !tbaa !28 + %5840 = getelementptr inbounds i8, ptr %5839, i64 24 + store i64 %5838, ptr %5840, align 8, !tbaa !100 + %5841 = getelementptr inbounds i8, ptr %0, i64 144 + %5842 = load ptr, ptr %5841, align 8, !tbaa !38 + %5843 = load i32, ptr %5842, align 8, !tbaa !94 + %5844 = getelementptr inbounds i8, ptr %5839, i64 16 + store i32 %5843, ptr %5844, align 8, !tbaa !95 + %5845 = getelementptr inbounds i8, ptr %5839, i64 32 + store i64 %5815, ptr %5845, align 8, !tbaa !109 + %5846 = icmp eq i32 %5729, 0 + br i1 %5846, label %5893, label %5847, !prof !37 + +5847: ; preds = %5833 + %5848 = getelementptr inbounds i8, ptr %0, i64 72 + %5849 = load i8, ptr %5848, align 8, !tbaa !42 + %5850 = and i8 %5849, 1 + %5851 = icmp eq i8 %5850, 0 + br i1 %5851, label %5852, label %5864 + +5852: ; preds = %5847 + switch i32 %14, label %5864 [ + i32 303, label %5853 + i32 59, label %5853 ] -5857: ; preds = %5856, %5856 - br i1 %5740, label %5860, label %5858 - -5858: ; preds = %5857 - store i8 64, ptr %5744, align 1, !tbaa !51 - %5859 = getelementptr inbounds i8, ptr %5744, i64 1 - br label %5860 - -5860: ; preds = %5858, %5857 - %5861 = phi ptr [ %5744, %5857 ], [ %5859, %5858 ] - %5862 = load ptr, ptr %5814, align 8, !tbaa !36 - %5863 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder24addAddressToAddressTableEm(ptr noundef nonnull align 8 dereferenceable(336) %5862, i64 noundef %5819) #10 - %5864 = icmp eq i32 %5863, 0 - br i1 %5864, label %5865, label %6035, !prof !35 - -5865: ; preds = %5860 - %5866 = load ptr, ptr %7, align 8, !tbaa !28 - %5867 = getelementptr inbounds i8, ptr %5866, i64 4 - store i32 5, ptr %5867, align 4, !tbaa !130 - br label %5868 - -5868: ; preds = %5865, %5856, %5851 - %5869 = phi ptr [ %5861, %5865 ], [ %5744, %5856 ], [ %5744, %5851 ] - %5870 = icmp ne i32 %5757, 0 - store i8 15, ptr %5869, align 1, !tbaa !51 - %5871 = zext i1 %5870 to i64 - %5872 = getelementptr inbounds i8, ptr %5869, i64 %5871 - %5873 = trunc i32 %5733 to i8 - store i8 %5873, ptr %5872, align 1, !tbaa !51 - %5874 = getelementptr inbounds i8, ptr %5872, i64 1 - %5875 = icmp ne i32 %5732, 0 - %5876 = trunc i32 %5732 to i8 - %5877 = shl nuw nsw i8 %5876, 3 - %5878 = or disjoint i8 %5877, -64 - store i8 %5878, ptr %5874, align 1, !tbaa !51 - %5879 = zext i1 %5875 to i64 - %5880 = getelementptr inbounds i8, ptr %5874, i64 %5879 - %5881 = load ptr, ptr %7, align 8, !tbaa !28 - %5882 = getelementptr inbounds i8, ptr %5881, i64 8 - store i8 0, ptr %5882, align 1, !tbaa !101 - %5883 = getelementptr inbounds i8, ptr %5881, i64 9 - store i8 0, ptr %5883, align 1, !tbaa !102 - %5884 = getelementptr inbounds i8, ptr %5881, i64 10 - %5885 = getelementptr inbounds i8, ptr %5881, i64 11 - store i8 4, ptr %5885, align 1, !tbaa !103 - %5886 = getelementptr inbounds i8, ptr %5881, i64 12 - %5887 = getelementptr inbounds i8, ptr %5881, i64 13 - store i8 32, ptr %5887, align 1, !tbaa !104 - %5888 = getelementptr inbounds i8, ptr %5881, i64 14 - store i8 0, ptr %5888, align 1, !tbaa !105 - %5889 = getelementptr inbounds i8, ptr %5881, i64 15 - store i8 0, ptr %5889, align 1, !tbaa !106 - %5890 = load ptr, ptr %11, align 8, !tbaa !29 - %5891 = ptrtoint ptr %5880 to i64 - %5892 = ptrtoint ptr %5890 to i64 - %5893 = sub i64 %5891, %5892 - %5894 = trunc i64 %5893 to i8 - %5895 = add i8 %5894, 4 - store i8 %5895, ptr %5884, align 1, !tbaa !107 - store i8 %5894, ptr %5886, align 1, !tbaa !108 - store i32 0, ptr %5880, align 1, !tbaa !51 - %5896 = getelementptr inbounds i8, ptr %5880, i64 4 - br label %6010 - -5897: ; preds = %5837 - %5898 = trunc i32 %5754 to i8 - store i8 %5898, ptr %5744, align 1, !tbaa !51 - %5899 = getelementptr inbounds i8, ptr %5744, i64 1 - %5900 = load ptr, ptr %7, align 8, !tbaa !28 - %5901 = getelementptr inbounds i8, ptr %5900, i64 8 - store i8 0, ptr %5901, align 1, !tbaa !101 - %5902 = getelementptr inbounds i8, ptr %5900, i64 9 - store i8 0, ptr %5902, align 1, !tbaa !102 - %5903 = getelementptr inbounds i8, ptr %5900, i64 10 - %5904 = getelementptr inbounds i8, ptr %5900, i64 11 - store i8 1, ptr %5904, align 1, !tbaa !103 - %5905 = getelementptr inbounds i8, ptr %5900, i64 12 - %5906 = getelementptr inbounds i8, ptr %5900, i64 13 - store i8 8, ptr %5906, align 1, !tbaa !104 - %5907 = getelementptr inbounds i8, ptr %5900, i64 14 - store i8 0, ptr %5907, align 1, !tbaa !105 - %5908 = getelementptr inbounds i8, ptr %5900, i64 15 - store i8 0, ptr %5908, align 1, !tbaa !106 - %5909 = load ptr, ptr %11, align 8, !tbaa !29 - %5910 = ptrtoint ptr %5899 to i64 - %5911 = ptrtoint ptr %5909 to i64 - %5912 = sub i64 %5910, %5911 - %5913 = trunc i64 %5912 to i8 - %5914 = add i8 %5913, 1 - store i8 %5914, ptr %5903, align 1, !tbaa !107 - store i8 %5913, ptr %5905, align 1, !tbaa !108 - store i8 0, ptr %5899, align 1, !tbaa !51 - %5915 = getelementptr inbounds i8, ptr %5744, i64 2 - br label %6010 - -5916: ; preds = %5821, %5784 - %5917 = phi i64 [ %5789, %5784 ], [ %5825, %5821 ] - %5918 = trunc i64 %5917 to i32 - %5919 = add i32 %5760, %5918 - %5920 = add i32 %5919, -130 - %5921 = icmp ult i32 %5920, -256 - %5922 = icmp eq i32 %5754, 0 - %5923 = or i1 %5922, %5921 - %5924 = and i32 %45, 32 - %5925 = icmp ne i32 %5924, 0 - %5926 = or i1 %5925, %5923 - br i1 %5926, label %5934, label %5927 - -5927: ; preds = %5916 - %5928 = or i32 %46, 16 - %5929 = trunc i32 %5754 to i8 - store i8 %5929, ptr %5744, align 1, !tbaa !51 - %5930 = getelementptr inbounds i8, ptr %5744, i64 1 - %5931 = trunc i32 %5919 to i8 - %5932 = add i8 %5931, -2 - store i8 %5932, ptr %5930, align 1, !tbaa !51 - %5933 = getelementptr inbounds i8, ptr %5744, i64 2 - br label %6010 - -5934: ; preds = %5916 - %5935 = icmp eq i32 %5733, 0 - %5936 = and i32 %45, 16 - %5937 = icmp ne i32 %5936, 0 - %5938 = or i1 %5937, %5935 - br i1 %5938, label %6035, label %5939, !prof !62 - -5939: ; preds = %5934 - %5940 = icmp ne i32 %5757, 0 - store i8 15, ptr %5744, align 1, !tbaa !51 - %5941 = zext i1 %5940 to i64 - %5942 = getelementptr inbounds i8, ptr %5744, i64 %5941 - %5943 = trunc i32 %5733 to i8 - store i8 %5943, ptr %5942, align 1, !tbaa !51 - %5944 = getelementptr inbounds i8, ptr %5942, i64 1 - %5945 = icmp ne i32 %5732, 0 - %5946 = trunc i32 %5732 to i8 - %5947 = shl nuw nsw i8 %5946, 3 - %5948 = or disjoint i8 %5947, -64 - store i8 %5948, ptr %5944, align 1, !tbaa !51 - %5949 = zext i1 %5945 to i64 - %5950 = getelementptr inbounds i8, ptr %5944, i64 %5949 - store i32 %5918, ptr %5950, align 1, !tbaa !51 - %5951 = getelementptr inbounds i8, ptr %5950, i64 4 - br label %6010 - -5952: ; preds = %5801, %5797, %5102, %5043 - %5953 = phi ptr [ %4965, %5043 ], [ %4959, %5102 ], [ %5799, %5797 ], [ %5812, %5801 ] - %5954 = phi i32 [ %4966, %5043 ], [ %4603, %5102 ], [ %46, %5797 ], [ %46, %5801 ] - %5955 = phi i8 [ %4967, %5043 ], [ %4605, %5102 ], [ 0, %5797 ], [ 0, %5801 ] - %5956 = phi i64 [ %4968, %5043 ], [ %4606, %5102 ], [ 0, %5797 ], [ 0, %5801 ] - %5957 = phi i8 [ 4, %5043 ], [ 4, %5102 ], [ 1, %5797 ], [ 4, %5801 ] - %5958 = phi i32 [ %5045, %5043 ], [ %5105, %5102 ], [ -1, %5797 ], [ -4, %5801 ] - %5959 = phi ptr [ %5000, %5043 ], [ %5100, %5102 ], [ %5776, %5797 ], [ %5776, %5801 ] - %5960 = getelementptr inbounds i8, ptr %0, i64 152 - %5961 = load ptr, ptr %5960, align 8, !tbaa !80 - %5962 = ptrtoint ptr %5953 to i64 - %5963 = ptrtoint ptr %5961 to i64 - %5964 = sub i64 %5962, %5963 +5853: ; preds = %5852, %5852 + br i1 %5736, label %5856, label %5854 + +5854: ; preds = %5853 + store i8 64, ptr %5740, align 1, !tbaa !51 + %5855 = getelementptr inbounds i8, ptr %5740, i64 1 + br label %5856 + +5856: ; preds = %5854, %5853 + %5857 = phi ptr [ %5740, %5853 ], [ %5855, %5854 ] + %5858 = load ptr, ptr %5810, align 8, !tbaa !36 + %5859 = call noundef i32 @_ZN6asmjit9_abi_1_1010CodeHolder24addAddressToAddressTableEm(ptr noundef nonnull align 8 dereferenceable(336) %5858, i64 noundef %5815) #10 + %5860 = icmp eq i32 %5859, 0 + br i1 %5860, label %5861, label %6031, !prof !35 + +5861: ; preds = %5856 + %5862 = load ptr, ptr %7, align 8, !tbaa !28 + %5863 = getelementptr inbounds i8, ptr %5862, i64 4 + store i32 5, ptr %5863, align 4, !tbaa !130 + br label %5864 + +5864: ; preds = %5861, %5852, %5847 + %5865 = phi ptr [ %5857, %5861 ], [ %5740, %5852 ], [ %5740, %5847 ] + %5866 = icmp ne i32 %5753, 0 + store i8 15, ptr %5865, align 1, !tbaa !51 + %5867 = zext i1 %5866 to i64 + %5868 = getelementptr inbounds i8, ptr %5865, i64 %5867 + %5869 = trunc i32 %5729 to i8 + store i8 %5869, ptr %5868, align 1, !tbaa !51 + %5870 = getelementptr inbounds i8, ptr %5868, i64 1 + %5871 = icmp ne i32 %5728, 0 + %5872 = trunc i32 %5728 to i8 + %5873 = shl nuw nsw i8 %5872, 3 + %5874 = or disjoint i8 %5873, -64 + store i8 %5874, ptr %5870, align 1, !tbaa !51 + %5875 = zext i1 %5871 to i64 + %5876 = getelementptr inbounds i8, ptr %5870, i64 %5875 + %5877 = load ptr, ptr %7, align 8, !tbaa !28 + %5878 = getelementptr inbounds i8, ptr %5877, i64 8 + store i8 0, ptr %5878, align 1, !tbaa !101 + %5879 = getelementptr inbounds i8, ptr %5877, i64 9 + store i8 0, ptr %5879, align 1, !tbaa !102 + %5880 = getelementptr inbounds i8, ptr %5877, i64 10 + %5881 = getelementptr inbounds i8, ptr %5877, i64 11 + store i8 4, ptr %5881, align 1, !tbaa !103 + %5882 = getelementptr inbounds i8, ptr %5877, i64 12 + %5883 = getelementptr inbounds i8, ptr %5877, i64 13 + store i8 32, ptr %5883, align 1, !tbaa !104 + %5884 = getelementptr inbounds i8, ptr %5877, i64 14 + store i8 0, ptr %5884, align 1, !tbaa !105 + %5885 = getelementptr inbounds i8, ptr %5877, i64 15 + store i8 0, ptr %5885, align 1, !tbaa !106 + %5886 = load ptr, ptr %11, align 8, !tbaa !29 + %5887 = ptrtoint ptr %5876 to i64 + %5888 = ptrtoint ptr %5886 to i64 + %5889 = sub i64 %5887, %5888 + %5890 = trunc i64 %5889 to i8 + %5891 = add i8 %5890, 4 + store i8 %5891, ptr %5880, align 1, !tbaa !107 + store i8 %5890, ptr %5882, align 1, !tbaa !108 + store i32 0, ptr %5876, align 1, !tbaa !51 + %5892 = getelementptr inbounds i8, ptr %5876, i64 4 + br label %6006 + +5893: ; preds = %5833 + %5894 = trunc i32 %5750 to i8 + store i8 %5894, ptr %5740, align 1, !tbaa !51 + %5895 = getelementptr inbounds i8, ptr %5740, i64 1 + %5896 = load ptr, ptr %7, align 8, !tbaa !28 + %5897 = getelementptr inbounds i8, ptr %5896, i64 8 + store i8 0, ptr %5897, align 1, !tbaa !101 + %5898 = getelementptr inbounds i8, ptr %5896, i64 9 + store i8 0, ptr %5898, align 1, !tbaa !102 + %5899 = getelementptr inbounds i8, ptr %5896, i64 10 + %5900 = getelementptr inbounds i8, ptr %5896, i64 11 + store i8 1, ptr %5900, align 1, !tbaa !103 + %5901 = getelementptr inbounds i8, ptr %5896, i64 12 + %5902 = getelementptr inbounds i8, ptr %5896, i64 13 + store i8 8, ptr %5902, align 1, !tbaa !104 + %5903 = getelementptr inbounds i8, ptr %5896, i64 14 + store i8 0, ptr %5903, align 1, !tbaa !105 + %5904 = getelementptr inbounds i8, ptr %5896, i64 15 + store i8 0, ptr %5904, align 1, !tbaa !106 + %5905 = load ptr, ptr %11, align 8, !tbaa !29 + %5906 = ptrtoint ptr %5895 to i64 + %5907 = ptrtoint ptr %5905 to i64 + %5908 = sub i64 %5906, %5907 + %5909 = trunc i64 %5908 to i8 + %5910 = add i8 %5909, 1 + store i8 %5910, ptr %5899, align 1, !tbaa !107 + store i8 %5909, ptr %5901, align 1, !tbaa !108 + store i8 0, ptr %5895, align 1, !tbaa !51 + %5911 = getelementptr inbounds i8, ptr %5740, i64 2 + br label %6006 + +5912: ; preds = %5817, %5780 + %5913 = phi i64 [ %5785, %5780 ], [ %5821, %5817 ] + %5914 = trunc i64 %5913 to i32 + %5915 = add i32 %5756, %5914 + %5916 = add i32 %5915, -130 + %5917 = icmp ult i32 %5916, -256 + %5918 = icmp eq i32 %5750, 0 + %5919 = or i1 %5918, %5917 + %5920 = and i32 %45, 32 + %5921 = icmp ne i32 %5920, 0 + %5922 = or i1 %5921, %5919 + br i1 %5922, label %5930, label %5923 + +5923: ; preds = %5912 + %5924 = or i32 %46, 16 + %5925 = trunc i32 %5750 to i8 + store i8 %5925, ptr %5740, align 1, !tbaa !51 + %5926 = getelementptr inbounds i8, ptr %5740, i64 1 + %5927 = trunc i32 %5915 to i8 + %5928 = add i8 %5927, -2 + store i8 %5928, ptr %5926, align 1, !tbaa !51 + %5929 = getelementptr inbounds i8, ptr %5740, i64 2 + br label %6006 + +5930: ; preds = %5912 + %5931 = icmp eq i32 %5729, 0 + %5932 = and i32 %45, 16 + %5933 = icmp ne i32 %5932, 0 + %5934 = or i1 %5933, %5931 + br i1 %5934, label %6031, label %5935, !prof !62 + +5935: ; preds = %5930 + %5936 = icmp ne i32 %5753, 0 + store i8 15, ptr %5740, align 1, !tbaa !51 + %5937 = zext i1 %5936 to i64 + %5938 = getelementptr inbounds i8, ptr %5740, i64 %5937 + %5939 = trunc i32 %5729 to i8 + store i8 %5939, ptr %5938, align 1, !tbaa !51 + %5940 = getelementptr inbounds i8, ptr %5938, i64 1 + %5941 = icmp ne i32 %5728, 0 + %5942 = trunc i32 %5728 to i8 + %5943 = shl nuw nsw i8 %5942, 3 + %5944 = or disjoint i8 %5943, -64 + store i8 %5944, ptr %5940, align 1, !tbaa !51 + %5945 = zext i1 %5941 to i64 + %5946 = getelementptr inbounds i8, ptr %5940, i64 %5945 + store i32 %5914, ptr %5946, align 1, !tbaa !51 + %5947 = getelementptr inbounds i8, ptr %5946, i64 4 + br label %6006 + +5948: ; preds = %5797, %5793, %5098, %5039 + %5949 = phi ptr [ %4961, %5039 ], [ %4955, %5098 ], [ %5795, %5793 ], [ %5808, %5797 ] + %5950 = phi i32 [ %4962, %5039 ], [ %4599, %5098 ], [ %46, %5793 ], [ %46, %5797 ] + %5951 = phi i8 [ %4963, %5039 ], [ %4601, %5098 ], [ 0, %5793 ], [ 0, %5797 ] + %5952 = phi i64 [ %4964, %5039 ], [ %4602, %5098 ], [ 0, %5793 ], [ 0, %5797 ] + %5953 = phi i8 [ 4, %5039 ], [ 4, %5098 ], [ 1, %5793 ], [ 4, %5797 ] + %5954 = phi i32 [ %5041, %5039 ], [ %5101, %5098 ], [ -1, %5793 ], [ -4, %5797 ] + %5955 = phi ptr [ %4996, %5039 ], [ %5096, %5098 ], [ %5772, %5793 ], [ %5772, %5797 ] + %5956 = getelementptr inbounds i8, ptr %0, i64 152 + %5957 = load ptr, ptr %5956, align 8, !tbaa !80 + %5958 = ptrtoint ptr %5949 to i64 + %5959 = ptrtoint ptr %5957 to i64 + %5960 = sub i64 %5958, %5959 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #10 - %5965 = zext nneg i8 %5957 to i64 + %5961 = zext nneg i8 %5953 to i64 store i8 0, ptr %10, align 1, !tbaa !101 - %5966 = getelementptr inbounds i8, ptr %10, i64 1 - store i8 0, ptr %5966, align 1, !tbaa !102 - %5967 = getelementptr inbounds i8, ptr %10, i64 2 - store i8 %5957, ptr %5967, align 1, !tbaa !107 - %5968 = getelementptr inbounds i8, ptr %10, i64 3 - store i8 %5957, ptr %5968, align 1, !tbaa !103 - %5969 = getelementptr inbounds i8, ptr %10, i64 4 - store i8 0, ptr %5969, align 1, !tbaa !108 - %5970 = shl nuw nsw i8 %5957, 3 - %5971 = getelementptr inbounds i8, ptr %10, i64 5 - store i8 %5970, ptr %5971, align 1, !tbaa !104 - %5972 = getelementptr inbounds i8, ptr %10, i64 6 - store i8 0, ptr %5972, align 1, !tbaa !105 - %5973 = getelementptr inbounds i8, ptr %10, i64 7 - store i8 0, ptr %5973, align 1, !tbaa !106 - %5974 = getelementptr inbounds i8, ptr %0, i64 48 - %5975 = load ptr, ptr %5974, align 8, !tbaa !36 - %5976 = getelementptr inbounds i8, ptr %0, i64 144 - %5977 = load ptr, ptr %5976, align 8, !tbaa !38 - %5978 = load i32, ptr %5977, align 8, !tbaa !94 - %5979 = sext i32 %5958 to i64 - %5980 = call noundef ptr @_ZN6asmjit9_abi_1_1010CodeHolder12newLabelLinkEPNS0_10LabelEntryEjmlRKNS0_12OffsetFormatE(ptr noundef nonnull align 8 dereferenceable(336) %5975, ptr noundef nonnull %5959, i32 noundef %5978, i64 noundef %5964, i64 noundef %5979, ptr noundef nonnull align 1 dereferenceable(8) %10) #10 - %5981 = icmp eq ptr %5980, null - br i1 %5981, label %5988, label %5982, !prof !37 - -5982: ; preds = %5952 - %5983 = load ptr, ptr %7, align 8, !tbaa !28 - %5984 = icmp eq ptr %5983, null - br i1 %5984, label %5989, label %5985 - -5985: ; preds = %5982 - %5986 = load i32, ptr %5983, align 8, !tbaa !131 - %5987 = getelementptr inbounds i8, ptr %5980, i64 12 - store i32 %5986, ptr %5987, align 4, !tbaa !132 - br label %5989 - -5988: ; preds = %5952 + %5962 = getelementptr inbounds i8, ptr %10, i64 1 + store i8 0, ptr %5962, align 1, !tbaa !102 + %5963 = getelementptr inbounds i8, ptr %10, i64 2 + store i8 %5953, ptr %5963, align 1, !tbaa !107 + %5964 = getelementptr inbounds i8, ptr %10, i64 3 + store i8 %5953, ptr %5964, align 1, !tbaa !103 + %5965 = getelementptr inbounds i8, ptr %10, i64 4 + store i8 0, ptr %5965, align 1, !tbaa !108 + %5966 = shl nuw nsw i8 %5953, 3 + %5967 = getelementptr inbounds i8, ptr %10, i64 5 + store i8 %5966, ptr %5967, align 1, !tbaa !104 + %5968 = getelementptr inbounds i8, ptr %10, i64 6 + store i8 0, ptr %5968, align 1, !tbaa !105 + %5969 = getelementptr inbounds i8, ptr %10, i64 7 + store i8 0, ptr %5969, align 1, !tbaa !106 + %5970 = getelementptr inbounds i8, ptr %0, i64 48 + %5971 = load ptr, ptr %5970, align 8, !tbaa !36 + %5972 = getelementptr inbounds i8, ptr %0, i64 144 + %5973 = load ptr, ptr %5972, align 8, !tbaa !38 + %5974 = load i32, ptr %5973, align 8, !tbaa !94 + %5975 = sext i32 %5954 to i64 + %5976 = call noundef ptr @_ZN6asmjit9_abi_1_1010CodeHolder12newLabelLinkEPNS0_10LabelEntryEjmlRKNS0_12OffsetFormatE(ptr noundef nonnull align 8 dereferenceable(336) %5971, ptr noundef nonnull %5955, i32 noundef %5974, i64 noundef %5960, i64 noundef %5975, ptr noundef nonnull align 1 dereferenceable(8) %10) #10 + %5977 = icmp eq ptr %5976, null + br i1 %5977, label %5984, label %5978, !prof !37 + +5978: ; preds = %5948 + %5979 = load ptr, ptr %7, align 8, !tbaa !28 + %5980 = icmp eq ptr %5979, null + br i1 %5980, label %5985, label %5981 + +5981: ; preds = %5978 + %5982 = load i32, ptr %5979, align 8, !tbaa !131 + %5983 = getelementptr inbounds i8, ptr %5976, i64 12 + store i32 %5982, ptr %5983, align 4, !tbaa !132 + br label %5985 + +5984: ; preds = %5948 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10 - br label %6035 + br label %6031 -5989: ; preds = %5985, %5982 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %5953, i8 0, i64 %5965, i1 false) - %5990 = getelementptr inbounds i8, ptr %5953, i64 %5965 +5985: ; preds = %5981, %5978 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %5949, i8 0, i64 %5961, i1 false) + %5986 = getelementptr inbounds i8, ptr %5949, i64 %5961 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10 - %5991 = icmp ugt i8 %5955, 3 - br i1 %5991, label %5992, label %5995 - -5992: ; preds = %5989 - %5993 = trunc i64 %5956 to i32 - store i32 %5993, ptr %5990, align 1, !tbaa !51 - %5994 = getelementptr inbounds i8, ptr %5990, i64 4 - br label %6010 - -5995: ; preds = %5989 - %5996 = icmp eq i8 %5955, 0 - br i1 %5996, label %6010, label %5997 - -5997: ; preds = %5995 - %5998 = trunc i64 %5956 to i8 - store i8 %5998, ptr %5990, align 1, !tbaa !51 - %5999 = getelementptr inbounds i8, ptr %5990, i64 1 - %6000 = icmp eq i8 %5955, 1 - br i1 %6000, label %6010, label %6001 - -6001: ; preds = %5997 - %6002 = lshr i64 %5956, 8 - %6003 = trunc i64 %6002 to i8 - store i8 %6003, ptr %5999, align 1, !tbaa !51 - %6004 = getelementptr inbounds i8, ptr %5990, i64 2 - %6005 = icmp eq i8 %5955, 2 - br i1 %6005, label %6010, label %6006 - -6006: ; preds = %6001 - %6007 = lshr i64 %5956, 16 - %6008 = trunc i64 %6007 to i8 - store i8 %6008, ptr %6004, align 1, !tbaa !51 - %6009 = getelementptr inbounds i8, ptr %5990, i64 3 - br label %6010 - -6010: ; preds = %6006, %6001, %5997, %5995, %5992, %5939, %5927, %5897, %5868, %5522, %5518, %5508, %5498, %5494, %5482, %5451, %5447, %5421, %5348, %5340, %5317, %5313, %5308, %5303, %5299, %5294, %4857, %4852, %4848, %4846, %4843, %4815, %4810, %4806, %4804, %4801, %4466, %4451, %4446, %4442, %4440, %4437, %4336, %4303, %4298, %4293, %4289, %4284, %4229, %4224, %4219, %4215, %4210, %153 - %6011 = phi ptr [ %5347, %5340 ], [ %5357, %5348 ], [ %5331, %5317 ], [ %4380, %4336 ], [ %4515, %4466 ], [ %154, %153 ], [ %4211, %4210 ], [ %4217, %4215 ], [ %4222, %4219 ], [ %4227, %4224 ], [ %4232, %4229 ], [ %4285, %4284 ], [ %4291, %4289 ], [ %4296, %4293 ], [ %4301, %4298 ], [ %4306, %4303 ], [ %4435, %4440 ], [ %4444, %4442 ], [ %4449, %4446 ], [ %4454, %4451 ], [ %4439, %4437 ], [ %5295, %5294 ], [ %5301, %5299 ], [ %5306, %5303 ], [ %5311, %5308 ], [ %5316, %5313 ], [ %5990, %5995 ], [ %5999, %5997 ], [ %6004, %6001 ], [ %6009, %6006 ], [ %5994, %5992 ], [ %5531, %5522 ], [ %5520, %5518 ], [ %5517, %5508 ], [ %5507, %5498 ], [ %5496, %5494 ], [ %5493, %5482 ], [ %5460, %5451 ], [ %5449, %5447 ], [ %5445, %5421 ], [ %5933, %5927 ], [ %5951, %5939 ], [ %5915, %5897 ], [ %5896, %5868 ], [ %4841, %4846 ], [ %4850, %4848 ], [ %4855, %4852 ], [ %4860, %4857 ], [ %4845, %4843 ], [ %4799, %4804 ], [ %4808, %4806 ], [ %4813, %4810 ], [ %4818, %4815 ], [ %4803, %4801 ] - %6012 = phi i32 [ %46, %5340 ], [ %46, %5348 ], [ %46, %5317 ], [ %46, %4336 ], [ %46, %4466 ], [ %46, %153 ], [ %4165, %4210 ], [ %4165, %4215 ], [ %4165, %4219 ], [ %4165, %4224 ], [ %4165, %4229 ], [ %4235, %4284 ], [ %4235, %4289 ], [ %4235, %4293 ], [ %4235, %4298 ], [ %4235, %4303 ], [ %4385, %4440 ], [ %4385, %4442 ], [ %4385, %4446 ], [ %4385, %4451 ], [ %4385, %4437 ], [ %5285, %5294 ], [ %5285, %5299 ], [ %5285, %5303 ], [ %5285, %5308 ], [ %5285, %5313 ], [ %5954, %5995 ], [ %5954, %5997 ], [ %5954, %6001 ], [ %5954, %6006 ], [ %5954, %5992 ], [ %46, %5522 ], [ %46, %5518 ], [ %46, %5508 ], [ %46, %5498 ], [ %46, %5494 ], [ %46, %5482 ], [ %46, %5451 ], [ %46, %5447 ], [ %46, %5421 ], [ %5928, %5927 ], [ %46, %5939 ], [ %46, %5897 ], [ %46, %5868 ], [ %4603, %4846 ], [ %4603, %4848 ], [ %4603, %4852 ], [ %4603, %4857 ], [ %4603, %4843 ], [ %4603, %4804 ], [ %4603, %4806 ], [ %4603, %4810 ], [ %4603, %4815 ], [ %4603, %4801 ] - %6013 = phi i8 [ 0, %5340 ], [ 0, %5348 ], [ 0, %5317 ], [ 0, %4336 ], [ 0, %4466 ], [ %167, %153 ], [ %4167, %4210 ], [ %4167, %4215 ], [ %4167, %4219 ], [ %4167, %4224 ], [ %4167, %4229 ], [ %4237, %4284 ], [ %4237, %4289 ], [ %4237, %4293 ], [ %4237, %4298 ], [ %4237, %4303 ], [ 0, %4440 ], [ 1, %4442 ], [ 2, %4446 ], [ 3, %4451 ], [ 4, %4437 ], [ %5286, %5294 ], [ %5286, %5299 ], [ %5286, %5303 ], [ %5286, %5308 ], [ %5286, %5313 ], [ 0, %5995 ], [ 1, %5997 ], [ 2, %6001 ], [ 3, %6006 ], [ 4, %5992 ], [ %5362, %5522 ], [ 1, %5518 ], [ 0, %5508 ], [ %5362, %5498 ], [ 1, %5494 ], [ 0, %5482 ], [ %5362, %5451 ], [ 1, %5447 ], [ 0, %5421 ], [ 0, %5927 ], [ 0, %5939 ], [ 0, %5897 ], [ 0, %5868 ], [ 0, %4846 ], [ 1, %4848 ], [ 2, %4852 ], [ 3, %4857 ], [ 4, %4843 ], [ 0, %4804 ], [ 1, %4806 ], [ 2, %4810 ], [ 3, %4815 ], [ 4, %4801 ] - %6014 = phi i8 [ 0, %5340 ], [ 0, %5348 ], [ 0, %5317 ], [ 0, %4336 ], [ 0, %4466 ], [ %167, %153 ], [ 0, %4210 ], [ 0, %4215 ], [ 0, %4219 ], [ 0, %4224 ], [ 0, %4229 ], [ 0, %4284 ], [ 0, %4289 ], [ 0, %4293 ], [ 0, %4298 ], [ 0, %4303 ], [ 0, %4440 ], [ 0, %4442 ], [ 0, %4446 ], [ 0, %4451 ], [ 0, %4437 ], [ 0, %5294 ], [ 0, %5299 ], [ 0, %5303 ], [ 0, %5308 ], [ 0, %5313 ], [ %5957, %5995 ], [ %5957, %5997 ], [ %5957, %6001 ], [ %5957, %6006 ], [ %5957, %5992 ], [ 0, %5522 ], [ 0, %5518 ], [ 0, %5508 ], [ 0, %5498 ], [ 0, %5494 ], [ 0, %5482 ], [ 0, %5451 ], [ 0, %5447 ], [ 0, %5421 ], [ 0, %5927 ], [ 0, %5939 ], [ 0, %5897 ], [ 0, %5868 ], [ 0, %4846 ], [ 0, %4848 ], [ 0, %4852 ], [ 0, %4857 ], [ 0, %4843 ], [ 0, %4804 ], [ 0, %4806 ], [ 0, %4810 ], [ 0, %4815 ], [ 0, %4801 ] - %6015 = and i32 %6012, 1 - %6016 = icmp eq i32 %6015, 0 - %6017 = getelementptr inbounds i8, ptr %0, i64 56 - %6018 = load ptr, ptr %6017, align 8 - %6019 = icmp eq ptr %6018, null - %6020 = select i1 %6016, i1 true, i1 %6019 - br i1 %6020, label %6024, label %6021 - -6021: ; preds = %6010 - %6022 = zext nneg i8 %6014 to i32 - %6023 = zext i8 %6013 to i32 - call void @_ZN6asmjit9_abi_1_1012EmitterUtils21logInstructionEmittedEPNS0_13BaseAssemblerEjNS0_11InstOptionsERKNS0_8Operand_ES7_S7_PS6_jjPh(ptr noundef nonnull %0, i32 noundef %14, i32 noundef %6012, ptr noundef nonnull align 4 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(16) %4, ptr noundef %5, i32 noundef %6022, i32 noundef %6023, ptr noundef %6011) - br label %6024 - -6024: ; preds = %6021, %6010 + %5987 = icmp ugt i8 %5951, 3 + br i1 %5987, label %5988, label %5991 + +5988: ; preds = %5985 + %5989 = trunc i64 %5952 to i32 + store i32 %5989, ptr %5986, align 1, !tbaa !51 + %5990 = getelementptr inbounds i8, ptr %5986, i64 4 + br label %6006 + +5991: ; preds = %5985 + %5992 = icmp eq i8 %5951, 0 + br i1 %5992, label %6006, label %5993 + +5993: ; preds = %5991 + %5994 = trunc i64 %5952 to i8 + store i8 %5994, ptr %5986, align 1, !tbaa !51 + %5995 = getelementptr inbounds i8, ptr %5986, i64 1 + %5996 = icmp eq i8 %5951, 1 + br i1 %5996, label %6006, label %5997 + +5997: ; preds = %5993 + %5998 = lshr i64 %5952, 8 + %5999 = trunc i64 %5998 to i8 + store i8 %5999, ptr %5995, align 1, !tbaa !51 + %6000 = getelementptr inbounds i8, ptr %5986, i64 2 + %6001 = icmp eq i8 %5951, 2 + br i1 %6001, label %6006, label %6002 + +6002: ; preds = %5997 + %6003 = lshr i64 %5952, 16 + %6004 = trunc i64 %6003 to i8 + store i8 %6004, ptr %6000, align 1, !tbaa !51 + %6005 = getelementptr inbounds i8, ptr %5986, i64 3 + br label %6006 + +6006: ; preds = %6002, %5997, %5993, %5991, %5988, %5935, %5923, %5893, %5864, %5518, %5514, %5504, %5494, %5490, %5478, %5447, %5443, %5417, %5344, %5336, %5313, %5309, %5304, %5299, %5295, %5290, %4853, %4848, %4844, %4842, %4839, %4811, %4806, %4802, %4800, %4797, %4462, %4447, %4442, %4438, %4436, %4433, %4332, %4299, %4294, %4289, %4285, %4280, %4225, %4220, %4215, %4211, %4206, %153 + %6007 = phi ptr [ %5343, %5336 ], [ %5353, %5344 ], [ %5327, %5313 ], [ %4376, %4332 ], [ %4511, %4462 ], [ %154, %153 ], [ %4207, %4206 ], [ %4213, %4211 ], [ %4218, %4215 ], [ %4223, %4220 ], [ %4228, %4225 ], [ %4281, %4280 ], [ %4287, %4285 ], [ %4292, %4289 ], [ %4297, %4294 ], [ %4302, %4299 ], [ %4431, %4436 ], [ %4440, %4438 ], [ %4445, %4442 ], [ %4450, %4447 ], [ %4435, %4433 ], [ %5291, %5290 ], [ %5297, %5295 ], [ %5302, %5299 ], [ %5307, %5304 ], [ %5312, %5309 ], [ %5986, %5991 ], [ %5995, %5993 ], [ %6000, %5997 ], [ %6005, %6002 ], [ %5990, %5988 ], [ %5527, %5518 ], [ %5516, %5514 ], [ %5513, %5504 ], [ %5503, %5494 ], [ %5492, %5490 ], [ %5489, %5478 ], [ %5456, %5447 ], [ %5445, %5443 ], [ %5441, %5417 ], [ %5929, %5923 ], [ %5947, %5935 ], [ %5911, %5893 ], [ %5892, %5864 ], [ %4837, %4842 ], [ %4846, %4844 ], [ %4851, %4848 ], [ %4856, %4853 ], [ %4841, %4839 ], [ %4795, %4800 ], [ %4804, %4802 ], [ %4809, %4806 ], [ %4814, %4811 ], [ %4799, %4797 ] + %6008 = phi i32 [ %46, %5336 ], [ %46, %5344 ], [ %46, %5313 ], [ %46, %4332 ], [ %46, %4462 ], [ %46, %153 ], [ %4161, %4206 ], [ %4161, %4211 ], [ %4161, %4215 ], [ %4161, %4220 ], [ %4161, %4225 ], [ %4231, %4280 ], [ %4231, %4285 ], [ %4231, %4289 ], [ %4231, %4294 ], [ %4231, %4299 ], [ %4381, %4436 ], [ %4381, %4438 ], [ %4381, %4442 ], [ %4381, %4447 ], [ %4381, %4433 ], [ %5281, %5290 ], [ %5281, %5295 ], [ %5281, %5299 ], [ %5281, %5304 ], [ %5281, %5309 ], [ %5950, %5991 ], [ %5950, %5993 ], [ %5950, %5997 ], [ %5950, %6002 ], [ %5950, %5988 ], [ %46, %5518 ], [ %46, %5514 ], [ %46, %5504 ], [ %46, %5494 ], [ %46, %5490 ], [ %46, %5478 ], [ %46, %5447 ], [ %46, %5443 ], [ %46, %5417 ], [ %5924, %5923 ], [ %46, %5935 ], [ %46, %5893 ], [ %46, %5864 ], [ %4599, %4842 ], [ %4599, %4844 ], [ %4599, %4848 ], [ %4599, %4853 ], [ %4599, %4839 ], [ %4599, %4800 ], [ %4599, %4802 ], [ %4599, %4806 ], [ %4599, %4811 ], [ %4599, %4797 ] + %6009 = phi i8 [ 0, %5336 ], [ 0, %5344 ], [ 0, %5313 ], [ 0, %4332 ], [ 0, %4462 ], [ %167, %153 ], [ %4163, %4206 ], [ %4163, %4211 ], [ %4163, %4215 ], [ %4163, %4220 ], [ %4163, %4225 ], [ %4233, %4280 ], [ %4233, %4285 ], [ %4233, %4289 ], [ %4233, %4294 ], [ %4233, %4299 ], [ 0, %4436 ], [ 1, %4438 ], [ 2, %4442 ], [ 3, %4447 ], [ 4, %4433 ], [ %5282, %5290 ], [ %5282, %5295 ], [ %5282, %5299 ], [ %5282, %5304 ], [ %5282, %5309 ], [ 0, %5991 ], [ 1, %5993 ], [ 2, %5997 ], [ 3, %6002 ], [ 4, %5988 ], [ %5358, %5518 ], [ 1, %5514 ], [ 0, %5504 ], [ %5358, %5494 ], [ 1, %5490 ], [ 0, %5478 ], [ %5358, %5447 ], [ 1, %5443 ], [ 0, %5417 ], [ 0, %5923 ], [ 0, %5935 ], [ 0, %5893 ], [ 0, %5864 ], [ 0, %4842 ], [ 1, %4844 ], [ 2, %4848 ], [ 3, %4853 ], [ 4, %4839 ], [ 0, %4800 ], [ 1, %4802 ], [ 2, %4806 ], [ 3, %4811 ], [ 4, %4797 ] + %6010 = phi i8 [ 0, %5336 ], [ 0, %5344 ], [ 0, %5313 ], [ 0, %4332 ], [ 0, %4462 ], [ %167, %153 ], [ 0, %4206 ], [ 0, %4211 ], [ 0, %4215 ], [ 0, %4220 ], [ 0, %4225 ], [ 0, %4280 ], [ 0, %4285 ], [ 0, %4289 ], [ 0, %4294 ], [ 0, %4299 ], [ 0, %4436 ], [ 0, %4438 ], [ 0, %4442 ], [ 0, %4447 ], [ 0, %4433 ], [ 0, %5290 ], [ 0, %5295 ], [ 0, %5299 ], [ 0, %5304 ], [ 0, %5309 ], [ %5953, %5991 ], [ %5953, %5993 ], [ %5953, %5997 ], [ %5953, %6002 ], [ %5953, %5988 ], [ 0, %5518 ], [ 0, %5514 ], [ 0, %5504 ], [ 0, %5494 ], [ 0, %5490 ], [ 0, %5478 ], [ 0, %5447 ], [ 0, %5443 ], [ 0, %5417 ], [ 0, %5923 ], [ 0, %5935 ], [ 0, %5893 ], [ 0, %5864 ], [ 0, %4842 ], [ 0, %4844 ], [ 0, %4848 ], [ 0, %4853 ], [ 0, %4839 ], [ 0, %4800 ], [ 0, %4802 ], [ 0, %4806 ], [ 0, %4811 ], [ 0, %4797 ] + %6011 = and i32 %6008, 1 + %6012 = icmp eq i32 %6011, 0 + %6013 = getelementptr inbounds i8, ptr %0, i64 56 + %6014 = load ptr, ptr %6013, align 8 + %6015 = icmp eq ptr %6014, null + %6016 = select i1 %6012, i1 true, i1 %6015 + br i1 %6016, label %6020, label %6017 + +6017: ; preds = %6006 + %6018 = zext nneg i8 %6010 to i32 + %6019 = zext i8 %6009 to i32 + call void @_ZN6asmjit9_abi_1_1012EmitterUtils21logInstructionEmittedEPNS0_13BaseAssemblerEjNS0_11InstOptionsERKNS0_8Operand_ES7_S7_PS6_jjPh(ptr noundef nonnull %0, i32 noundef %14, i32 noundef %6008, ptr noundef nonnull align 4 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(16) %4, ptr noundef %5, i32 noundef %6018, i32 noundef %6019, ptr noundef %6007) + br label %6020 + +6020: ; preds = %6017, %6006 call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %41, i8 0, i64 20, i1 false) - %6025 = getelementptr inbounds i8, ptr %0, i64 144 - %6026 = load ptr, ptr %6025, align 8, !tbaa !38 - %6027 = getelementptr inbounds i8, ptr %0, i64 152 - %6028 = load ptr, ptr %6027, align 8, !tbaa !80 - %6029 = ptrtoint ptr %6011 to i64 - %6030 = ptrtoint ptr %6028 to i64 - %6031 = sub i64 %6029, %6030 - store ptr %6011, ptr %11, align 8, !tbaa !29 - %6032 = getelementptr inbounds i8, ptr %6026, i64 80 - %6033 = load i64, ptr %6032, align 8, !tbaa !134 - %6034 = call noundef i64 @llvm.umax.i64(i64 %6033, i64 %6031) - store i64 %6034, ptr %6032, align 8, !tbaa !135 - br label %6039 - -6035: ; preds = %5386, %5988, %5934, %5860, %5834, %5833, %5800, %5771, %5763, %5737, %5730, %5727, %5651, %5645, %5608, %5401, %5393, %5274, %5247, %5232, %5203, %5128, %5095, %5087, %5046, %5002, %4995, %4989, %4978, %4865, %4861, %4752, %4697, %4518, %4455, %4381, %4328, %4307, %4233, %4163, %4133, %4128, %4123, %4118, %4116, %4075, %4054, %3996, %3991, %3956, %3917, %3889, %3855, %3789, %3766, %3733, %3684, %3626, %3606, %3566, %3534, %3511, %3487, %3465, %3447, %3413, %3365, %3340, %3335, %3330, %3328, %3295, %3273, %3261, %3217, %3213, %3209, %3205, %3201, %3197, %3191, %3173, %3162, %3098, %3091, %3076, %3040, %3023, %3021, %3019, %3009, %2971, %2963, %2940, %2919, %2894, %2883, %2843, %2822, %2799, %2788, %2767, %2760, %2750, %2709, %2706, %2658, %2651, %2639, %2610, %2587, %2559, %2547, %2546, %2540, %2537, %2524, %2520, %2514, %2509, %2507, %2494, %2482, %2476, %2472, %2468, %2467, %2463, %2452, %2439, %2414, %2321, %2320, %2298, %2284, %2231, %2171, %2159, %2156, %2146, %2140, %2138, %2125, %2117, %2111, %2098, %2090, %2084, %2070, %2054, %2052, %2011, %1995, %1988, %1986, %1970, %1967, %1929, %1919, %1913, %1898, %1888, %1883, %1865, %1860, %1850, %1842, %1834, %1828, %1811, %1790, %1789, %1777, %1769, %1767, %1757, %1725, %1716, %1703, %1689, %1673, %1659, %1658, %1642, %1340, %1339, %1318, %1274, %1261, %1249, %1237, %1233, %1228, %1215, %1201, %1180, %1158, %1148, %1109, %1099, %1087, %1079, %1077, %1060, %1039, %1038, %985, %918, %904, %875, %871, %867, %865, %805, %803, %795, %787, %767, %732, %730, %702, %651, %648, %530, %529, %519, %484, %474, %461, %454, %443, %435, %434, %414, %412, %399, %378, %370, %362, %361, %351, %329, %317, %303, %295, %279, %271, %266, %260, %238, %233, %221, %220, %212, %211, %207, %206, %189, %179, %153, %141, %134, %118, %112, %105, %78, %70, %55 - %6036 = phi i32 [ %4966, %5046 ], [ %4966, %5002 ], [ %46, %78 ], [ %46, %70 ], [ %5954, %5988 ], [ %4966, %4978 ], [ %4966, %4995 ], [ %4603, %5095 ], [ %46, %55 ], [ %46, %153 ], [ %46, %4133 ], [ %46, %5727 ], [ %46, %4128 ], [ %46, %4123 ], [ %46, %4118 ], [ %46, %4116 ], [ %46, %4054 ], [ %46, %3917 ], [ %46, %3889 ], [ %46, %3855 ], [ %46, %3766 ], [ %46, %3733 ], [ %46, %3684 ], [ %46, %3626 ], [ %46, %3487 ], [ %46, %3465 ], [ %46, %3447 ], [ %46, %3328 ], [ %46, %3273 ], [ %46, %3295 ], [ %46, %3261 ], [ %46, %3173 ], [ %46, %3162 ], [ %46, %3098 ], [ %46, %3076 ], [ %46, %3040 ], [ %46, %3023 ], [ %46, %3021 ], [ %46, %3019 ], [ %46, %3009 ], [ %46, %2971 ], [ %46, %2963 ], [ %46, %2919 ], [ %46, %2894 ], [ %46, %2883 ], [ %46, %2799 ], [ %46, %2788 ], [ %46, %2767 ], [ %46, %2750 ], [ %46, %2709 ], [ %46, %2639 ], [ %46, %2658 ], [ %46, %2651 ], [ %46, %2587 ], [ %46, %2559 ], [ %46, %2546 ], [ %46, %2547 ], [ %46, %2540 ], [ %46, %2537 ], [ %46, %2524 ], [ %46, %2507 ], [ %46, %2467 ], [ %46, %2494 ], [ %46, %2463 ], [ %46, %2439 ], [ %46, %2452 ], [ %46, %2414 ], [ %46, %2320 ], [ %46, %2298 ], [ %46, %2231 ], [ %46, %2146 ], [ %46, %4307 ], [ %46, %2140 ], [ %46, %2138 ], [ %46, %2117 ], [ %46, %2111 ], [ %46, %2090 ], [ %46, %2084 ], [ %46, %2052 ], [ %46, %2070 ], [ %46, %2054 ], [ %46, %2011 ], [ %1969, %1967 ], [ %1969, %1970 ], [ %46, %1988 ], [ %46, %1995 ], [ %46, %1929 ], [ %46, %1883 ], [ %46, %1919 ], [ %46, %1898 ], [ %46, %1860 ], [ %46, %1842 ], [ %46, %1828 ], [ %46, %1789 ], [ %46, %1811 ], [ %46, %1790 ], [ %46, %1767 ], [ %46, %1757 ], [ %46, %1725 ], [ %46, %1658 ], [ %46, %1716 ], [ %46, %1689 ], [ %46, %1659 ], [ %46, %1261 ], [ %46, %1339 ], [ %46, %1249 ], [ %46, %1201 ], [ %46, %1228 ], [ %46, %1180 ], [ %46, %1158 ], [ %46, %1109 ], [ %46, %1087 ], [ %46, %1077 ], [ %46, %1038 ], [ %46, %1060 ], [ %46, %1039 ], [ %46, %266 ], [ %46, %317 ], [ %46, %303 ], [ %46, %295 ], [ %46, %279 ], [ %46, %271 ], [ %46, %329 ], [ %46, %918 ], [ %46, %875 ], [ %46, %803 ], [ %46, %795 ], [ %46, %767 ], [ %46, %732 ], [ %46, %730 ], [ %46, %519 ], [ %46, %484 ], [ %46, %474 ], [ %46, %461 ], [ %46, %434 ], [ %46, %454 ], [ %46, %443 ], [ %46, %435 ], [ %46, %414 ], [ %46, %412 ], [ %46, %399 ], [ %46, %378 ], [ %46, %361 ], [ %46, %370 ], [ %46, %260 ], [ %46, %233 ], [ %46, %238 ], [ %46, %220 ], [ %46, %211 ], [ %46, %212 ], [ %46, %206 ], [ %46, %207 ], [ %46, %189 ], [ %46, %179 ], [ %46, %2482 ], [ %46, %105 ], [ %46, %134 ], [ %46, %141 ], [ %4165, %4163 ], [ %4235, %4233 ], [ %46, %4328 ], [ %4385, %4381 ], [ %46, %4455 ], [ %4521, %4518 ], [ %46, %5608 ], [ %5134, %5203 ], [ %46, %1703 ], [ %46, %1673 ], [ %4603, %5128 ], [ %46, %3330 ], [ %46, %3335 ], [ %46, %651 ], [ %46, %5645 ], [ %46, %5651 ], [ %46, %2171 ], [ %46, %985 ], [ %46, %805 ], [ %46, %530 ], [ %46, %2321 ], [ %46, %2156 ], [ %46, %2284 ], [ %46, %1986 ], [ %46, %1913 ], [ %46, %1148 ], [ %46, %904 ], [ %46, %787 ], [ %46, %351 ], [ %46, %3217 ], [ %46, %221 ], [ %46, %362 ], [ %46, %648 ], [ %46, %1079 ], [ %46, %1237 ], [ %46, %1233 ], [ %46, %1769 ], [ %46, %1777 ], [ %46, %1834 ], [ %46, %2159 ], [ %46, %2476 ], [ %46, %2472 ], [ %46, %2520 ], [ %46, %2514 ], [ %46, %2706 ], [ %46, %2760 ], [ %46, %3091 ], [ %46, %3213 ], [ %46, %3209 ], [ %46, %3205 ], [ %46, %3201 ], [ %46, %3197 ], [ %46, %3191 ], [ %46, %3365 ], [ %46, %3413 ], [ %46, %3511 ], [ %46, %3566 ], [ %46, %3956 ], [ %46, %3991 ], [ %46, %3996 ], [ %4603, %4697 ], [ %4966, %4989 ], [ %4603, %5087 ], [ %4603, %5274 ], [ %4603, %5247 ], [ %4603, %5232 ], [ %46, %5730 ], [ %46, %5800 ], [ %46, %5934 ], [ %46, %5771 ], [ %46, %5763 ], [ %46, %5860 ], [ %46, %5834 ], [ %4603, %4752 ], [ %46, %529 ], [ %46, %1318 ], [ %46, %1340 ], [ %46, %2468 ], [ %46, %2509 ], [ %46, %3340 ], [ %46, %5737 ], [ %4603, %4861 ], [ %4603, %4865 ], [ %46, %5833 ], [ %46, %112 ], [ %46, %118 ], [ %46, %702 ], [ %46, %865 ], [ %46, %871 ], [ %46, %867 ], [ %46, %1099 ], [ %46, %1215 ], [ %46, %1274 ], [ %46, %1642 ], [ %46, %1850 ], [ %46, %1865 ], [ %46, %1888 ], [ %46, %2098 ], [ %46, %2125 ], [ %46, %2610 ], [ %46, %2822 ], [ %46, %2843 ], [ %46, %2940 ], [ %46, %3534 ], [ %46, %3606 ], [ %46, %3789 ], [ %46, %4075 ], [ %46, %5401 ], [ %46, %5393 ], [ %46, %5386 ] - %6037 = phi i32 [ %5047, %5046 ], [ %5003, %5002 ], [ %94, %78 ], [ %64, %70 ], [ 1, %5988 ], [ 1, %4978 ], [ 12, %4995 ], [ 12, %5095 ], [ 26, %55 ], [ 26, %153 ], [ 26, %4133 ], [ 26, %5727 ], [ 26, %4128 ], [ 26, %4123 ], [ 26, %4118 ], [ 26, %4116 ], [ 26, %4054 ], [ 26, %3917 ], [ 26, %3889 ], [ 26, %3855 ], [ 26, %3766 ], [ 26, %3733 ], [ 26, %3684 ], [ 26, %3626 ], [ 26, %3487 ], [ 26, %3465 ], [ 26, %3447 ], [ 26, %3328 ], [ 26, %3273 ], [ 26, %3295 ], [ 26, %3261 ], [ 26, %3173 ], [ 26, %3162 ], [ 26, %3098 ], [ 26, %3076 ], [ 26, %3040 ], [ 26, %3023 ], [ 26, %3021 ], [ 26, %3019 ], [ 26, %3009 ], [ 26, %2971 ], [ 26, %2963 ], [ 26, %2919 ], [ 26, %2894 ], [ 26, %2883 ], [ 26, %2799 ], [ 26, %2788 ], [ 26, %2767 ], [ 26, %2750 ], [ 26, %2709 ], [ 26, %2639 ], [ 26, %2658 ], [ 26, %2651 ], [ 26, %2587 ], [ 26, %2559 ], [ 26, %2546 ], [ 26, %2547 ], [ 26, %2540 ], [ 26, %2537 ], [ 26, %2524 ], [ 26, %2507 ], [ 26, %2467 ], [ 26, %2494 ], [ 26, %2463 ], [ 26, %2439 ], [ 26, %2452 ], [ 26, %2414 ], [ 26, %2320 ], [ 26, %2298 ], [ 26, %2231 ], [ 26, %2146 ], [ 26, %4307 ], [ 26, %2140 ], [ 26, %2138 ], [ 26, %2117 ], [ 26, %2111 ], [ 26, %2090 ], [ 26, %2084 ], [ 26, %2052 ], [ 26, %2070 ], [ 26, %2054 ], [ 26, %2011 ], [ 26, %1967 ], [ 26, %1970 ], [ 26, %1988 ], [ 26, %1995 ], [ 26, %1929 ], [ 26, %1883 ], [ 26, %1919 ], [ 26, %1898 ], [ 26, %1860 ], [ 26, %1842 ], [ 26, %1828 ], [ 26, %1789 ], [ 26, %1811 ], [ 26, %1790 ], [ 26, %1767 ], [ 26, %1757 ], [ 26, %1725 ], [ 26, %1658 ], [ 26, %1716 ], [ 26, %1689 ], [ 26, %1659 ], [ 26, %1261 ], [ 26, %1339 ], [ 26, %1249 ], [ 26, %1201 ], [ 26, %1228 ], [ 26, %1180 ], [ 26, %1158 ], [ 26, %1109 ], [ 26, %1087 ], [ 26, %1077 ], [ 26, %1038 ], [ 26, %1060 ], [ 26, %1039 ], [ 26, %266 ], [ 26, %317 ], [ 26, %303 ], [ 26, %295 ], [ 26, %279 ], [ 26, %271 ], [ 26, %329 ], [ 26, %918 ], [ 26, %875 ], [ 26, %803 ], [ 26, %795 ], [ 26, %767 ], [ 26, %732 ], [ 26, %730 ], [ 26, %519 ], [ 26, %484 ], [ 26, %474 ], [ 26, %461 ], [ 26, %434 ], [ 26, %454 ], [ 26, %443 ], [ 26, %435 ], [ 26, %414 ], [ 26, %412 ], [ 26, %399 ], [ 26, %378 ], [ 26, %361 ], [ 26, %370 ], [ 26, %260 ], [ 26, %233 ], [ 26, %238 ], [ 26, %220 ], [ 26, %211 ], [ 26, %212 ], [ 26, %206 ], [ 26, %207 ], [ 26, %189 ], [ 26, %179 ], [ 26, %2482 ], [ 33, %105 ], [ 36, %134 ], [ 36, %141 ], [ 37, %4163 ], [ 37, %4233 ], [ 37, %4328 ], [ 37, %4381 ], [ 37, %4455 ], [ 37, %4518 ], [ 42, %5608 ], [ 43, %5203 ], [ 43, %1703 ], [ 43, %1673 ], [ 44, %5128 ], [ 29, %3330 ], [ 29, %3335 ], [ 50, %651 ], [ 41, %5645 ], [ 41, %5651 ], [ 53, %2171 ], [ 53, %985 ], [ 53, %805 ], [ 53, %530 ], [ 53, %2321 ], [ 52, %2156 ], [ 52, %2284 ], [ 52, %1986 ], [ 52, %1913 ], [ 52, %1148 ], [ 52, %904 ], [ 52, %787 ], [ 52, %351 ], [ 60, %3217 ], [ 26, %221 ], [ 26, %362 ], [ 50, %648 ], [ 26, %1079 ], [ 50, %1237 ], [ 50, %1233 ], [ 26, %1769 ], [ 26, %1777 ], [ 26, %1834 ], [ 53, %2159 ], [ 26, %2476 ], [ 26, %2472 ], [ 26, %2520 ], [ 26, %2514 ], [ 26, %2706 ], [ 26, %2760 ], [ 26, %3091 ], [ 26, %3213 ], [ 26, %3209 ], [ 26, %3205 ], [ 26, %3201 ], [ 26, %3197 ], [ 26, %3191 ], [ 26, %3365 ], [ 26, %3413 ], [ 26, %3511 ], [ 26, %3566 ], [ 26, %3956 ], [ 26, %3991 ], [ 26, %3996 ], [ 43, %4697 ], [ 12, %4989 ], [ 12, %5087 ], [ 43, %5274 ], [ 43, %5247 ], [ 43, %5232 ], [ 37, %5730 ], [ 48, %5800 ], [ 48, %5934 ], [ 12, %5771 ], [ 12, %5763 ], [ %5863, %5860 ], [ %5835, %5834 ], [ %4755, %4752 ], [ 26, %529 ], [ 26, %1318 ], [ 26, %1340 ], [ 26, %2468 ], [ 26, %2509 ], [ 26, %3340 ], [ 26, %5737 ], [ 43, %4861 ], [ 46, %4865 ], [ 48, %5833 ], [ 34, %112 ], [ 35, %118 ], [ 52, %702 ], [ 26, %865 ], [ 26, %871 ], [ 26, %867 ], [ 52, %1099 ], [ 43, %1215 ], [ 26, %1274 ], [ 52, %1642 ], [ 52, %1850 ], [ 49, %1865 ], [ 49, %1888 ], [ 53, %2098 ], [ 53, %2125 ], [ 26, %2610 ], [ 26, %2822 ], [ 26, %2843 ], [ 26, %2940 ], [ 26, %3534 ], [ 26, %3606 ], [ 26, %3789 ], [ 26, %4075 ], [ 42, %5401 ], [ 42, %5393 ], [ 42, %5386 ] - %6038 = call noundef i32 @_ZN6asmjit9_abi_1_1012EmitterUtils20logInstructionFailedEPNS0_11BaseEmitterEjjNS0_11InstOptionsERKNS0_8Operand_ES7_S7_PS6_(ptr noundef nonnull %0, i32 noundef %6037, i32 noundef %14, i32 noundef %6036, ptr noundef nonnull align 4 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(16) %4, ptr noundef %5) - br label %6039 - -6039: ; preds = %6035, %6024, %53 - %6040 = phi i32 [ %54, %53 ], [ %6038, %6035 ], [ 0, %6024 ] + %6021 = getelementptr inbounds i8, ptr %0, i64 144 + %6022 = load ptr, ptr %6021, align 8, !tbaa !38 + %6023 = getelementptr inbounds i8, ptr %0, i64 152 + %6024 = load ptr, ptr %6023, align 8, !tbaa !80 + %6025 = ptrtoint ptr %6007 to i64 + %6026 = ptrtoint ptr %6024 to i64 + %6027 = sub i64 %6025, %6026 + store ptr %6007, ptr %11, align 8, !tbaa !29 + %6028 = getelementptr inbounds i8, ptr %6022, i64 80 + %6029 = load i64, ptr %6028, align 8, !tbaa !134 + %6030 = call noundef i64 @llvm.umax.i64(i64 %6029, i64 %6027) + store i64 %6030, ptr %6028, align 8, !tbaa !135 + br label %6035 + +6031: ; preds = %5382, %5984, %5930, %5856, %5830, %5829, %5796, %5767, %5759, %5733, %5726, %5723, %5647, %5641, %5604, %5397, %5389, %5270, %5243, %5228, %5199, %5124, %5091, %5083, %5042, %4998, %4991, %4985, %4974, %4861, %4857, %4748, %4693, %4514, %4451, %4377, %4324, %4303, %4229, %4159, %4129, %4124, %4119, %4114, %4112, %4071, %4050, %3992, %3987, %3952, %3913, %3885, %3851, %3785, %3762, %3729, %3680, %3622, %3602, %3562, %3530, %3507, %3483, %3461, %3443, %3409, %3361, %3336, %3331, %3326, %3324, %3291, %3269, %3257, %3213, %3209, %3205, %3201, %3197, %3193, %3187, %3169, %3158, %3095, %3088, %3073, %3037, %3020, %3018, %3016, %3006, %2968, %2960, %2937, %2916, %2891, %2880, %2840, %2819, %2796, %2785, %2765, %2758, %2748, %2707, %2704, %2656, %2649, %2637, %2608, %2585, %2557, %2545, %2544, %2538, %2535, %2522, %2518, %2512, %2507, %2505, %2492, %2480, %2474, %2470, %2466, %2465, %2461, %2450, %2437, %2412, %2319, %2318, %2296, %2282, %2229, %2169, %2157, %2154, %2144, %2138, %2136, %2123, %2115, %2109, %2096, %2088, %2082, %2068, %2052, %2050, %2009, %1993, %1986, %1984, %1968, %1965, %1927, %1917, %1911, %1896, %1886, %1881, %1863, %1858, %1848, %1841, %1833, %1827, %1810, %1789, %1788, %1776, %1768, %1766, %1756, %1724, %1715, %1702, %1688, %1672, %1658, %1657, %1641, %1339, %1338, %1317, %1273, %1260, %1248, %1236, %1232, %1227, %1214, %1200, %1179, %1157, %1147, %1108, %1098, %1087, %1079, %1077, %1060, %1039, %1038, %985, %918, %904, %875, %871, %867, %865, %805, %803, %795, %787, %767, %732, %730, %702, %651, %648, %530, %529, %519, %484, %474, %461, %454, %443, %435, %434, %414, %412, %399, %378, %370, %362, %361, %351, %329, %317, %303, %295, %279, %271, %266, %260, %238, %233, %221, %220, %212, %211, %207, %206, %189, %179, %153, %141, %134, %118, %112, %105, %78, %70, %55 + %6032 = phi i32 [ %4962, %5042 ], [ %4962, %4998 ], [ %46, %78 ], [ %46, %70 ], [ %5950, %5984 ], [ %4962, %4974 ], [ %4962, %4991 ], [ %4599, %5091 ], [ %46, %55 ], [ %46, %153 ], [ %46, %4129 ], [ %46, %5723 ], [ %46, %4124 ], [ %46, %4119 ], [ %46, %4114 ], [ %46, %4112 ], [ %46, %4050 ], [ %46, %3913 ], [ %46, %3885 ], [ %46, %3851 ], [ %46, %3762 ], [ %46, %3729 ], [ %46, %3680 ], [ %46, %3622 ], [ %46, %3483 ], [ %46, %3461 ], [ %46, %3443 ], [ %46, %3324 ], [ %46, %3269 ], [ %46, %3291 ], [ %46, %3257 ], [ %46, %3169 ], [ %46, %3158 ], [ %46, %3095 ], [ %46, %3073 ], [ %46, %3037 ], [ %46, %3020 ], [ %46, %3018 ], [ %46, %3016 ], [ %46, %3006 ], [ %46, %2968 ], [ %46, %2960 ], [ %46, %2916 ], [ %46, %2891 ], [ %46, %2880 ], [ %46, %2796 ], [ %46, %2785 ], [ %46, %2765 ], [ %46, %2748 ], [ %46, %2707 ], [ %46, %2637 ], [ %46, %2656 ], [ %46, %2649 ], [ %46, %2585 ], [ %46, %2557 ], [ %46, %2544 ], [ %46, %2545 ], [ %46, %2538 ], [ %46, %2535 ], [ %46, %2522 ], [ %46, %2505 ], [ %46, %2465 ], [ %46, %2492 ], [ %46, %2461 ], [ %46, %2437 ], [ %46, %2450 ], [ %46, %2412 ], [ %46, %2318 ], [ %46, %2296 ], [ %46, %2229 ], [ %46, %2144 ], [ %46, %4303 ], [ %46, %2138 ], [ %46, %2136 ], [ %46, %2115 ], [ %46, %2109 ], [ %46, %2088 ], [ %46, %2082 ], [ %46, %2050 ], [ %46, %2068 ], [ %46, %2052 ], [ %46, %2009 ], [ %1967, %1965 ], [ %1967, %1968 ], [ %46, %1986 ], [ %46, %1993 ], [ %46, %1927 ], [ %46, %1881 ], [ %46, %1917 ], [ %46, %1896 ], [ %46, %1858 ], [ %46, %1841 ], [ %46, %1827 ], [ %46, %1788 ], [ %46, %1810 ], [ %46, %1789 ], [ %46, %1766 ], [ %46, %1756 ], [ %46, %1724 ], [ %46, %1657 ], [ %46, %1715 ], [ %46, %1688 ], [ %46, %1658 ], [ %46, %1260 ], [ %46, %1338 ], [ %46, %1248 ], [ %46, %1200 ], [ %46, %1227 ], [ %46, %1179 ], [ %46, %1157 ], [ %46, %1108 ], [ %46, %1087 ], [ %46, %1077 ], [ %46, %1038 ], [ %46, %1060 ], [ %46, %1039 ], [ %46, %266 ], [ %46, %317 ], [ %46, %303 ], [ %46, %295 ], [ %46, %279 ], [ %46, %271 ], [ %46, %329 ], [ %46, %918 ], [ %46, %875 ], [ %46, %803 ], [ %46, %795 ], [ %46, %767 ], [ %46, %732 ], [ %46, %730 ], [ %46, %519 ], [ %46, %484 ], [ %46, %474 ], [ %46, %461 ], [ %46, %434 ], [ %46, %454 ], [ %46, %443 ], [ %46, %435 ], [ %46, %414 ], [ %46, %412 ], [ %46, %399 ], [ %46, %378 ], [ %46, %361 ], [ %46, %370 ], [ %46, %260 ], [ %46, %233 ], [ %46, %238 ], [ %46, %220 ], [ %46, %211 ], [ %46, %212 ], [ %46, %206 ], [ %46, %207 ], [ %46, %189 ], [ %46, %179 ], [ %46, %2480 ], [ %46, %105 ], [ %46, %134 ], [ %46, %141 ], [ %4161, %4159 ], [ %4231, %4229 ], [ %46, %4324 ], [ %4381, %4377 ], [ %46, %4451 ], [ %4517, %4514 ], [ %46, %5604 ], [ %5130, %5199 ], [ %46, %1702 ], [ %46, %1672 ], [ %4599, %5124 ], [ %46, %3326 ], [ %46, %3331 ], [ %46, %651 ], [ %46, %5641 ], [ %46, %5647 ], [ %46, %2169 ], [ %46, %985 ], [ %46, %805 ], [ %46, %530 ], [ %46, %2319 ], [ %46, %2154 ], [ %46, %2282 ], [ %46, %1984 ], [ %46, %1911 ], [ %46, %1147 ], [ %46, %904 ], [ %46, %787 ], [ %46, %351 ], [ %46, %3213 ], [ %46, %221 ], [ %46, %362 ], [ %46, %648 ], [ %46, %1079 ], [ %46, %1236 ], [ %46, %1232 ], [ %46, %1768 ], [ %46, %1776 ], [ %46, %1833 ], [ %46, %2157 ], [ %46, %2474 ], [ %46, %2470 ], [ %46, %2518 ], [ %46, %2512 ], [ %46, %2704 ], [ %46, %2758 ], [ %46, %3088 ], [ %46, %3209 ], [ %46, %3205 ], [ %46, %3201 ], [ %46, %3197 ], [ %46, %3193 ], [ %46, %3187 ], [ %46, %3361 ], [ %46, %3409 ], [ %46, %3507 ], [ %46, %3562 ], [ %46, %3952 ], [ %46, %3987 ], [ %46, %3992 ], [ %4599, %4693 ], [ %4962, %4985 ], [ %4599, %5083 ], [ %4599, %5270 ], [ %4599, %5243 ], [ %4599, %5228 ], [ %46, %5726 ], [ %46, %5796 ], [ %46, %5930 ], [ %46, %5767 ], [ %46, %5759 ], [ %46, %5856 ], [ %46, %5830 ], [ %4599, %4748 ], [ %46, %529 ], [ %46, %1317 ], [ %46, %1339 ], [ %46, %2466 ], [ %46, %2507 ], [ %46, %3336 ], [ %46, %5733 ], [ %4599, %4857 ], [ %4599, %4861 ], [ %46, %5829 ], [ %46, %112 ], [ %46, %118 ], [ %46, %702 ], [ %46, %865 ], [ %46, %871 ], [ %46, %867 ], [ %46, %1098 ], [ %46, %1214 ], [ %46, %1273 ], [ %46, %1641 ], [ %46, %1848 ], [ %46, %1863 ], [ %46, %1886 ], [ %46, %2096 ], [ %46, %2123 ], [ %46, %2608 ], [ %46, %2819 ], [ %46, %2840 ], [ %46, %2937 ], [ %46, %3530 ], [ %46, %3602 ], [ %46, %3785 ], [ %46, %4071 ], [ %46, %5397 ], [ %46, %5389 ], [ %46, %5382 ] + %6033 = phi i32 [ %5043, %5042 ], [ %4999, %4998 ], [ %94, %78 ], [ %64, %70 ], [ 1, %5984 ], [ 1, %4974 ], [ 12, %4991 ], [ 12, %5091 ], [ 26, %55 ], [ 26, %153 ], [ 26, %4129 ], [ 26, %5723 ], [ 26, %4124 ], [ 26, %4119 ], [ 26, %4114 ], [ 26, %4112 ], [ 26, %4050 ], [ 26, %3913 ], [ 26, %3885 ], [ 26, %3851 ], [ 26, %3762 ], [ 26, %3729 ], [ 26, %3680 ], [ 26, %3622 ], [ 26, %3483 ], [ 26, %3461 ], [ 26, %3443 ], [ 26, %3324 ], [ 26, %3269 ], [ 26, %3291 ], [ 26, %3257 ], [ 26, %3169 ], [ 26, %3158 ], [ 26, %3095 ], [ 26, %3073 ], [ 26, %3037 ], [ 26, %3020 ], [ 26, %3018 ], [ 26, %3016 ], [ 26, %3006 ], [ 26, %2968 ], [ 26, %2960 ], [ 26, %2916 ], [ 26, %2891 ], [ 26, %2880 ], [ 26, %2796 ], [ 26, %2785 ], [ 26, %2765 ], [ 26, %2748 ], [ 26, %2707 ], [ 26, %2637 ], [ 26, %2656 ], [ 26, %2649 ], [ 26, %2585 ], [ 26, %2557 ], [ 26, %2544 ], [ 26, %2545 ], [ 26, %2538 ], [ 26, %2535 ], [ 26, %2522 ], [ 26, %2505 ], [ 26, %2465 ], [ 26, %2492 ], [ 26, %2461 ], [ 26, %2437 ], [ 26, %2450 ], [ 26, %2412 ], [ 26, %2318 ], [ 26, %2296 ], [ 26, %2229 ], [ 26, %2144 ], [ 26, %4303 ], [ 26, %2138 ], [ 26, %2136 ], [ 26, %2115 ], [ 26, %2109 ], [ 26, %2088 ], [ 26, %2082 ], [ 26, %2050 ], [ 26, %2068 ], [ 26, %2052 ], [ 26, %2009 ], [ 26, %1965 ], [ 26, %1968 ], [ 26, %1986 ], [ 26, %1993 ], [ 26, %1927 ], [ 26, %1881 ], [ 26, %1917 ], [ 26, %1896 ], [ 26, %1858 ], [ 26, %1841 ], [ 26, %1827 ], [ 26, %1788 ], [ 26, %1810 ], [ 26, %1789 ], [ 26, %1766 ], [ 26, %1756 ], [ 26, %1724 ], [ 26, %1657 ], [ 26, %1715 ], [ 26, %1688 ], [ 26, %1658 ], [ 26, %1260 ], [ 26, %1338 ], [ 26, %1248 ], [ 26, %1200 ], [ 26, %1227 ], [ 26, %1179 ], [ 26, %1157 ], [ 26, %1108 ], [ 26, %1087 ], [ 26, %1077 ], [ 26, %1038 ], [ 26, %1060 ], [ 26, %1039 ], [ 26, %266 ], [ 26, %317 ], [ 26, %303 ], [ 26, %295 ], [ 26, %279 ], [ 26, %271 ], [ 26, %329 ], [ 26, %918 ], [ 26, %875 ], [ 26, %803 ], [ 26, %795 ], [ 26, %767 ], [ 26, %732 ], [ 26, %730 ], [ 26, %519 ], [ 26, %484 ], [ 26, %474 ], [ 26, %461 ], [ 26, %434 ], [ 26, %454 ], [ 26, %443 ], [ 26, %435 ], [ 26, %414 ], [ 26, %412 ], [ 26, %399 ], [ 26, %378 ], [ 26, %361 ], [ 26, %370 ], [ 26, %260 ], [ 26, %233 ], [ 26, %238 ], [ 26, %220 ], [ 26, %211 ], [ 26, %212 ], [ 26, %206 ], [ 26, %207 ], [ 26, %189 ], [ 26, %179 ], [ 26, %2480 ], [ 33, %105 ], [ 36, %134 ], [ 36, %141 ], [ 37, %4159 ], [ 37, %4229 ], [ 37, %4324 ], [ 37, %4377 ], [ 37, %4451 ], [ 37, %4514 ], [ 42, %5604 ], [ 43, %5199 ], [ 43, %1702 ], [ 43, %1672 ], [ 44, %5124 ], [ 29, %3326 ], [ 29, %3331 ], [ 50, %651 ], [ 41, %5641 ], [ 41, %5647 ], [ 53, %2169 ], [ 53, %985 ], [ 53, %805 ], [ 53, %530 ], [ 53, %2319 ], [ 52, %2154 ], [ 52, %2282 ], [ 52, %1984 ], [ 52, %1911 ], [ 52, %1147 ], [ 52, %904 ], [ 52, %787 ], [ 52, %351 ], [ 60, %3213 ], [ 26, %221 ], [ 26, %362 ], [ 50, %648 ], [ 26, %1079 ], [ 50, %1236 ], [ 50, %1232 ], [ 26, %1768 ], [ 26, %1776 ], [ 26, %1833 ], [ 53, %2157 ], [ 26, %2474 ], [ 26, %2470 ], [ 26, %2518 ], [ 26, %2512 ], [ 26, %2704 ], [ 26, %2758 ], [ 26, %3088 ], [ 26, %3209 ], [ 26, %3205 ], [ 26, %3201 ], [ 26, %3197 ], [ 26, %3193 ], [ 26, %3187 ], [ 26, %3361 ], [ 26, %3409 ], [ 26, %3507 ], [ 26, %3562 ], [ 26, %3952 ], [ 26, %3987 ], [ 26, %3992 ], [ 43, %4693 ], [ 12, %4985 ], [ 12, %5083 ], [ 43, %5270 ], [ 43, %5243 ], [ 43, %5228 ], [ 37, %5726 ], [ 48, %5796 ], [ 48, %5930 ], [ 12, %5767 ], [ 12, %5759 ], [ %5859, %5856 ], [ %5831, %5830 ], [ %4751, %4748 ], [ 26, %529 ], [ 26, %1317 ], [ 26, %1339 ], [ 26, %2466 ], [ 26, %2507 ], [ 26, %3336 ], [ 26, %5733 ], [ 43, %4857 ], [ 46, %4861 ], [ 48, %5829 ], [ 34, %112 ], [ 35, %118 ], [ 52, %702 ], [ 26, %865 ], [ 26, %871 ], [ 26, %867 ], [ 52, %1098 ], [ 43, %1214 ], [ 26, %1273 ], [ 52, %1641 ], [ 52, %1848 ], [ 49, %1863 ], [ 49, %1886 ], [ 53, %2096 ], [ 53, %2123 ], [ 26, %2608 ], [ 26, %2819 ], [ 26, %2840 ], [ 26, %2937 ], [ 26, %3530 ], [ 26, %3602 ], [ 26, %3785 ], [ 26, %4071 ], [ 42, %5397 ], [ 42, %5389 ], [ 42, %5382 ] + %6034 = call noundef i32 @_ZN6asmjit9_abi_1_1012EmitterUtils20logInstructionFailedEPNS0_11BaseEmitterEjjNS0_11InstOptionsERKNS0_8Operand_ES7_S7_PS6_(ptr noundef nonnull %0, i32 noundef %6033, i32 noundef %14, i32 noundef %6032, ptr noundef nonnull align 4 dereferenceable(16) %2, ptr noundef nonnull align 4 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(16) %4, ptr noundef %5) + br label %6035 + +6035: ; preds = %6031, %6020, %53 + %6036 = phi i32 [ %54, %53 ], [ %6034, %6031 ], [ 0, %6020 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10 - ret i32 %6040 + ret i32 %6036 } ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) diff --git a/bench/openssl/optimized/libssl-lib-quic_reactor.ll b/bench/openssl/optimized/libssl-lib-quic_reactor.ll index aaf26903b6b..f3ecf22d96d 100644 --- a/bench/openssl/optimized/libssl-lib-quic_reactor.ll +++ b/bench/openssl/optimized/libssl-lib-quic_reactor.ll @@ -284,8 +284,9 @@ if.then.i.i: ; preds = %if.end.i %or.i.i = zext nneg i8 %or.i.i19 to i16 store i16 %or.i.i, ptr %events18.i.i, align 4 %cmp4.i.i = icmp slt i32 %.sink.i.i, 0 - %cmp9.not.i.i = icmp eq i8 %or.i.i19, 0 - %or.cond.i.i = select i1 %cmp4.i.i, i1 true, i1 %cmp9.not.i.i + %10 = or i8 %bf.clear.i11, %bf.clear.i8 + %cmp9.not.not.not.i.i = icmp eq i8 %10, 0 + %or.cond.i.i = or i1 %cmp9.not.not.not.i.i, %cmp4.i.i br i1 %or.cond.i.i, label %lor.rhs.i.i, label %if.end60.i.i if.else.i.i: ; preds = %if.end.i @@ -297,8 +298,8 @@ if.else.i.i: ; preds = %if.end.i %npfd.0.i.i = zext i1 %narrow.i.i to i64 %arrayidx30.i.i = getelementptr inbounds [2 x %struct.pollfd], ptr %pfds.i.i, i64 0, i64 %npfd.0.i.i store i32 %.sink.i7.i, ptr %arrayidx30.i.i, align 8 - %10 = shl nuw nsw i8 %bf.clear.i11, 2 - %conv34.i.i = zext nneg i8 %10 to i16 + %11 = shl nuw nsw i8 %bf.clear.i11, 2 + %conv34.i.i = zext nneg i8 %11 to i16 %events36.i.i = getelementptr inbounds i8, ptr %arrayidx30.i.i, i64 4 store i16 %conv34.i.i, ptr %events36.i.i, align 4 %cmp37.i.i = icmp sgt i32 %.sink.i7.i, -1 @@ -307,8 +308,8 @@ if.else.i.i: ; preds = %if.end.i land.lhs.true39.i.i: ; preds = %if.else.i.i %tobool32.not.i.i = icmp ne i8 %bf.clear.i11, 0 %brmerge.i.i = or i1 %tobool32.not.i.i, %narrow.i.i - %11 = and i1 %tobool32.not.i.i, %narrow.i.i - %inc46.mux.i.i = select i1 %11, i64 2, i64 1 + %12 = and i1 %tobool32.not.i.i, %narrow.i.i + %inc46.mux.i.i = select i1 %12, i64 2, i64 1 br i1 %brmerge.i.i, label %if.end60.i.i, label %lor.rhs.i.i if.end48.i.i: ; preds = %if.else.i.i @@ -341,8 +342,8 @@ do.body.us.i.i: ; preds = %if.end64.i.i, %land land.rhs.us.i.i: ; preds = %do.body.us.i.i %call84.us.i.i = tail call ptr @__errno_location() #11 - %12 = load i32, ptr %call84.us.i.i, align 4 - %cmp85.us.i.i = icmp eq i32 %12, 4 + %13 = load i32, ptr %call84.us.i.i, align 4 + %cmp85.us.i.i = icmp eq i32 %13, 4 br i1 %cmp85.us.i.i, label %do.body.us.i.i, label %do.end.i.i, !llvm.loop !4 do.body.i.i: ; preds = %if.end64.i.i, %land.rhs.i.i @@ -356,8 +357,8 @@ do.body.i.i: ; preds = %if.end64.i.i, %land land.rhs.i.i: ; preds = %do.body.i.i %call84.i.i = tail call ptr @__errno_location() #11 - %13 = load i32, ptr %call84.i.i, align 4 - %cmp85.i.i = icmp eq i32 %13, 4 + %14 = load i32, ptr %call84.i.i, align 4 + %cmp85.i.i = icmp eq i32 %14, 4 br i1 %cmp85.i.i, label %do.body.i.i, label %do.end.i.i, !llvm.loop !4 do.end.i.i: ; preds = %land.rhs.i.i, %do.body.i.i, %land.rhs.us.i.i, %do.body.us.i.i diff --git a/bench/openssl/optimized/libssl-shlib-quic_reactor.ll b/bench/openssl/optimized/libssl-shlib-quic_reactor.ll index 2f1a0469f0a..de01ff8878e 100644 --- a/bench/openssl/optimized/libssl-shlib-quic_reactor.ll +++ b/bench/openssl/optimized/libssl-shlib-quic_reactor.ll @@ -284,8 +284,9 @@ if.then.i.i: ; preds = %if.end.i %or.i.i = zext nneg i8 %or.i.i19 to i16 store i16 %or.i.i, ptr %events18.i.i, align 4 %cmp4.i.i = icmp slt i32 %.sink.i.i, 0 - %cmp9.not.i.i = icmp eq i8 %or.i.i19, 0 - %or.cond.i.i = select i1 %cmp4.i.i, i1 true, i1 %cmp9.not.i.i + %10 = or i8 %bf.clear.i11, %bf.clear.i8 + %cmp9.not.not.not.i.i = icmp eq i8 %10, 0 + %or.cond.i.i = or i1 %cmp9.not.not.not.i.i, %cmp4.i.i br i1 %or.cond.i.i, label %lor.rhs.i.i, label %if.end60.i.i if.else.i.i: ; preds = %if.end.i @@ -297,8 +298,8 @@ if.else.i.i: ; preds = %if.end.i %npfd.0.i.i = zext i1 %narrow.i.i to i64 %arrayidx30.i.i = getelementptr inbounds [2 x %struct.pollfd], ptr %pfds.i.i, i64 0, i64 %npfd.0.i.i store i32 %.sink.i7.i, ptr %arrayidx30.i.i, align 8 - %10 = shl nuw nsw i8 %bf.clear.i11, 2 - %conv34.i.i = zext nneg i8 %10 to i16 + %11 = shl nuw nsw i8 %bf.clear.i11, 2 + %conv34.i.i = zext nneg i8 %11 to i16 %events36.i.i = getelementptr inbounds i8, ptr %arrayidx30.i.i, i64 4 store i16 %conv34.i.i, ptr %events36.i.i, align 4 %cmp37.i.i = icmp sgt i32 %.sink.i7.i, -1 @@ -307,8 +308,8 @@ if.else.i.i: ; preds = %if.end.i land.lhs.true39.i.i: ; preds = %if.else.i.i %tobool32.not.i.i = icmp ne i8 %bf.clear.i11, 0 %brmerge.i.i = or i1 %tobool32.not.i.i, %narrow.i.i - %11 = and i1 %tobool32.not.i.i, %narrow.i.i - %inc46.mux.i.i = select i1 %11, i64 2, i64 1 + %12 = and i1 %tobool32.not.i.i, %narrow.i.i + %inc46.mux.i.i = select i1 %12, i64 2, i64 1 br i1 %brmerge.i.i, label %if.end60.i.i, label %lor.rhs.i.i if.end48.i.i: ; preds = %if.else.i.i @@ -341,8 +342,8 @@ do.body.us.i.i: ; preds = %if.end64.i.i, %land land.rhs.us.i.i: ; preds = %do.body.us.i.i %call84.us.i.i = tail call ptr @__errno_location() #11 - %12 = load i32, ptr %call84.us.i.i, align 4 - %cmp85.us.i.i = icmp eq i32 %12, 4 + %13 = load i32, ptr %call84.us.i.i, align 4 + %cmp85.us.i.i = icmp eq i32 %13, 4 br i1 %cmp85.us.i.i, label %do.body.us.i.i, label %do.end.i.i, !llvm.loop !4 do.body.i.i: ; preds = %if.end64.i.i, %land.rhs.i.i @@ -356,8 +357,8 @@ do.body.i.i: ; preds = %if.end64.i.i, %land land.rhs.i.i: ; preds = %do.body.i.i %call84.i.i = tail call ptr @__errno_location() #11 - %13 = load i32, ptr %call84.i.i, align 4 - %cmp85.i.i = icmp eq i32 %13, 4 + %14 = load i32, ptr %call84.i.i, align 4 + %cmp85.i.i = icmp eq i32 %14, 4 br i1 %cmp85.i.i, label %do.body.i.i, label %do.end.i.i, !llvm.loop !4 do.end.i.i: ; preds = %land.rhs.i.i, %do.body.i.i, %land.rhs.us.i.i, %do.body.us.i.i diff --git a/bench/postgres/optimized/inv_api.ll b/bench/postgres/optimized/inv_api.ll index 949b8cc3ad9..50d694b4203 100644 --- a/bench/postgres/optimized/inv_api.ll +++ b/bench/postgres/optimized/inv_api.ll @@ -120,104 +120,105 @@ define dso_local noundef ptr @inv_open(i32 noundef %0, i32 noundef %1, ptr nound %6 = lshr i32 %1, 18 %7 = and i32 %6, 1 %.1 = or i32 %spec.select, %7 - %8 = icmp eq i32 %.1, 0 - br i1 %8, label %9, label %13 - -9: ; preds = %3 - %10 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 - tail call void @llvm.assume(i1 %10) - %11 = tail call i32 @errcode(i32 noundef 50856066) #9 - %12 = tail call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str, i32 noundef %1) #9 + %8 = or disjoint i32 %7, %5 + %9 = icmp eq i32 %8, 0 + br i1 %9, label %10, label %14 + +10: ; preds = %3 + %11 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 + tail call void @llvm.assume(i1 %11) + %12 = tail call i32 @errcode(i32 noundef 50856066) #9 + %13 = tail call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str, i32 noundef %1) #9 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef nonnull @__func__.inv_open) #9 unreachable -13: ; preds = %3 - br i1 %.not, label %14, label %16 +14: ; preds = %3 + br i1 %.not, label %15, label %17 -14: ; preds = %13 - %15 = tail call ptr @GetActiveSnapshot() #9 - br label %16 +15: ; preds = %14 + %16 = tail call ptr @GetActiveSnapshot() #9 + br label %17 -16: ; preds = %13, %14 - %.027 = phi ptr [ %15, %14 ], [ null, %13 ] +17: ; preds = %14, %15 + %.027 = phi ptr [ %16, %15 ], [ null, %14 ] call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %4) - %17 = zext i32 %0 to i64 - call void @ScanKeyInit(ptr noundef nonnull %4, i16 noundef signext 1, i16 noundef zeroext 3, i32 noundef 184, i64 noundef %17) #9 - %18 = call ptr @table_open(i32 noundef 2995, i32 noundef 1) #9 - %19 = call ptr @systable_beginscan(ptr noundef %18, i32 noundef 2996, i1 noundef zeroext true, ptr noundef %.027, i32 noundef 1, ptr noundef nonnull %4) #9 - %20 = call ptr @systable_getnext(ptr noundef %19) #9 - %.not.i.not = icmp eq ptr %20, null - call void @systable_endscan(ptr noundef %19) #9 - call void @table_close(ptr noundef %18, i32 noundef 1) #9 + %18 = zext i32 %0 to i64 + call void @ScanKeyInit(ptr noundef nonnull %4, i16 noundef signext 1, i16 noundef zeroext 3, i32 noundef 184, i64 noundef %18) #9 + %19 = call ptr @table_open(i32 noundef 2995, i32 noundef 1) #9 + %20 = call ptr @systable_beginscan(ptr noundef %19, i32 noundef 2996, i1 noundef zeroext true, ptr noundef %.027, i32 noundef 1, ptr noundef nonnull %4) #9 + %21 = call ptr @systable_getnext(ptr noundef %20) #9 + %.not.i.not = icmp eq ptr %21, null + call void @systable_endscan(ptr noundef %20) #9 + call void @table_close(ptr noundef %19, i32 noundef 1) #9 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %4) - br i1 %.not.i.not, label %21, label %25 + br i1 %.not.i.not, label %22, label %26 -21: ; preds = %16 - %22 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 - call void @llvm.assume(i1 %22) - %23 = call i32 @errcode(i32 noundef 67137668) #9 - %24 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.2, i32 noundef %0) #9 +22: ; preds = %17 + %23 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 + call void @llvm.assume(i1 %23) + %24 = call i32 @errcode(i32 noundef 67137668) #9 + %25 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.2, i32 noundef %0) #9 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef nonnull @__func__.inv_open) #9 unreachable -25: ; preds = %16 - %26 = and i32 %.1, 1 - %.not30 = icmp eq i32 %26, 0 - br i1 %.not30, label %37, label %27 - -27: ; preds = %25 - %28 = load i8, ptr @lo_compat_privileges, align 1 - %29 = trunc i8 %28 to i1 - br i1 %29, label %37, label %30 - -30: ; preds = %27 - %31 = call i32 @GetUserId() #9 - %32 = call i32 @pg_largeobject_aclcheck_snapshot(i32 noundef %0, i32 noundef %31, i64 noundef 2, ptr noundef %.027) #9 - %.not31 = icmp eq i32 %32, 0 - br i1 %.not31, label %37, label %33 - -33: ; preds = %30 - %34 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 - call void @llvm.assume(i1 %34) - %35 = call i32 @errcode(i32 noundef 16797828) #9 - %36 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.3, i32 noundef %0) #9 +26: ; preds = %17 + %27 = and i32 %.1, 1 + %.not30 = icmp eq i32 %27, 0 + br i1 %.not30, label %38, label %28 + +28: ; preds = %26 + %29 = load i8, ptr @lo_compat_privileges, align 1 + %30 = trunc i8 %29 to i1 + br i1 %30, label %38, label %31 + +31: ; preds = %28 + %32 = call i32 @GetUserId() #9 + %33 = call i32 @pg_largeobject_aclcheck_snapshot(i32 noundef %0, i32 noundef %32, i64 noundef 2, ptr noundef %.027) #9 + %.not31 = icmp eq i32 %33, 0 + br i1 %.not31, label %38, label %34 + +34: ; preds = %31 + %35 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 + call void @llvm.assume(i1 %35) + %36 = call i32 @errcode(i32 noundef 16797828) #9 + %37 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.3, i32 noundef %0) #9 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef nonnull @__func__.inv_open) #9 unreachable -37: ; preds = %27, %30, %25 - br i1 %.not, label %48, label %38 - -38: ; preds = %37 - %39 = load i8, ptr @lo_compat_privileges, align 1 - %40 = trunc i8 %39 to i1 - br i1 %40, label %48, label %41 - -41: ; preds = %38 - %42 = call i32 @GetUserId() #9 - %43 = call i32 @pg_largeobject_aclcheck_snapshot(i32 noundef %0, i32 noundef %42, i64 noundef 4, ptr noundef %.027) #9 - %.not32 = icmp eq i32 %43, 0 - br i1 %.not32, label %48, label %44 - -44: ; preds = %41 - %45 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 - call void @llvm.assume(i1 %45) - %46 = call i32 @errcode(i32 noundef 16797828) #9 - %47 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.3, i32 noundef %0) #9 +38: ; preds = %28, %31, %26 + br i1 %.not, label %49, label %39 + +39: ; preds = %38 + %40 = load i8, ptr @lo_compat_privileges, align 1 + %41 = trunc i8 %40 to i1 + br i1 %41, label %49, label %42 + +42: ; preds = %39 + %43 = call i32 @GetUserId() #9 + %44 = call i32 @pg_largeobject_aclcheck_snapshot(i32 noundef %0, i32 noundef %43, i64 noundef 4, ptr noundef %.027) #9 + %.not32 = icmp eq i32 %44, 0 + br i1 %.not32, label %49, label %45 + +45: ; preds = %42 + %46 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #10 + call void @llvm.assume(i1 %46) + %47 = call i32 @errcode(i32 noundef 16797828) #9 + %48 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.3, i32 noundef %0) #9 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef nonnull @__func__.inv_open) #9 unreachable -48: ; preds = %38, %41, %37 - %49 = call ptr @MemoryContextAlloc(ptr noundef %2, i64 noundef 40) #9 - store i32 %0, ptr %49, align 8 - %50 = getelementptr inbounds i8, ptr %49, i64 24 - store i64 0, ptr %50, align 8 - %51 = getelementptr inbounds i8, ptr %49, i64 32 - store i32 %.1, ptr %51, align 8 - %52 = getelementptr inbounds i8, ptr %49, i64 16 - store i32 0, ptr %52, align 8 - %53 = getelementptr inbounds i8, ptr %49, i64 8 - store ptr %.027, ptr %53, align 8 - ret ptr %49 +49: ; preds = %39, %42, %38 + %50 = call ptr @MemoryContextAlloc(ptr noundef %2, i64 noundef 40) #9 + store i32 %0, ptr %50, align 8 + %51 = getelementptr inbounds i8, ptr %50, i64 24 + store i64 0, ptr %51, align 8 + %52 = getelementptr inbounds i8, ptr %50, i64 32 + store i32 %.1, ptr %52, align 8 + %53 = getelementptr inbounds i8, ptr %50, i64 16 + store i32 0, ptr %53, align 8 + %54 = getelementptr inbounds i8, ptr %50, i64 8 + store ptr %.027, ptr %54, align 8 + ret ptr %50 } ; Function Attrs: cold diff --git a/bench/postgres/optimized/spgutils.ll b/bench/postgres/optimized/spgutils.ll index e67d7463c41..fbb9ef11492 100644 --- a/bench/postgres/optimized/spgutils.ll +++ b/bench/postgres/optimized/spgutils.ll @@ -1179,189 +1179,189 @@ SpGistInitBuffer.exit: ; preds = %71, %77 define internal fastcc i32 @allocNewBuffer(ptr noundef %0, i32 noundef %1) unnamed_addr #0 { %3 = tail call ptr @spgGetCache(ptr noundef %0) %4 = and i32 %1, 3 - %.not = icmp eq i32 %4, 3 - %spec.select = select i1 %.not, i16 4, i16 0 + %.not.not = icmp eq i32 %4, 3 + %spec.select = select i1 %.not.not, i16 4, i16 0 %5 = trunc i32 %1 to i16 %6 = shl i16 %5, 1 %7 = and i16 %6, 8 %.1 = or disjoint i16 %spec.select, %7 %8 = getelementptr inbounds i8, ptr %3, i64 64 - br i1 %.not, label %.split.us, label %.split + br i1 %.not.not, label %.split, label %.split.us .split.us: ; preds = %2 - %9 = tail call i32 @SpGistNewBuffer(ptr noundef %0) - %10 = icmp slt i32 %9, 0 - br i1 %10, label %17, label %11 + %9 = icmp eq i16 %7, 0 + br i1 %9, label %.split.us.split.us, label %.split.us.split + +.split.us.split.us: ; preds = %.split.us, %BufferGetPage.exit.us.us + %10 = tail call i32 @SpGistNewBuffer(ptr noundef %0) + %11 = icmp slt i32 %10, 0 + br i1 %11, label %18, label %12 + +12: ; preds = %.split.us.split.us + %13 = load ptr, ptr @BufferBlocks, align 8 + %14 = add nsw i32 %10, -1 + %15 = sext i32 %14 to i64 + %16 = shl nsw i64 %15, 13 + %17 = getelementptr i8, ptr %13, i64 %16 + br label %SpGistInitBuffer.exit.us.us + +18: ; preds = %.split.us.split.us + %19 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %20 = xor i32 %10, -1 + %21 = zext nneg i32 %20 to i64 + %22 = getelementptr ptr, ptr %19, i64 %21 + %23 = load ptr, ptr %22, align 8 + br label %SpGistInitBuffer.exit.us.us + +SpGistInitBuffer.exit.us.us: ; preds = %18, %12 + %.0.i.i.i.us.us = phi ptr [ %23, %18 ], [ %17, %12 ] + tail call void @PageInit(ptr noundef %.0.i.i.i.us.us, i64 noundef 8192, i64 noundef 8) #9 + %24 = getelementptr inbounds i8, ptr %.0.i.i.i.us.us, i64 16 + %25 = load i16, ptr %24, align 4 + %26 = zext i16 %25 to i64 + %27 = getelementptr i8, ptr %.0.i.i.i.us.us, i64 %26 + store i16 %.1, ptr %27, align 2 + %28 = getelementptr inbounds i8, ptr %27, i64 6 + store i16 -126, ptr %28, align 2 + %29 = tail call i32 @BufferGetBlockNumber(i32 noundef %10) #9 + %30 = urem i32 %29, 3 + %31 = icmp eq i32 %4, %30 + br i1 %31, label %.split31.us, label %32 + +32: ; preds = %SpGistInitBuffer.exit.us.us + %33 = zext nneg i32 %30 to i64 + %34 = getelementptr [8 x %struct.SpGistLastUsedPage], ptr %8, i64 0, i64 %33 + store i32 %29, ptr %34, align 4 + br i1 %11, label %41, label %35 -11: ; preds = %.split.us - %12 = load ptr, ptr @BufferBlocks, align 8 - %13 = add nsw i32 %9, -1 - %14 = sext i32 %13 to i64 - %15 = shl nsw i64 %14, 13 - %16 = getelementptr i8, ptr %12, i64 %15 +35: ; preds = %32 + %36 = load ptr, ptr @BufferBlocks, align 8 + %37 = add nsw i32 %10, -1 + %38 = sext i32 %37 to i64 + %39 = shl nsw i64 %38, 13 + %40 = getelementptr i8, ptr %36, i64 %39 + br label %BufferGetPage.exit.us.us + +41: ; preds = %32 + %42 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %43 = xor i32 %10, -1 + %44 = zext nneg i32 %43 to i64 + %45 = getelementptr ptr, ptr %42, i64 %44 + %46 = load ptr, ptr %45, align 8 + br label %BufferGetPage.exit.us.us + +BufferGetPage.exit.us.us: ; preds = %41, %35 + %.0.i.i.us.us = phi ptr [ %46, %41 ], [ %40, %35 ] + %47 = tail call i64 @PageGetExactFreeSpace(ptr noundef %.0.i.i.us.us) #9 + %48 = trunc i64 %47 to i32 + %49 = getelementptr inbounds i8, ptr %34, i64 4 + store i32 %48, ptr %49, align 4 + tail call void @UnlockReleaseBuffer(i32 noundef %10) #9 + br label %.split.us.split.us + +.split.us.split: ; preds = %.split.us, %BufferGetPage.exit.us + %50 = tail call i32 @SpGistNewBuffer(ptr noundef %0) + %51 = icmp slt i32 %50, 0 + br i1 %51, label %58, label %52 + +52: ; preds = %.split.us.split + %53 = load ptr, ptr @BufferBlocks, align 8 + %54 = add nsw i32 %50, -1 + %55 = sext i32 %54 to i64 + %56 = shl nsw i64 %55, 13 + %57 = getelementptr i8, ptr %53, i64 %56 br label %SpGistInitBuffer.exit.us -17: ; preds = %.split.us - %18 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %19 = xor i32 %9, -1 - %20 = zext nneg i32 %19 to i64 - %21 = getelementptr ptr, ptr %18, i64 %20 - %22 = load ptr, ptr %21, align 8 +58: ; preds = %.split.us.split + %59 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %60 = xor i32 %50, -1 + %61 = zext nneg i32 %60 to i64 + %62 = getelementptr ptr, ptr %59, i64 %61 + %63 = load ptr, ptr %62, align 8 br label %SpGistInitBuffer.exit.us -SpGistInitBuffer.exit.us: ; preds = %17, %11 - %.0.i.i.i.us = phi ptr [ %22, %17 ], [ %16, %11 ] +SpGistInitBuffer.exit.us: ; preds = %58, %52 + %.0.i.i.i.us = phi ptr [ %63, %58 ], [ %57, %52 ] tail call void @PageInit(ptr noundef %.0.i.i.i.us, i64 noundef 8192, i64 noundef 8) #9 - %23 = getelementptr inbounds i8, ptr %.0.i.i.i.us, i64 16 - %24 = load i16, ptr %23, align 4 - %25 = zext i16 %24 to i64 - %26 = getelementptr i8, ptr %.0.i.i.i.us, i64 %25 - store i16 %.1, ptr %26, align 2 - %27 = getelementptr inbounds i8, ptr %26, i64 6 - store i16 -126, ptr %27, align 2 - br label %.split31 + %64 = getelementptr inbounds i8, ptr %.0.i.i.i.us, i64 16 + %65 = load i16, ptr %64, align 4 + %66 = zext i16 %65 to i64 + %67 = getelementptr i8, ptr %.0.i.i.i.us, i64 %66 + store i16 %.1, ptr %67, align 2 + %68 = getelementptr inbounds i8, ptr %67, i64 6 + store i16 -126, ptr %68, align 2 + %69 = tail call i32 @BufferGetBlockNumber(i32 noundef %50) #9 + %70 = urem i32 %69, 3 + %71 = icmp eq i32 %4, %70 + br i1 %71, label %.split31.us, label %72 + +72: ; preds = %SpGistInitBuffer.exit.us + %73 = or disjoint i32 %70, 4 + %74 = zext nneg i32 %73 to i64 + %75 = getelementptr [8 x %struct.SpGistLastUsedPage], ptr %8, i64 0, i64 %74 + store i32 %69, ptr %75, align 4 + br i1 %51, label %82, label %76 -.split: ; preds = %2 - %.not28 = icmp eq i16 %.1, 0 - br i1 %.not28, label %.split.split.us, label %.split.split - -.split.split.us: ; preds = %.split, %BufferGetPage.exit.us - %28 = tail call i32 @SpGistNewBuffer(ptr noundef %0) - %29 = icmp slt i32 %28, 0 - br i1 %29, label %36, label %30 - -30: ; preds = %.split.split.us - %31 = load ptr, ptr @BufferBlocks, align 8 - %32 = add nsw i32 %28, -1 - %33 = sext i32 %32 to i64 - %34 = shl nsw i64 %33, 13 - %35 = getelementptr i8, ptr %31, i64 %34 - br label %SpGistInitBuffer.exit.us32 - -36: ; preds = %.split.split.us - %37 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %38 = xor i32 %28, -1 - %39 = zext nneg i32 %38 to i64 - %40 = getelementptr ptr, ptr %37, i64 %39 - %41 = load ptr, ptr %40, align 8 - br label %SpGistInitBuffer.exit.us32 - -SpGistInitBuffer.exit.us32: ; preds = %36, %30 - %.0.i.i.i.us33 = phi ptr [ %41, %36 ], [ %35, %30 ] - tail call void @PageInit(ptr noundef %.0.i.i.i.us33, i64 noundef 8192, i64 noundef 8) #9 - %42 = getelementptr inbounds i8, ptr %.0.i.i.i.us33, i64 16 - %43 = load i16, ptr %42, align 4 - %44 = zext i16 %43 to i64 - %45 = getelementptr i8, ptr %.0.i.i.i.us33, i64 %44 - store i16 0, ptr %45, align 2 - %46 = getelementptr inbounds i8, ptr %45, i64 6 - store i16 -126, ptr %46, align 2 - %47 = tail call i32 @BufferGetBlockNumber(i32 noundef %28) #9 - %48 = urem i32 %47, 3 - %49 = icmp eq i32 %4, %48 - br i1 %49, label %.split31, label %50 - -50: ; preds = %SpGistInitBuffer.exit.us32 - %51 = zext nneg i32 %48 to i64 - %52 = getelementptr [8 x %struct.SpGistLastUsedPage], ptr %8, i64 0, i64 %51 - store i32 %47, ptr %52, align 4 - br i1 %29, label %59, label %53 - -53: ; preds = %50 - %54 = load ptr, ptr @BufferBlocks, align 8 - %55 = add nsw i32 %28, -1 - %56 = sext i32 %55 to i64 - %57 = shl nsw i64 %56, 13 - %58 = getelementptr i8, ptr %54, i64 %57 +76: ; preds = %72 + %77 = load ptr, ptr @BufferBlocks, align 8 + %78 = add nsw i32 %50, -1 + %79 = sext i32 %78 to i64 + %80 = shl nsw i64 %79, 13 + %81 = getelementptr i8, ptr %77, i64 %80 br label %BufferGetPage.exit.us -59: ; preds = %50 - %60 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %61 = xor i32 %28, -1 - %62 = zext nneg i32 %61 to i64 - %63 = getelementptr ptr, ptr %60, i64 %62 - %64 = load ptr, ptr %63, align 8 +82: ; preds = %72 + %83 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %84 = xor i32 %50, -1 + %85 = zext nneg i32 %84 to i64 + %86 = getelementptr ptr, ptr %83, i64 %85 + %87 = load ptr, ptr %86, align 8 br label %BufferGetPage.exit.us -BufferGetPage.exit.us: ; preds = %59, %53 - %.0.i.i.us = phi ptr [ %64, %59 ], [ %58, %53 ] - %65 = tail call i64 @PageGetExactFreeSpace(ptr noundef %.0.i.i.us) #9 - %66 = trunc i64 %65 to i32 - %67 = getelementptr inbounds i8, ptr %52, i64 4 - store i32 %66, ptr %67, align 4 - tail call void @UnlockReleaseBuffer(i32 noundef %28) #9 - br label %.split.split.us - -.split.split: ; preds = %.split, %BufferGetPage.exit - %68 = tail call i32 @SpGistNewBuffer(ptr noundef %0) - %69 = icmp slt i32 %68, 0 - br i1 %69, label %70, label %76 - -70: ; preds = %.split.split - %71 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %72 = xor i32 %68, -1 - %73 = zext nneg i32 %72 to i64 - %74 = getelementptr ptr, ptr %71, i64 %73 - %75 = load ptr, ptr %74, align 8 +BufferGetPage.exit.us: ; preds = %82, %76 + %.0.i.i.us = phi ptr [ %87, %82 ], [ %81, %76 ] + %88 = tail call i64 @PageGetExactFreeSpace(ptr noundef %.0.i.i.us) #9 + %89 = trunc i64 %88 to i32 + %90 = getelementptr inbounds i8, ptr %75, i64 4 + store i32 %89, ptr %90, align 4 + tail call void @UnlockReleaseBuffer(i32 noundef %50) #9 + br label %.split.us.split + +.split: ; preds = %2 + %91 = tail call i32 @SpGistNewBuffer(ptr noundef %0) + %92 = icmp slt i32 %91, 0 + br i1 %92, label %93, label %99 + +93: ; preds = %.split + %94 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %95 = xor i32 %91, -1 + %96 = zext nneg i32 %95 to i64 + %97 = getelementptr ptr, ptr %94, i64 %96 + %98 = load ptr, ptr %97, align 8 br label %SpGistInitBuffer.exit -76: ; preds = %.split.split - %77 = load ptr, ptr @BufferBlocks, align 8 - %78 = add nsw i32 %68, -1 - %79 = sext i32 %78 to i64 - %80 = shl nsw i64 %79, 13 - %81 = getelementptr i8, ptr %77, i64 %80 +99: ; preds = %.split + %100 = load ptr, ptr @BufferBlocks, align 8 + %101 = add nsw i32 %91, -1 + %102 = sext i32 %101 to i64 + %103 = shl nsw i64 %102, 13 + %104 = getelementptr i8, ptr %100, i64 %103 br label %SpGistInitBuffer.exit -SpGistInitBuffer.exit: ; preds = %70, %76 - %.0.i.i.i = phi ptr [ %75, %70 ], [ %81, %76 ] +SpGistInitBuffer.exit: ; preds = %93, %99 + %.0.i.i.i = phi ptr [ %98, %93 ], [ %104, %99 ] tail call void @PageInit(ptr noundef %.0.i.i.i, i64 noundef 8192, i64 noundef 8) #9 - %82 = getelementptr inbounds i8, ptr %.0.i.i.i, i64 16 - %83 = load i16, ptr %82, align 4 - %84 = zext i16 %83 to i64 - %85 = getelementptr i8, ptr %.0.i.i.i, i64 %84 - store i16 %.1, ptr %85, align 2 - %86 = getelementptr inbounds i8, ptr %85, i64 6 - store i16 -126, ptr %86, align 2 - %87 = tail call i32 @BufferGetBlockNumber(i32 noundef %68) #9 - %88 = urem i32 %87, 3 - %89 = icmp eq i32 %4, %88 - br i1 %89, label %.split31, label %90 - -90: ; preds = %SpGistInitBuffer.exit - %91 = or disjoint i32 %88, 4 - %92 = zext nneg i32 %91 to i64 - %93 = getelementptr [8 x %struct.SpGistLastUsedPage], ptr %8, i64 0, i64 %92 - store i32 %87, ptr %93, align 4 - br i1 %69, label %94, label %100 - -94: ; preds = %90 - %95 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %96 = xor i32 %68, -1 - %97 = zext nneg i32 %96 to i64 - %98 = getelementptr ptr, ptr %95, i64 %97 - %99 = load ptr, ptr %98, align 8 - br label %BufferGetPage.exit - -100: ; preds = %90 - %101 = load ptr, ptr @BufferBlocks, align 8 - %102 = add nsw i32 %68, -1 - %103 = sext i32 %102 to i64 - %104 = shl nsw i64 %103, 13 - %105 = getelementptr i8, ptr %101, i64 %104 - br label %BufferGetPage.exit - -BufferGetPage.exit: ; preds = %94, %100 - %.0.i.i = phi ptr [ %99, %94 ], [ %105, %100 ] - %106 = tail call i64 @PageGetExactFreeSpace(ptr noundef %.0.i.i) #9 - %107 = trunc i64 %106 to i32 - %108 = getelementptr inbounds i8, ptr %93, i64 4 - store i32 %107, ptr %108, align 4 - tail call void @UnlockReleaseBuffer(i32 noundef %68) #9 - br label %.split.split - -.split31: ; preds = %SpGistInitBuffer.exit, %SpGistInitBuffer.exit.us32, %SpGistInitBuffer.exit.us - %.us-phi = phi i32 [ %9, %SpGistInitBuffer.exit.us ], [ %28, %SpGistInitBuffer.exit.us32 ], [ %68, %SpGistInitBuffer.exit ] + %105 = getelementptr inbounds i8, ptr %.0.i.i.i, i64 16 + %106 = load i16, ptr %105, align 4 + %107 = zext i16 %106 to i64 + %108 = getelementptr i8, ptr %.0.i.i.i, i64 %107 + store i16 %.1, ptr %108, align 2 + %109 = getelementptr inbounds i8, ptr %108, i64 6 + store i16 -126, ptr %109, align 2 + br label %.split31.us + +.split31.us: ; preds = %SpGistInitBuffer.exit.us, %SpGistInitBuffer.exit.us.us, %SpGistInitBuffer.exit + %.us-phi = phi i32 [ %91, %SpGistInitBuffer.exit ], [ %10, %SpGistInitBuffer.exit.us.us ], [ %50, %SpGistInitBuffer.exit.us ] ret i32 %.us-phi } diff --git a/bench/qemu/optimized/hw_usb_dev-hub.c.ll b/bench/qemu/optimized/hw_usb_dev-hub.c.ll index 7950c2c6d3d..b1f18a1d256 100644 --- a/bench/qemu/optimized/hw_usb_dev-hub.c.ll +++ b/bench/qemu/optimized/hw_usb_dev-hub.c.ll @@ -964,39 +964,40 @@ for.body: ; preds = %for.body.lr.ph, %fo br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !9 for.end: ; preds = %for.body - %cmp20.not = icmp eq i32 %status.1, 0 + %5 = icmp eq i32 %status.025, 0 + %cmp20.not = and i1 %5, %tobool.not br i1 %cmp20.not, label %if.else36, label %if.then22 if.then22: ; preds = %for.end %addr = getelementptr inbounds i8, ptr %dev, i64 224 - %5 = load i8, ptr %addr, align 8 - %conv24 = zext i8 %5 to i32 + %6 = load i8, ptr %addr, align 8 + %conv24 = zext i8 %6 to i32 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %_now.i.i) - %6 = load i32, ptr @trace_events_enabled_count, align 4 - %tobool.i.i = icmp ne i32 %6, 0 - %7 = load i16, ptr @_TRACE_USB_HUB_STATUS_REPORT_DSTATE, align 2 - %tobool4.i.i = icmp ne i16 %7, 0 + %7 = load i32, ptr @trace_events_enabled_count, align 4 + %tobool.i.i = icmp ne i32 %7, 0 + %8 = load i16, ptr @_TRACE_USB_HUB_STATUS_REPORT_DSTATE, align 2 + %tobool4.i.i = icmp ne i16 %8, 0 %or.cond.i.i = select i1 %tobool.i.i, i1 %tobool4.i.i, i1 false br i1 %or.cond.i.i, label %land.lhs.true5.i.i, label %trace_usb_hub_status_report.exit land.lhs.true5.i.i: ; preds = %if.then22 - %8 = load i32, ptr @qemu_loglevel, align 4 - %and.i.i.i = and i32 %8, 32768 + %9 = load i32, ptr @qemu_loglevel, align 4 + %and.i.i.i = and i32 %9, 32768 %cmp.i.not.i.i = icmp eq i32 %and.i.i.i, 0 br i1 %cmp.i.not.i.i, label %trace_usb_hub_status_report.exit, label %if.then.i.i if.then.i.i: ; preds = %land.lhs.true5.i.i - %9 = load i8, ptr @message_with_timestamp, align 1 - %tobool7.i.i = trunc i8 %9 to i1 + %10 = load i8, ptr @message_with_timestamp, align 1 + %tobool7.i.i = trunc i8 %10 to i1 br i1 %tobool7.i.i, label %if.then8.i.i, label %if.else.i.i if.then8.i.i: ; preds = %if.then.i.i %call9.i.i = call i32 @gettimeofday(ptr noundef nonnull %_now.i.i, ptr noundef null) #8 %call10.i.i = tail call i32 @qemu_get_thread_id() #8 - %10 = load i64, ptr %_now.i.i, align 8 + %11 = load i64, ptr %_now.i.i, align 8 %tv_usec.i.i = getelementptr inbounds i8, ptr %_now.i.i, i64 8 - %11 = load i64, ptr %tv_usec.i.i, align 8 - tail call void (ptr, ...) @qemu_log(ptr noundef nonnull @.str.44, i32 noundef %call10.i.i, i64 noundef %10, i64 noundef %11, i32 noundef %conv24, i32 noundef %status.1) #8 + %12 = load i64, ptr %tv_usec.i.i, align 8 + tail call void (ptr, ...) @qemu_log(ptr noundef nonnull @.str.44, i32 noundef %call10.i.i, i64 noundef %11, i64 noundef %12, i32 noundef %conv24, i32 noundef %status.1) #8 br label %trace_usb_hub_status_report.exit if.else.i.i: ; preds = %if.then.i.i @@ -1015,8 +1016,8 @@ for.body28.preheader: ; preds = %trace_usb_hub_statu for.body28: ; preds = %for.body28.preheader, %for.body28 %indvars.iv = phi i64 [ 0, %for.body28.preheader ], [ %indvars.iv.next, %for.body28 ] %indvars.iv.tr = trunc i64 %indvars.iv to i32 - %12 = shl i32 %indvars.iv.tr, 3 - %shr = lshr i32 %status.1, %12 + %13 = shl i32 %indvars.iv.tr, 3 + %shr = lshr i32 %status.1, %13 %conv29 = trunc i32 %shr to i8 %arrayidx31 = getelementptr [4 x i8], ptr %buf, i64 0, i64 %indvars.iv store i8 %conv29, ptr %arrayidx31, align 1 diff --git a/bench/qemu/optimized/tcg.c.ll b/bench/qemu/optimized/tcg.c.ll index ff6429b8405..5b7a12f6524 100644 --- a/bench/qemu/optimized/tcg.c.ll +++ b/bench/qemu/optimized/tcg.c.ll @@ -11179,16 +11179,15 @@ sw.bb639.i: ; preds = %if.end636.i %and23.i.i = lshr i32 %conv643.i, 3 %shr24.i.i = and i32 %and23.i.i, 1 %or22.i.i = or disjoint i32 %shr24.i.i, %shr.i.i - %cmp30.i.i = icmp sgt i32 %conv643.i, 3 - %cond31.i.i = select i1 %cmp30.i.i, i32 16384, i32 0 - %or33.i.i = or disjoint i32 %or22.i.i, %cond31.i.i - %tobool34.not.i570.i = icmp eq i32 %or33.i.i, 0 + %cmp30.i.i = icmp slt i32 %conv643.i, 4 + %582 = icmp eq i32 %or22.i.i, 0 + %tobool34.not.i570.i = and i1 %cmp30.i.i, %582 %.pre767 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i570.i, label %tcg_out_opc.exit.i, label %if.then35.i.i if.then35.i.i: ; preds = %sw.bb639.i - %582 = trunc i32 %or22.i.i to i8 - %conv.i571.i = or disjoint i8 %582, 64 + %583 = trunc i32 %or22.i.i to i8 + %conv.i571.i = or disjoint i8 %583, 64 %incdec.ptr.i37.i.i = getelementptr i8, ptr %.pre767, i64 1 store ptr %incdec.ptr.i37.i.i, ptr %code_ptr, align 8 store i8 %conv.i571.i, ptr %.pre767, align 1 @@ -11196,80 +11195,79 @@ if.then35.i.i: ; preds = %sw.bb639.i br label %tcg_out_opc.exit.i tcg_out_opc.exit.i: ; preds = %if.then35.i.i, %sw.bb639.i - %583 = phi ptr [ %.pre766, %if.then35.i.i ], [ %.pre767, %sw.bb639.i ] - %incdec.ptr.i39.i.i = getelementptr i8, ptr %583, i64 1 + %584 = phi ptr [ %.pre766, %if.then35.i.i ], [ %.pre767, %sw.bb639.i ] + %incdec.ptr.i39.i.i = getelementptr i8, ptr %584, i64 1 store ptr %incdec.ptr.i39.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %583, align 1 - %584 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i = getelementptr i8, ptr %584, i64 1 + store i8 15, ptr %584, align 1 + %585 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i = getelementptr i8, ptr %585, i64 1 store ptr %incdec.ptr.i45.i.i, ptr %code_ptr, align 8 - store i8 -66, ptr %584, align 1 + store i8 -66, ptr %585, align 1 %and.i.i.i = shl i32 %conv641.i, 3 %and1.i.i.i = and i32 %conv643.i, 7 %or.i.i.i = or disjoint i32 %and1.i.i.i, %and.i.i.i - %585 = trunc i32 %or.i.i.i to i8 - %conv.i.i.i472 = or i8 %585, -64 - %586 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i473 = getelementptr i8, ptr %586, i64 1 + %586 = trunc i32 %or.i.i.i to i8 + %conv.i.i.i472 = or i8 %586, -64 + %587 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i.i473 = getelementptr i8, ptr %587, i64 1 store ptr %incdec.ptr.i.i.i.i473, ptr %code_ptr, align 8 - store i8 %conv.i.i.i472, ptr %586, align 1 + store i8 %conv.i.i.i472, ptr %587, align 1 br label %sw.epilog715.i sw.bb644.i: ; preds = %if.end636.i - %587 = load i64, ptr %new_args.i, align 16 - %conv646.i = trunc i64 %587 to i32 - %588 = load i64, ptr %arrayidx692.i, align 8 - %conv648.i = trunc i64 %588 to i32 + %588 = load i64, ptr %new_args.i, align 16 + %conv646.i = trunc i64 %588 to i32 + %589 = load i64, ptr %arrayidx692.i, align 8 + %conv648.i = trunc i64 %589 to i32 %and18.i574.i = lshr i32 %conv646.i, 1 %shr.i575.i = and i32 %and18.i574.i, 4 %and23.i576.i = lshr i32 %conv648.i, 3 %shr24.i577.i = and i32 %and23.i576.i, 1 %or19.i.i = or disjoint i32 %shr24.i577.i, %shr.i575.i - %589 = trunc i32 %or19.i.i to i8 - %conv.i586.i = or disjoint i8 %589, 72 - %590 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i588.i = getelementptr i8, ptr %590, i64 1 - store ptr %incdec.ptr.i37.i588.i, ptr %code_ptr, align 8 - store i8 %conv.i586.i, ptr %590, align 1 + %590 = trunc i32 %or19.i.i to i8 + %conv.i586.i = or disjoint i8 %590, 72 %591 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i39.i590.i = getelementptr i8, ptr %591, i64 1 - store ptr %incdec.ptr.i39.i590.i, ptr %code_ptr, align 8 - store i8 15, ptr %591, align 1 + %incdec.ptr.i37.i588.i = getelementptr i8, ptr %591, i64 1 + store ptr %incdec.ptr.i37.i588.i, ptr %code_ptr, align 8 + store i8 %conv.i586.i, ptr %591, align 1 %592 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i592.i = getelementptr i8, ptr %592, i64 1 + %incdec.ptr.i39.i590.i = getelementptr i8, ptr %592, i64 1 + store ptr %incdec.ptr.i39.i590.i, ptr %code_ptr, align 8 + store i8 15, ptr %592, align 1 + %593 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i592.i = getelementptr i8, ptr %593, i64 1 store ptr %incdec.ptr.i45.i592.i, ptr %code_ptr, align 8 - store i8 -66, ptr %592, align 1 + store i8 -66, ptr %593, align 1 %and.i.i381.i = shl i32 %conv646.i, 3 %and1.i.i382.i = and i32 %conv648.i, 7 %or.i.i383.i = or disjoint i32 %and1.i.i382.i, %and.i.i381.i - %593 = trunc i32 %or.i.i383.i to i8 - %conv.i.i384.i = or i8 %593, -64 - %594 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i386.i = getelementptr i8, ptr %594, i64 1 + %594 = trunc i32 %or.i.i383.i to i8 + %conv.i.i384.i = or i8 %594, -64 + %595 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i386.i = getelementptr i8, ptr %595, i64 1 store ptr %incdec.ptr.i.i.i386.i, ptr %code_ptr, align 8 - store i8 %conv.i.i384.i, ptr %594, align 1 + store i8 %conv.i.i384.i, ptr %595, align 1 br label %sw.epilog715.i sw.bb649.i: ; preds = %if.end636.i, %if.end636.i - %595 = load i64, ptr %new_args.i, align 16 - %conv651.i = trunc i64 %595 to i32 - %596 = load i64, ptr %arrayidx692.i, align 8 - %conv653.i = trunc i64 %596 to i32 + %596 = load i64, ptr %new_args.i, align 16 + %conv651.i = trunc i64 %596 to i32 + %597 = load i64, ptr %arrayidx692.i, align 8 + %conv653.i = trunc i64 %597 to i32 %and18.i.i.i = lshr i32 %conv651.i, 1 %shr.i.i.i = and i32 %and18.i.i.i, 4 %and23.i.i.i = lshr i32 %conv653.i, 3 %shr24.i.i.i = and i32 %and23.i.i.i, 1 %or22.i.i.i = or disjoint i32 %shr24.i.i.i, %shr.i.i.i - %cmp30.i.i.i = icmp sgt i32 %conv653.i, 3 - %cond31.i.i.i = select i1 %cmp30.i.i.i, i32 16384, i32 0 - %or33.i.i.i = or disjoint i32 %or22.i.i.i, %cond31.i.i.i - %tobool34.not.i.i.i = icmp eq i32 %or33.i.i.i, 0 + %cmp30.i.i.i = icmp slt i32 %conv653.i, 4 + %598 = icmp eq i32 %or22.i.i.i, 0 + %tobool34.not.i.i.i = and i1 %cmp30.i.i.i, %598 %.pre765 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i.i.i, label %tcg_out_ext8u.exit.i, label %if.then35.i.i.i if.then35.i.i.i: ; preds = %sw.bb649.i - %597 = trunc i32 %or22.i.i.i to i8 - %conv.i2.i.i = or disjoint i8 %597, 64 + %599 = trunc i32 %or22.i.i.i to i8 + %conv.i2.i.i = or disjoint i8 %599, 64 %incdec.ptr.i37.i.i.i = getelementptr i8, ptr %.pre765, i64 1 store ptr %incdec.ptr.i37.i.i.i, ptr %code_ptr, align 8 store i8 %conv.i2.i.i, ptr %.pre765, align 1 @@ -11277,30 +11275,30 @@ if.then35.i.i.i: ; preds = %sw.bb649.i br label %tcg_out_ext8u.exit.i tcg_out_ext8u.exit.i: ; preds = %if.then35.i.i.i, %sw.bb649.i - %598 = phi ptr [ %.pre764, %if.then35.i.i.i ], [ %.pre765, %sw.bb649.i ] - %incdec.ptr.i39.i.i.i = getelementptr i8, ptr %598, i64 1 + %600 = phi ptr [ %.pre764, %if.then35.i.i.i ], [ %.pre765, %sw.bb649.i ] + %incdec.ptr.i39.i.i.i = getelementptr i8, ptr %600, i64 1 store ptr %incdec.ptr.i39.i.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %598, align 1 - %599 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %599, i64 1 + store i8 15, ptr %600, align 1 + %601 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %601, i64 1 store ptr %incdec.ptr.i45.i.i.i, ptr %code_ptr, align 8 - store i8 -74, ptr %599, align 1 + store i8 -74, ptr %601, align 1 %and.i.i387.i = shl i32 %conv651.i, 3 %and1.i.i388.i = and i32 %conv653.i, 7 %or.i.i389.i = or disjoint i32 %and1.i.i388.i, %and.i.i387.i - %600 = trunc i32 %or.i.i389.i to i8 - %conv.i.i390.i = or i8 %600, -64 - %601 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i391.i = getelementptr i8, ptr %601, i64 1 + %602 = trunc i32 %or.i.i389.i to i8 + %conv.i.i390.i = or i8 %602, -64 + %603 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i391.i = getelementptr i8, ptr %603, i64 1 store ptr %incdec.ptr.i.i.i391.i, ptr %code_ptr, align 8 - store i8 %conv.i.i390.i, ptr %601, align 1 + store i8 %conv.i.i390.i, ptr %603, align 1 br label %sw.epilog715.i sw.bb654.i: ; preds = %if.end636.i - %602 = load i64, ptr %new_args.i, align 16 - %conv656.i = trunc i64 %602 to i32 - %603 = load i64, ptr %arrayidx692.i, align 8 - %conv658.i = trunc i64 %603 to i32 + %604 = load i64, ptr %new_args.i, align 16 + %conv656.i = trunc i64 %604 to i32 + %605 = load i64, ptr %arrayidx692.i, align 8 + %conv658.i = trunc i64 %605 to i32 %and18.i595.i = lshr i32 %conv656.i, 1 %shr.i596.i = and i32 %and18.i595.i, 4 %and23.i597.i = lshr i32 %conv658.i, 3 @@ -11311,8 +11309,8 @@ sw.bb654.i: ; preds = %if.end636.i br i1 %tobool34.not.i605.i, label %tcg_out_opc.exit614.i, label %if.then35.i606.i if.then35.i606.i: ; preds = %sw.bb654.i - %604 = trunc i32 %or22.i599.i to i8 - %conv.i607.i = or disjoint i8 %604, 64 + %606 = trunc i32 %or22.i599.i to i8 + %conv.i607.i = or disjoint i8 %606, 64 %incdec.ptr.i37.i609.i = getelementptr i8, ptr %.pre763, i64 1 store ptr %incdec.ptr.i37.i609.i, ptr %code_ptr, align 8 store i8 %conv.i607.i, ptr %.pre763, align 1 @@ -11320,65 +11318,65 @@ if.then35.i606.i: ; preds = %sw.bb654.i br label %tcg_out_opc.exit614.i tcg_out_opc.exit614.i: ; preds = %if.then35.i606.i, %sw.bb654.i - %605 = phi ptr [ %.pre762, %if.then35.i606.i ], [ %.pre763, %sw.bb654.i ] - %incdec.ptr.i39.i611.i = getelementptr i8, ptr %605, i64 1 + %607 = phi ptr [ %.pre762, %if.then35.i606.i ], [ %.pre763, %sw.bb654.i ] + %incdec.ptr.i39.i611.i = getelementptr i8, ptr %607, i64 1 store ptr %incdec.ptr.i39.i611.i, ptr %code_ptr, align 8 - store i8 15, ptr %605, align 1 - %606 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i613.i = getelementptr i8, ptr %606, i64 1 + store i8 15, ptr %607, align 1 + %608 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i613.i = getelementptr i8, ptr %608, i64 1 store ptr %incdec.ptr.i45.i613.i, ptr %code_ptr, align 8 - store i8 -65, ptr %606, align 1 + store i8 -65, ptr %608, align 1 %and.i.i392.i = shl i32 %conv656.i, 3 %and1.i.i393.i = and i32 %conv658.i, 7 %or.i.i394.i = or disjoint i32 %and1.i.i393.i, %and.i.i392.i - %607 = trunc i32 %or.i.i394.i to i8 - %conv.i.i395.i = or i8 %607, -64 - %608 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i397.i = getelementptr i8, ptr %608, i64 1 + %609 = trunc i32 %or.i.i394.i to i8 + %conv.i.i395.i = or i8 %609, -64 + %610 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i397.i = getelementptr i8, ptr %610, i64 1 store ptr %incdec.ptr.i.i.i397.i, ptr %code_ptr, align 8 - store i8 %conv.i.i395.i, ptr %608, align 1 + store i8 %conv.i.i395.i, ptr %610, align 1 br label %sw.epilog715.i sw.bb659.i: ; preds = %if.end636.i - %609 = load i64, ptr %new_args.i, align 16 - %conv661.i = trunc i64 %609 to i32 - %610 = load i64, ptr %arrayidx692.i, align 8 - %conv663.i = trunc i64 %610 to i32 + %611 = load i64, ptr %new_args.i, align 16 + %conv661.i = trunc i64 %611 to i32 + %612 = load i64, ptr %arrayidx692.i, align 8 + %conv663.i = trunc i64 %612 to i32 %and18.i617.i = lshr i32 %conv661.i, 1 %shr.i618.i = and i32 %and18.i617.i, 4 %and23.i620.i = lshr i32 %conv663.i, 3 %shr24.i621.i = and i32 %and23.i620.i, 1 %or19.i619.i = or disjoint i32 %shr24.i621.i, %shr.i618.i - %611 = trunc i32 %or19.i619.i to i8 - %conv.i629.i = or disjoint i8 %611, 72 - %612 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i631.i = getelementptr i8, ptr %612, i64 1 + %613 = trunc i32 %or19.i619.i to i8 + %conv.i629.i = or disjoint i8 %613, 72 + %614 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i631.i = getelementptr i8, ptr %614, i64 1 store ptr %incdec.ptr.i37.i631.i, ptr %code_ptr, align 8 - store i8 %conv.i629.i, ptr %612, align 1 - %613 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i39.i633.i = getelementptr i8, ptr %613, i64 1 + store i8 %conv.i629.i, ptr %614, align 1 + %615 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i39.i633.i = getelementptr i8, ptr %615, i64 1 store ptr %incdec.ptr.i39.i633.i, ptr %code_ptr, align 8 - store i8 15, ptr %613, align 1 - %614 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i635.i = getelementptr i8, ptr %614, i64 1 + store i8 15, ptr %615, align 1 + %616 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i635.i = getelementptr i8, ptr %616, i64 1 store ptr %incdec.ptr.i45.i635.i, ptr %code_ptr, align 8 - store i8 -65, ptr %614, align 1 + store i8 -65, ptr %616, align 1 %and.i.i398.i = shl i32 %conv661.i, 3 %and1.i.i399.i = and i32 %conv663.i, 7 %or.i.i400.i = or disjoint i32 %and1.i.i399.i, %and.i.i398.i - %615 = trunc i32 %or.i.i400.i to i8 - %conv.i.i401.i = or i8 %615, -64 - %616 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i403.i = getelementptr i8, ptr %616, i64 1 + %617 = trunc i32 %or.i.i400.i to i8 + %conv.i.i401.i = or i8 %617, -64 + %618 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i403.i = getelementptr i8, ptr %618, i64 1 store ptr %incdec.ptr.i.i.i403.i, ptr %code_ptr, align 8 - store i8 %conv.i.i401.i, ptr %616, align 1 + store i8 %conv.i.i401.i, ptr %618, align 1 br label %sw.epilog715.i sw.bb664.i: ; preds = %if.end636.i, %if.end636.i - %617 = load i64, ptr %new_args.i, align 16 - %conv666.i = trunc i64 %617 to i32 - %618 = load i64, ptr %arrayidx692.i, align 8 - %conv668.i = trunc i64 %618 to i32 + %619 = load i64, ptr %new_args.i, align 16 + %conv666.i = trunc i64 %619 to i32 + %620 = load i64, ptr %arrayidx692.i, align 8 + %conv668.i = trunc i64 %620 to i32 %and18.i.i404.i = lshr i32 %conv666.i, 1 %shr.i.i405.i = and i32 %and18.i.i404.i, 4 %and23.i.i406.i = lshr i32 %conv668.i, 3 @@ -11389,8 +11387,8 @@ sw.bb664.i: ; preds = %if.end636.i, %if.en br i1 %tobool34.not.i.i409.i, label %tcg_out_ext16u.exit.i, label %if.then35.i.i410.i if.then35.i.i410.i: ; preds = %sw.bb664.i - %619 = trunc i32 %or22.i.i408.i to i8 - %conv.i1.i.i = or disjoint i8 %619, 64 + %621 = trunc i32 %or22.i.i408.i to i8 + %conv.i1.i.i = or disjoint i8 %621, 64 %incdec.ptr.i37.i.i412.i = getelementptr i8, ptr %.pre761, i64 1 store ptr %incdec.ptr.i37.i.i412.i, ptr %code_ptr, align 8 store i8 %conv.i1.i.i, ptr %.pre761, align 1 @@ -11398,61 +11396,61 @@ if.then35.i.i410.i: ; preds = %sw.bb664.i br label %tcg_out_ext16u.exit.i tcg_out_ext16u.exit.i: ; preds = %if.then35.i.i410.i, %sw.bb664.i - %620 = phi ptr [ %.pre760, %if.then35.i.i410.i ], [ %.pre761, %sw.bb664.i ] - %incdec.ptr.i39.i.i414.i = getelementptr i8, ptr %620, i64 1 + %622 = phi ptr [ %.pre760, %if.then35.i.i410.i ], [ %.pre761, %sw.bb664.i ] + %incdec.ptr.i39.i.i414.i = getelementptr i8, ptr %622, i64 1 store ptr %incdec.ptr.i39.i.i414.i, ptr %code_ptr, align 8 - store i8 15, ptr %620, align 1 - %621 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i415.i = getelementptr i8, ptr %621, i64 1 + store i8 15, ptr %622, align 1 + %623 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i415.i = getelementptr i8, ptr %623, i64 1 store ptr %incdec.ptr.i45.i.i415.i, ptr %code_ptr, align 8 - store i8 -73, ptr %621, align 1 + store i8 -73, ptr %623, align 1 %and.i.i416.i = shl i32 %conv666.i, 3 %and1.i.i417.i = and i32 %conv668.i, 7 %or.i.i418.i = or disjoint i32 %and1.i.i417.i, %and.i.i416.i - %622 = trunc i32 %or.i.i418.i to i8 - %conv.i.i419.i = or i8 %622, -64 - %623 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i420.i = getelementptr i8, ptr %623, i64 1 + %624 = trunc i32 %or.i.i418.i to i8 + %conv.i.i419.i = or i8 %624, -64 + %625 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i420.i = getelementptr i8, ptr %625, i64 1 store ptr %incdec.ptr.i.i.i420.i, ptr %code_ptr, align 8 - store i8 %conv.i.i419.i, ptr %623, align 1 + store i8 %conv.i.i419.i, ptr %625, align 1 br label %sw.epilog715.i sw.bb669.i: ; preds = %if.end636.i - %624 = load i64, ptr %new_args.i, align 16 - %conv671.i = trunc i64 %624 to i32 - %625 = load i64, ptr %arrayidx692.i, align 8 - %conv673.i = trunc i64 %625 to i32 + %626 = load i64, ptr %new_args.i, align 16 + %conv671.i = trunc i64 %626 to i32 + %627 = load i64, ptr %arrayidx692.i, align 8 + %conv673.i = trunc i64 %627 to i32 %and18.i.i421.i = lshr i32 %conv671.i, 1 %shr.i.i422.i = and i32 %and18.i.i421.i, 4 %and23.i.i423.i = lshr i32 %conv673.i, 3 %shr24.i.i424.i = and i32 %and23.i.i423.i, 1 %or19.i.i.i = or disjoint i32 %shr24.i.i424.i, %shr.i.i422.i - %626 = trunc i32 %or19.i.i.i to i8 - %conv.i1.i425.i = or disjoint i8 %626, 72 - %627 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i427.i = getelementptr i8, ptr %627, i64 1 + %628 = trunc i32 %or19.i.i.i to i8 + %conv.i1.i425.i = or disjoint i8 %628, 72 + %629 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i427.i = getelementptr i8, ptr %629, i64 1 store ptr %incdec.ptr.i37.i.i427.i, ptr %code_ptr, align 8 - store i8 %conv.i1.i425.i, ptr %627, align 1 - %628 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i428.i = getelementptr i8, ptr %628, i64 1 + store i8 %conv.i1.i425.i, ptr %629, align 1 + %630 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i428.i = getelementptr i8, ptr %630, i64 1 store ptr %incdec.ptr.i45.i.i428.i, ptr %code_ptr, align 8 - store i8 99, ptr %628, align 1 + store i8 99, ptr %630, align 1 %and.i.i429.i = shl i32 %conv671.i, 3 %and1.i.i430.i = and i32 %conv673.i, 7 %or.i.i431.i = or disjoint i32 %and1.i.i430.i, %and.i.i429.i - %629 = trunc i32 %or.i.i431.i to i8 - %conv.i.i432.i = or i8 %629, -64 - %630 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i433.i = getelementptr i8, ptr %630, i64 1 + %631 = trunc i32 %or.i.i431.i to i8 + %conv.i.i432.i = or i8 %631, -64 + %632 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i433.i = getelementptr i8, ptr %632, i64 1 store ptr %incdec.ptr.i.i.i433.i, ptr %code_ptr, align 8 - store i8 %conv.i.i432.i, ptr %630, align 1 + store i8 %conv.i.i432.i, ptr %632, align 1 br label %sw.epilog715.i sw.bb674.i: ; preds = %if.end636.i - %631 = load i64, ptr %new_args.i, align 16 - %conv676.i = trunc i64 %631 to i32 - %632 = load i64, ptr %arrayidx692.i, align 8 - %conv678.i = trunc i64 %632 to i32 + %633 = load i64, ptr %new_args.i, align 16 + %conv676.i = trunc i64 %633 to i32 + %634 = load i64, ptr %arrayidx692.i, align 8 + %conv678.i = trunc i64 %634 to i32 %and18.i.i434.i = lshr i32 %conv676.i, 1 %shr.i.i435.i = and i32 %and18.i.i434.i, 4 %and23.i.i436.i = lshr i32 %conv678.i, 3 @@ -11463,8 +11461,8 @@ sw.bb674.i: ; preds = %if.end636.i br i1 %tobool34.not.i.i439.i, label %tcg_out_ext32u.exit.i, label %if.then35.i.i440.i if.then35.i.i440.i: ; preds = %sw.bb674.i - %633 = trunc i32 %or22.i.i438.i to i8 - %conv.i1.i441.i = or disjoint i8 %633, 64 + %635 = trunc i32 %or22.i.i438.i to i8 + %conv.i1.i441.i = or disjoint i8 %635, 64 %incdec.ptr.i37.i.i443.i = getelementptr i8, ptr %.pre759, i64 1 store ptr %incdec.ptr.i37.i.i443.i, ptr %code_ptr, align 8 store i8 %conv.i1.i441.i, ptr %.pre759, align 1 @@ -11472,57 +11470,57 @@ if.then35.i.i440.i: ; preds = %sw.bb674.i br label %tcg_out_ext32u.exit.i tcg_out_ext32u.exit.i: ; preds = %if.then35.i.i440.i, %sw.bb674.i - %634 = phi ptr [ %.pre758, %if.then35.i.i440.i ], [ %.pre759, %sw.bb674.i ] - %incdec.ptr.i45.i.i444.i = getelementptr i8, ptr %634, i64 1 + %636 = phi ptr [ %.pre758, %if.then35.i.i440.i ], [ %.pre759, %sw.bb674.i ] + %incdec.ptr.i45.i.i444.i = getelementptr i8, ptr %636, i64 1 store ptr %incdec.ptr.i45.i.i444.i, ptr %code_ptr, align 8 - store i8 -117, ptr %634, align 1 + store i8 -117, ptr %636, align 1 %and.i.i445.i = shl i32 %conv676.i, 3 %and1.i.i446.i = and i32 %conv678.i, 7 %or.i.i447.i = or disjoint i32 %and1.i.i446.i, %and.i.i445.i - %635 = trunc i32 %or.i.i447.i to i8 - %conv.i.i448.i = or i8 %635, -64 - %636 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i449.i = getelementptr i8, ptr %636, i64 1 + %637 = trunc i32 %or.i.i447.i to i8 + %conv.i.i448.i = or i8 %637, -64 + %638 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i449.i = getelementptr i8, ptr %638, i64 1 store ptr %incdec.ptr.i.i.i449.i, ptr %code_ptr, align 8 - store i8 %conv.i.i448.i, ptr %636, align 1 + store i8 %conv.i.i448.i, ptr %638, align 1 br label %sw.epilog715.i sw.bb679.i: ; preds = %if.end636.i - %637 = load i64, ptr %new_args.i, align 16 - %conv681.i = trunc i64 %637 to i32 - %638 = load i64, ptr %arrayidx692.i, align 8 - %conv683.i = trunc i64 %638 to i32 + %639 = load i64, ptr %new_args.i, align 16 + %conv681.i = trunc i64 %639 to i32 + %640 = load i64, ptr %arrayidx692.i, align 8 + %conv683.i = trunc i64 %640 to i32 %and18.i.i.i.i = lshr i32 %conv681.i, 1 %shr.i.i.i.i = and i32 %and18.i.i.i.i, 4 %and23.i.i.i.i = lshr i32 %conv683.i, 3 %shr24.i.i.i.i = and i32 %and23.i.i.i.i, 1 %or19.i.i.i.i = or disjoint i32 %shr24.i.i.i.i, %shr.i.i.i.i - %639 = trunc i32 %or19.i.i.i.i to i8 - %conv.i1.i.i.i = or disjoint i8 %639, 72 - %640 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i.i.i468 = getelementptr i8, ptr %640, i64 1 + %641 = trunc i32 %or19.i.i.i.i to i8 + %conv.i1.i.i.i = or disjoint i8 %641, 72 + %642 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i.i.i468 = getelementptr i8, ptr %642, i64 1 store ptr %incdec.ptr.i37.i.i.i.i468, ptr %code_ptr, align 8 - store i8 %conv.i1.i.i.i, ptr %640, align 1 - %641 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i.i.i469 = getelementptr i8, ptr %641, i64 1 + store i8 %conv.i1.i.i.i, ptr %642, align 1 + %643 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i.i.i469 = getelementptr i8, ptr %643, i64 1 store ptr %incdec.ptr.i45.i.i.i.i469, ptr %code_ptr, align 8 - store i8 99, ptr %641, align 1 + store i8 99, ptr %643, align 1 %and.i.i.i.i = shl i32 %conv681.i, 3 %and1.i.i.i.i = and i32 %conv683.i, 7 %or.i.i.i.i = or disjoint i32 %and1.i.i.i.i, %and.i.i.i.i - %642 = trunc i32 %or.i.i.i.i to i8 - %conv.i.i.i.i470 = or i8 %642, -64 - %643 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i.i471 = getelementptr i8, ptr %643, i64 1 + %644 = trunc i32 %or.i.i.i.i to i8 + %conv.i.i.i.i470 = or i8 %644, -64 + %645 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i.i.i471 = getelementptr i8, ptr %645, i64 1 store ptr %incdec.ptr.i.i.i.i.i471, ptr %code_ptr, align 8 - store i8 %conv.i.i.i.i470, ptr %643, align 1 + store i8 %conv.i.i.i.i470, ptr %645, align 1 br label %sw.epilog715.i sw.bb684.i: ; preds = %if.end636.i - %644 = load i64, ptr %new_args.i, align 16 - %conv686.i = trunc i64 %644 to i32 - %645 = load i64, ptr %arrayidx692.i, align 8 - %conv688.i = trunc i64 %645 to i32 + %646 = load i64, ptr %new_args.i, align 16 + %conv686.i = trunc i64 %646 to i32 + %647 = load i64, ptr %arrayidx692.i, align 8 + %conv688.i = trunc i64 %647 to i32 %cmp.not.i450.i = icmp eq i32 %conv686.i, %conv688.i br i1 %cmp.not.i450.i, label %sw.epilog715.i, label %if.then.i451.i @@ -11537,8 +11535,8 @@ if.then.i451.i: ; preds = %sw.bb684.i br i1 %tobool34.not.i.i.i.i, label %tcg_out_ext32u.exit.i.i, label %if.then35.i.i.i.i if.then35.i.i.i.i: ; preds = %if.then.i451.i - %646 = trunc i32 %or22.i.i.i.i to i8 - %conv.i1.i.i456.i = or disjoint i8 %646, 64 + %648 = trunc i32 %or22.i.i.i.i to i8 + %conv.i1.i.i456.i = or disjoint i8 %648, 64 %incdec.ptr.i37.i.i.i458.i = getelementptr i8, ptr %.pre757, i64 1 store ptr %incdec.ptr.i37.i.i.i458.i, ptr %code_ptr, align 8 store i8 %conv.i1.i.i456.i, ptr %.pre757, align 1 @@ -11546,26 +11544,26 @@ if.then35.i.i.i.i: ; preds = %if.then.i451.i br label %tcg_out_ext32u.exit.i.i tcg_out_ext32u.exit.i.i: ; preds = %if.then35.i.i.i.i, %if.then.i451.i - %647 = phi ptr [ %.pre756, %if.then35.i.i.i.i ], [ %.pre757, %if.then.i451.i ] - %incdec.ptr.i45.i.i.i459.i = getelementptr i8, ptr %647, i64 1 + %649 = phi ptr [ %.pre756, %if.then35.i.i.i.i ], [ %.pre757, %if.then.i451.i ] + %incdec.ptr.i45.i.i.i459.i = getelementptr i8, ptr %649, i64 1 store ptr %incdec.ptr.i45.i.i.i459.i, ptr %code_ptr, align 8 - store i8 -117, ptr %647, align 1 + store i8 -117, ptr %649, align 1 %and.i.i.i460.i = shl i32 %conv686.i, 3 %and1.i.i.i461.i = and i32 %conv688.i, 7 %or.i.i.i462.i = or disjoint i32 %and1.i.i.i461.i, %and.i.i.i460.i - %648 = trunc i32 %or.i.i.i462.i to i8 - %conv.i.i.i463.i = or i8 %648, -64 - %649 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i464.i = getelementptr i8, ptr %649, i64 1 + %650 = trunc i32 %or.i.i.i462.i to i8 + %conv.i.i.i463.i = or i8 %650, -64 + %651 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i.i464.i = getelementptr i8, ptr %651, i64 1 store ptr %incdec.ptr.i.i.i.i464.i, ptr %code_ptr, align 8 - store i8 %conv.i.i.i463.i, ptr %649, align 1 + store i8 %conv.i.i.i463.i, ptr %651, align 1 br label %sw.epilog715.i sw.bb689.i: ; preds = %if.end636.i - %650 = load i64, ptr %new_args.i, align 16 - %conv691.i = trunc i64 %650 to i32 - %651 = load i64, ptr %arrayidx692.i, align 8 - %conv693.i = trunc i64 %651 to i32 + %652 = load i64, ptr %new_args.i, align 16 + %conv691.i = trunc i64 %652 to i32 + %653 = load i64, ptr %arrayidx692.i, align 8 + %conv693.i = trunc i64 %653 to i32 %and18.i.i.i466.i = lshr i32 %conv691.i, 1 %shr.i.i.i467.i = and i32 %and18.i.i.i466.i, 4 %and23.i.i.i468.i = lshr i32 %conv693.i, 3 @@ -11576,8 +11574,8 @@ sw.bb689.i: ; preds = %if.end636.i br i1 %tobool34.not.i.i.i471.i, label %tcg_out_extrl_i64_i32.exit.i, label %if.then35.i.i.i472.i if.then35.i.i.i472.i: ; preds = %sw.bb689.i - %652 = trunc i32 %or22.i.i.i470.i to i8 - %conv.i1.i.i473.i = or disjoint i8 %652, 64 + %654 = trunc i32 %or22.i.i.i470.i to i8 + %conv.i1.i.i473.i = or disjoint i8 %654, 64 %incdec.ptr.i37.i.i.i475.i = getelementptr i8, ptr %.pre755, i64 1 store ptr %incdec.ptr.i37.i.i.i475.i, ptr %code_ptr, align 8 store i8 %conv.i1.i.i473.i, ptr %.pre755, align 1 @@ -11585,25 +11583,25 @@ if.then35.i.i.i472.i: ; preds = %sw.bb689.i br label %tcg_out_extrl_i64_i32.exit.i tcg_out_extrl_i64_i32.exit.i: ; preds = %if.then35.i.i.i472.i, %sw.bb689.i - %653 = phi ptr [ %.pre, %if.then35.i.i.i472.i ], [ %.pre755, %sw.bb689.i ] - %incdec.ptr.i45.i.i.i478.i = getelementptr i8, ptr %653, i64 1 + %655 = phi ptr [ %.pre, %if.then35.i.i.i472.i ], [ %.pre755, %sw.bb689.i ] + %incdec.ptr.i45.i.i.i478.i = getelementptr i8, ptr %655, i64 1 store ptr %incdec.ptr.i45.i.i.i478.i, ptr %code_ptr, align 8 - store i8 -117, ptr %653, align 1 + store i8 -117, ptr %655, align 1 %and.i.i.i479.i = shl i32 %conv691.i, 3 %and1.i.i.i480.i = and i32 %conv693.i, 7 %or.i.i.i481.i = or disjoint i32 %and1.i.i.i480.i, %and.i.i.i479.i - %654 = trunc i32 %or.i.i.i481.i to i8 - %conv.i.i.i482.i = or i8 %654, -64 - %655 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i483.i = getelementptr i8, ptr %655, i64 1 + %656 = trunc i32 %or.i.i.i481.i to i8 + %conv.i.i.i482.i = or i8 %656, -64 + %657 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i.i483.i = getelementptr i8, ptr %657, i64 1 store ptr %incdec.ptr.i.i.i.i483.i, ptr %code_ptr, align 8 - store i8 %conv.i.i.i482.i, ptr %655, align 1 + store i8 %conv.i.i.i482.i, ptr %657, align 1 br label %sw.epilog715.i sw.default694.i: ; preds = %if.end636.i - %656 = load i8, ptr %flags.i463, align 4 - %657 = and i8 %656, 64 - %tobool698.not.i = icmp eq i8 %657, 0 + %658 = load i8, ptr %flags.i463, align 4 + %659 = and i8 %658, 64 + %tobool698.not.i = icmp eq i8 %659, 0 br i1 %tobool698.not.i, label %if.else709.i, label %if.then699.i if.then699.i: ; preds = %sw.default694.i @@ -11611,9 +11609,9 @@ if.then699.i: ; preds = %sw.default694.i %bf.clear704.i = and i32 %bf.lshr703.i, 255 %bf.lshr706.i = lshr i32 %bf.load637.i, 24 %add.i.i474 = add nuw nsw i32 %bf.clear704.i, 3 - %658 = load i64, ptr %new_args.i, align 16 - %659 = load i64, ptr %arrayidx692.i, align 8 - %660 = load i64, ptr %arrayidx2.i.i, align 16 + %660 = load i64, ptr %new_args.i, align 16 + %661 = load i64, ptr %arrayidx692.i, align 8 + %662 = load i64, ptr %arrayidx2.i.i, align 16 switch i8 %trunc.i465, label %do.body236.i.i [ i8 -101, label %sw.bb.i493.i i8 -96, label %sw.bb4.i.i @@ -11670,43 +11668,43 @@ if.then699.i: ; preds = %sw.default694.i sw.bb.i493.i: ; preds = %if.then699.i %idxprom.i494.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx3.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.add_insn, i64 0, i64 %idxprom.i494.i - %661 = load i32, ptr %arrayidx3.i.i, align 4 + %663 = load i32, ptr %arrayidx3.i.i, align 4 br label %do.body.i490.i sw.bb4.i.i: ; preds = %if.then699.i %idxprom5.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx6.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.ssadd_insn, i64 0, i64 %idxprom5.i.i - %662 = load i32, ptr %arrayidx6.i.i, align 4 + %664 = load i32, ptr %arrayidx6.i.i, align 4 br label %do.body.i490.i sw.bb7.i.i: ; preds = %if.then699.i %idxprom8.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx9.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.usadd_insn, i64 0, i64 %idxprom8.i.i - %663 = load i32, ptr %arrayidx9.i.i, align 4 + %665 = load i32, ptr %arrayidx9.i.i, align 4 br label %do.body.i490.i sw.bb10.i.i: ; preds = %if.then699.i %idxprom11.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx12.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.sub_insn, i64 0, i64 %idxprom11.i.i - %664 = load i32, ptr %arrayidx12.i.i, align 4 + %666 = load i32, ptr %arrayidx12.i.i, align 4 br label %do.body.i490.i sw.bb13.i.i: ; preds = %if.then699.i %idxprom14.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx15.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.sssub_insn, i64 0, i64 %idxprom14.i.i - %665 = load i32, ptr %arrayidx15.i.i, align 4 + %667 = load i32, ptr %arrayidx15.i.i, align 4 br label %do.body.i490.i sw.bb16.i.i: ; preds = %if.then699.i %idxprom17.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx18.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.ussub_insn, i64 0, i64 %idxprom17.i.i - %666 = load i32, ptr %arrayidx18.i.i, align 4 + %668 = load i32, ptr %arrayidx18.i.i, align 4 br label %do.body.i490.i sw.bb19.i.i: ; preds = %if.then699.i %idxprom20.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx21.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.mul_insn, i64 0, i64 %idxprom20.i.i - %667 = load i32, ptr %arrayidx21.i.i, align 4 + %669 = load i32, ptr %arrayidx21.i.i, align 4 br label %do.body.i490.i sw.bb23.i.i: ; preds = %if.then699.i @@ -11718,137 +11716,137 @@ sw.bb24.i.i: ; preds = %if.then699.i sw.bb25.i.i: ; preds = %if.then699.i %idxprom26.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx27.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.smin_insn, i64 0, i64 %idxprom26.i.i - %668 = load i32, ptr %arrayidx27.i.i, align 4 + %670 = load i32, ptr %arrayidx27.i.i, align 4 br label %do.body.i490.i sw.bb28.i.i: ; preds = %if.then699.i %idxprom29.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx30.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.umin_insn, i64 0, i64 %idxprom29.i.i - %669 = load i32, ptr %arrayidx30.i.i, align 4 + %671 = load i32, ptr %arrayidx30.i.i, align 4 br label %do.body.i490.i sw.bb31.i.i: ; preds = %if.then699.i %idxprom32.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx33.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.smax_insn, i64 0, i64 %idxprom32.i.i - %670 = load i32, ptr %arrayidx33.i.i, align 4 + %672 = load i32, ptr %arrayidx33.i.i, align 4 br label %do.body.i490.i sw.bb34.i.i: ; preds = %if.then699.i %idxprom35.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx36.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.umax_insn, i64 0, i64 %idxprom35.i.i - %671 = load i32, ptr %arrayidx36.i.i, align 4 + %673 = load i32, ptr %arrayidx36.i.i, align 4 br label %do.body.i490.i sw.bb37.i.i: ; preds = %if.then699.i %idxprom38.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx39.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shlv_insn, i64 0, i64 %idxprom38.i.i - %672 = load i32, ptr %arrayidx39.i.i, align 4 + %674 = load i32, ptr %arrayidx39.i.i, align 4 br label %do.body.i490.i sw.bb40.i.i: ; preds = %if.then699.i %idxprom41.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx42.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shrv_insn, i64 0, i64 %idxprom41.i.i - %673 = load i32, ptr %arrayidx42.i.i, align 4 + %675 = load i32, ptr %arrayidx42.i.i, align 4 br label %do.body.i490.i sw.bb43.i.i: ; preds = %if.then699.i %idxprom44.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx45.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.sarv_insn, i64 0, i64 %idxprom44.i.i - %674 = load i32, ptr %arrayidx45.i.i, align 4 + %676 = load i32, ptr %arrayidx45.i.i, align 4 br label %do.body.i490.i sw.bb46.i.i: ; preds = %if.then699.i %idxprom47.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx48.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.rotlv_insn, i64 0, i64 %idxprom47.i.i - %675 = load i32, ptr %arrayidx48.i.i, align 4 + %677 = load i32, ptr %arrayidx48.i.i, align 4 br label %do.body.i490.i sw.bb49.i.i: ; preds = %if.then699.i %idxprom50.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx51.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.rotrv_insn, i64 0, i64 %idxprom50.i.i - %676 = load i32, ptr %arrayidx51.i.i, align 4 + %678 = load i32, ptr %arrayidx51.i.i, align 4 br label %do.body.i490.i sw.bb52.i.i: ; preds = %if.then699.i %idxprom53.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx54.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shls_insn, i64 0, i64 %idxprom53.i.i - %677 = load i32, ptr %arrayidx54.i.i, align 4 + %679 = load i32, ptr %arrayidx54.i.i, align 4 br label %do.body.i490.i sw.bb55.i.i: ; preds = %if.then699.i %idxprom56.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx57.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shrs_insn, i64 0, i64 %idxprom56.i.i - %678 = load i32, ptr %arrayidx57.i.i, align 4 + %680 = load i32, ptr %arrayidx57.i.i, align 4 br label %do.body.i490.i sw.bb58.i.i: ; preds = %if.then699.i %idxprom59.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx60.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.sars_insn, i64 0, i64 %idxprom59.i.i - %679 = load i32, ptr %arrayidx60.i.i, align 4 + %681 = load i32, ptr %arrayidx60.i.i, align 4 br label %do.body.i490.i sw.bb61.i.i: ; preds = %if.then699.i %idxprom62.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx63.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.punpckl_insn, i64 0, i64 %idxprom62.i.i - %680 = load i32, ptr %arrayidx63.i.i, align 4 + %682 = load i32, ptr %arrayidx63.i.i, align 4 br label %do.body.i490.i sw.bb64.i.i: ; preds = %if.then699.i %idxprom65.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx66.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.punpckh_insn, i64 0, i64 %idxprom65.i.i - %681 = load i32, ptr %arrayidx66.i.i, align 4 + %683 = load i32, ptr %arrayidx66.i.i, align 4 br label %do.body.i490.i sw.bb67.i.i: ; preds = %if.then699.i %idxprom68.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx69.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.packss_insn, i64 0, i64 %idxprom68.i.i - %682 = load i32, ptr %arrayidx69.i.i, align 4 + %684 = load i32, ptr %arrayidx69.i.i, align 4 br label %do.body.i490.i sw.bb70.i.i: ; preds = %if.then699.i %idxprom71.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx72.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.packus_insn, i64 0, i64 %idxprom71.i.i - %683 = load i32, ptr %arrayidx72.i.i, align 4 + %685 = load i32, ptr %arrayidx72.i.i, align 4 br label %do.body.i490.i sw.bb73.i.i: ; preds = %if.then699.i %idxprom74.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx75.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.vpshldv_insn, i64 0, i64 %idxprom74.i.i - %684 = load i32, ptr %arrayidx75.i.i, align 4 - %685 = load i64, ptr %arrayidx229.i.i, align 8 + %686 = load i32, ptr %arrayidx75.i.i, align 4 + %687 = load i64, ptr %arrayidx229.i.i, align 8 br label %do.body.i490.i sw.bb77.i.i: ; preds = %if.then699.i %idxprom78.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx79.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.vpshrdv_insn, i64 0, i64 %idxprom78.i.i - %686 = load i32, ptr %arrayidx79.i.i, align 4 - %687 = load i64, ptr %arrayidx229.i.i, align 8 + %688 = load i32, ptr %arrayidx79.i.i, align 4 + %689 = load i64, ptr %arrayidx229.i.i, align 8 br label %do.body.i490.i sw.bb81.i.i: ; preds = %if.then699.i %idxprom82.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx83.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.abs_insn, i64 0, i64 %idxprom82.i.i - %688 = load i32, ptr %arrayidx83.i.i, align 4 + %690 = load i32, ptr %arrayidx83.i.i, align 4 br label %do.body.i490.i do.body.i490.i: ; preds = %if.then99.i.i, %if.then94.i.i, %sw.bb81.i.i, %sw.bb77.i.i, %sw.bb73.i.i, %sw.bb70.i.i, %sw.bb67.i.i, %sw.bb64.i.i, %sw.bb61.i.i, %sw.bb58.i.i, %sw.bb55.i.i, %sw.bb52.i.i, %sw.bb49.i.i, %sw.bb46.i.i, %sw.bb43.i.i, %sw.bb40.i.i, %sw.bb37.i.i, %sw.bb34.i.i, %sw.bb31.i.i, %sw.bb28.i.i, %sw.bb25.i.i, %sw.bb24.i.i, %sw.bb23.i.i, %sw.bb19.i.i, %sw.bb16.i.i, %sw.bb13.i.i, %sw.bb10.i.i, %sw.bb7.i.i, %sw.bb4.i.i, %sw.bb.i493.i, %if.then699.i - %a1.0.i.i = phi i64 [ %659, %if.then94.i.i ], [ %659, %if.then99.i.i ], [ 0, %sw.bb81.i.i ], [ %660, %sw.bb77.i.i ], [ %660, %sw.bb73.i.i ], [ %659, %sw.bb70.i.i ], [ %659, %sw.bb67.i.i ], [ %659, %sw.bb64.i.i ], [ %659, %sw.bb61.i.i ], [ %659, %sw.bb58.i.i ], [ %659, %sw.bb55.i.i ], [ %659, %sw.bb52.i.i ], [ %659, %sw.bb49.i.i ], [ %659, %sw.bb46.i.i ], [ %659, %sw.bb43.i.i ], [ %659, %sw.bb40.i.i ], [ %659, %sw.bb37.i.i ], [ %659, %sw.bb34.i.i ], [ %659, %sw.bb31.i.i ], [ %659, %sw.bb28.i.i ], [ %659, %sw.bb25.i.i ], [ %659, %sw.bb24.i.i ], [ %659, %sw.bb23.i.i ], [ %659, %sw.bb19.i.i ], [ %659, %sw.bb16.i.i ], [ %659, %sw.bb13.i.i ], [ %659, %sw.bb10.i.i ], [ %659, %sw.bb7.i.i ], [ %659, %sw.bb4.i.i ], [ %659, %sw.bb.i493.i ], [ %659, %if.then699.i ] - %a2.0.i.i = phi i64 [ %660, %if.then94.i.i ], [ %660, %if.then99.i.i ], [ %659, %sw.bb81.i.i ], [ %687, %sw.bb77.i.i ], [ %685, %sw.bb73.i.i ], [ %660, %sw.bb70.i.i ], [ %660, %sw.bb67.i.i ], [ %660, %sw.bb64.i.i ], [ %660, %sw.bb61.i.i ], [ %660, %sw.bb58.i.i ], [ %660, %sw.bb55.i.i ], [ %660, %sw.bb52.i.i ], [ %660, %sw.bb49.i.i ], [ %660, %sw.bb46.i.i ], [ %660, %sw.bb43.i.i ], [ %660, %sw.bb40.i.i ], [ %660, %sw.bb37.i.i ], [ %660, %sw.bb34.i.i ], [ %660, %sw.bb31.i.i ], [ %660, %sw.bb28.i.i ], [ %660, %sw.bb25.i.i ], [ %660, %sw.bb24.i.i ], [ %660, %sw.bb23.i.i ], [ %660, %sw.bb19.i.i ], [ %660, %sw.bb16.i.i ], [ %660, %sw.bb13.i.i ], [ %660, %sw.bb10.i.i ], [ %660, %sw.bb7.i.i ], [ %660, %sw.bb4.i.i ], [ %660, %sw.bb.i493.i ], [ %660, %if.then699.i ] - %insn.0.i.i = phi i32 [ %690, %if.then94.i.i ], [ %691, %if.then99.i.i ], [ %688, %sw.bb81.i.i ], [ %686, %sw.bb77.i.i ], [ %684, %sw.bb73.i.i ], [ %683, %sw.bb70.i.i ], [ %682, %sw.bb67.i.i ], [ %681, %sw.bb64.i.i ], [ %680, %sw.bb61.i.i ], [ %679, %sw.bb58.i.i ], [ %678, %sw.bb55.i.i ], [ %677, %sw.bb52.i.i ], [ %676, %sw.bb49.i.i ], [ %675, %sw.bb46.i.i ], [ %674, %sw.bb43.i.i ], [ %673, %sw.bb40.i.i ], [ %672, %sw.bb37.i.i ], [ %671, %sw.bb34.i.i ], [ %670, %sw.bb31.i.i ], [ %669, %sw.bb28.i.i ], [ %668, %sw.bb25.i.i ], [ 1519, %sw.bb24.i.i ], [ 1515, %sw.bb23.i.i ], [ %667, %sw.bb19.i.i ], [ %666, %sw.bb16.i.i ], [ %665, %sw.bb13.i.i ], [ %664, %sw.bb10.i.i ], [ %663, %sw.bb7.i.i ], [ %662, %sw.bb4.i.i ], [ %661, %sw.bb.i493.i ], [ 1499, %if.then699.i ] + %a1.0.i.i = phi i64 [ %661, %if.then94.i.i ], [ %661, %if.then99.i.i ], [ 0, %sw.bb81.i.i ], [ %662, %sw.bb77.i.i ], [ %662, %sw.bb73.i.i ], [ %661, %sw.bb70.i.i ], [ %661, %sw.bb67.i.i ], [ %661, %sw.bb64.i.i ], [ %661, %sw.bb61.i.i ], [ %661, %sw.bb58.i.i ], [ %661, %sw.bb55.i.i ], [ %661, %sw.bb52.i.i ], [ %661, %sw.bb49.i.i ], [ %661, %sw.bb46.i.i ], [ %661, %sw.bb43.i.i ], [ %661, %sw.bb40.i.i ], [ %661, %sw.bb37.i.i ], [ %661, %sw.bb34.i.i ], [ %661, %sw.bb31.i.i ], [ %661, %sw.bb28.i.i ], [ %661, %sw.bb25.i.i ], [ %661, %sw.bb24.i.i ], [ %661, %sw.bb23.i.i ], [ %661, %sw.bb19.i.i ], [ %661, %sw.bb16.i.i ], [ %661, %sw.bb13.i.i ], [ %661, %sw.bb10.i.i ], [ %661, %sw.bb7.i.i ], [ %661, %sw.bb4.i.i ], [ %661, %sw.bb.i493.i ], [ %661, %if.then699.i ] + %a2.0.i.i = phi i64 [ %662, %if.then94.i.i ], [ %662, %if.then99.i.i ], [ %661, %sw.bb81.i.i ], [ %689, %sw.bb77.i.i ], [ %687, %sw.bb73.i.i ], [ %662, %sw.bb70.i.i ], [ %662, %sw.bb67.i.i ], [ %662, %sw.bb64.i.i ], [ %662, %sw.bb61.i.i ], [ %662, %sw.bb58.i.i ], [ %662, %sw.bb55.i.i ], [ %662, %sw.bb52.i.i ], [ %662, %sw.bb49.i.i ], [ %662, %sw.bb46.i.i ], [ %662, %sw.bb43.i.i ], [ %662, %sw.bb40.i.i ], [ %662, %sw.bb37.i.i ], [ %662, %sw.bb34.i.i ], [ %662, %sw.bb31.i.i ], [ %662, %sw.bb28.i.i ], [ %662, %sw.bb25.i.i ], [ %662, %sw.bb24.i.i ], [ %662, %sw.bb23.i.i ], [ %662, %sw.bb19.i.i ], [ %662, %sw.bb16.i.i ], [ %662, %sw.bb13.i.i ], [ %662, %sw.bb10.i.i ], [ %662, %sw.bb7.i.i ], [ %662, %sw.bb4.i.i ], [ %662, %sw.bb.i493.i ], [ %662, %if.then699.i ] + %insn.0.i.i = phi i32 [ %692, %if.then94.i.i ], [ %693, %if.then99.i.i ], [ %690, %sw.bb81.i.i ], [ %688, %sw.bb77.i.i ], [ %686, %sw.bb73.i.i ], [ %685, %sw.bb70.i.i ], [ %684, %sw.bb67.i.i ], [ %683, %sw.bb64.i.i ], [ %682, %sw.bb61.i.i ], [ %681, %sw.bb58.i.i ], [ %680, %sw.bb55.i.i ], [ %679, %sw.bb52.i.i ], [ %678, %sw.bb49.i.i ], [ %677, %sw.bb46.i.i ], [ %676, %sw.bb43.i.i ], [ %675, %sw.bb40.i.i ], [ %674, %sw.bb37.i.i ], [ %673, %sw.bb34.i.i ], [ %672, %sw.bb31.i.i ], [ %671, %sw.bb28.i.i ], [ %670, %sw.bb25.i.i ], [ 1519, %sw.bb24.i.i ], [ 1515, %sw.bb23.i.i ], [ %669, %sw.bb19.i.i ], [ %668, %sw.bb16.i.i ], [ %667, %sw.bb13.i.i ], [ %666, %sw.bb10.i.i ], [ %665, %sw.bb7.i.i ], [ %664, %sw.bb4.i.i ], [ %663, %sw.bb.i493.i ], [ 1499, %if.then699.i ] %cmp.i491.i = icmp ne i32 %insn.0.i.i, 267 tail call void @llvm.assume(i1 %cmp.i491.i) %cmp84.i.i = icmp eq i32 %add.i.i474, 5 %or.i.i477 = or i32 %insn.0.i.i, 524288 %spec.select.i.i = select i1 %cmp84.i.i, i32 %or.i.i477, i32 %insn.0.i.i - %conv.i492.i = trunc i64 %658 to i32 + %conv.i492.i = trunc i64 %660 to i32 %conv87.i.i = trunc i64 %a1.0.i.i to i32 %conv88.i.i = trunc i64 %a2.0.i.i to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %spec.select.i.i, i32 noundef %conv.i492.i, i32 noundef %conv87.i.i, i32 noundef %conv88.i.i) br label %sw.epilog715.i sw.bb89.i.i: ; preds = %if.then699.i - %689 = load i64, ptr %arrayidx229.i.i, align 8 - %conv91.i.i = trunc i64 %689 to i32 + %691 = load i64, ptr %arrayidx229.i.i, align 8 + %conv91.i.i = trunc i64 %691 to i32 switch i32 %conv91.i.i, label %do.body103.i.i [ i32 8, label %if.then94.i.i i32 11, label %if.then99.i.i @@ -11857,13 +11855,13 @@ sw.bb89.i.i: ; preds = %if.then699.i if.then94.i.i: ; preds = %sw.bb89.i.i %idxprom95.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx96.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.cmpeq_insn, i64 0, i64 %idxprom95.i.i - %690 = load i32, ptr %arrayidx96.i.i, align 4 + %692 = load i32, ptr %arrayidx96.i.i, align 4 br label %do.body.i490.i if.then99.i.i: ; preds = %sw.bb89.i.i %idxprom100.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx101.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.cmpgt_insn, i64 0, i64 %idxprom100.i.i - %691 = load i32, ptr %arrayidx101.i.i, align 4 + %693 = load i32, ptr %arrayidx101.i.i, align 4 br label %do.body.i490.i do.body103.i.i: ; preds = %sw.bb89.i.i @@ -11873,22 +11871,22 @@ do.body103.i.i: ; preds = %sw.bb89.i.i sw.bb107.i.i: ; preds = %if.then699.i %cmp108.i.i = icmp eq i32 %add.i.i474, 5 %spec.select123.i.i = select i1 %cmp108.i.i, i32 525791, i32 1503 - %conv113.i.i = trunc i64 %658 to i32 - %conv114.i.i = trunc i64 %660 to i32 - %conv115.i.i = trunc i64 %659 to i32 + %conv113.i.i = trunc i64 %660 to i32 + %conv114.i.i = trunc i64 %662 to i32 + %conv115.i.i = trunc i64 %661 to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %spec.select123.i.i, i32 noundef %conv113.i.i, i32 noundef %conv114.i.i, i32 noundef %conv115.i.i) br label %sw.epilog715.i sw.bb116.i.i: ; preds = %if.then699.i %idxprom117.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx118.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shift_imm_insn, i64 0, i64 %idxprom117.i.i - %692 = load i32, ptr %arrayidx118.i.i, align 4 + %694 = load i32, ptr %arrayidx118.i.i, align 4 br label %do.body136.i.i sw.bb119.i.i: ; preds = %if.then699.i %idxprom120.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx121.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shift_imm_insn, i64 0, i64 %idxprom120.i.i - %693 = load i32, ptr %arrayidx121.i.i, align 4 + %695 = load i32, ptr %arrayidx121.i.i, align 4 br label %do.body136.i.i sw.bb122.i.i: ; preds = %if.then699.i @@ -11898,7 +11896,7 @@ sw.bb122.i.i: ; preds = %if.then699.i if.else126.i.i: ; preds = %sw.bb122.i.i %idxprom127.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx128.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.shift_imm_insn, i64 0, i64 %idxprom127.i.i - %694 = load i32, ptr %arrayidx128.i.i, align 4 + %696 = load i32, ptr %arrayidx128.i.i, align 4 br label %do.body136.i.i sw.bb130.i.i: ; preds = %if.then699.i @@ -11908,43 +11906,43 @@ sw.bb130.i.i: ; preds = %if.then699.i do.body136.i.i: ; preds = %sw.bb130.i.i, %if.else126.i.i, %sw.bb122.i.i, %sw.bb119.i.i, %sw.bb116.i.i %sub.0.i.i = phi i32 [ 1, %sw.bb130.i.i ], [ 2, %sw.bb119.i.i ], [ 6, %sw.bb116.i.i ], [ 4, %sw.bb122.i.i ], [ 4, %if.else126.i.i ] - %insn.5.i.i = phi i32 [ %spec.select124.i.i, %sw.bb130.i.i ], [ %693, %sw.bb119.i.i ], [ %692, %sw.bb116.i.i ], [ 1054066, %sw.bb122.i.i ], [ %694, %if.else126.i.i ] + %insn.5.i.i = phi i32 [ %spec.select124.i.i, %sw.bb130.i.i ], [ %695, %sw.bb119.i.i ], [ %694, %sw.bb116.i.i ], [ 1054066, %sw.bb122.i.i ], [ %696, %if.else126.i.i ] %cmp137.i.i = icmp ugt i32 %bf.load637.i, 16777215 tail call void @llvm.assume(i1 %cmp137.i.i) %cmp142.i.i = icmp eq i32 %add.i.i474, 5 %or145.i.i = or i32 %insn.5.i.i, 524288 %spec.select125.i.i = select i1 %cmp142.i.i, i32 %or145.i.i, i32 %insn.5.i.i - %conv147.i.i = trunc i64 %658 to i32 - %conv148.i.i = trunc i64 %659 to i32 + %conv147.i.i = trunc i64 %660 to i32 + %conv148.i.i = trunc i64 %661 to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %spec.select125.i.i, i32 noundef %sub.0.i.i, i32 noundef %conv147.i.i, i32 noundef %conv148.i.i) - %conv149.i.i = trunc i64 %660 to i8 - %695 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i476 = getelementptr i8, ptr %695, i64 1 + %conv149.i.i = trunc i64 %662 to i8 + %697 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i476 = getelementptr i8, ptr %697, i64 1 store ptr %incdec.ptr.i.i.i476, ptr %code_ptr, align 8 - store i8 %conv149.i.i, ptr %695, align 1 + store i8 %conv149.i.i, ptr %697, align 1 br label %sw.epilog715.i sw.bb150.i.i: ; preds = %if.then699.i - %conv151.i.i = trunc i64 %658 to i32 - %conv152.i.i = trunc i64 %659 to i32 - tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %conv151.i.i, i32 noundef %conv152.i.i, i64 noundef %660) + %conv151.i.i = trunc i64 %660 to i32 + %conv152.i.i = trunc i64 %661 to i32 + tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %conv151.i.i, i32 noundef %conv152.i.i, i64 noundef %662) br label %sw.epilog715.i sw.bb153.i.i: ; preds = %if.then699.i - %conv154.i.i = trunc i64 %658 to i32 - %conv155.i.i = trunc i64 %659 to i32 - tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %conv154.i.i, i32 noundef %conv155.i.i, i64 noundef %660) + %conv154.i.i = trunc i64 %660 to i32 + %conv155.i.i = trunc i64 %661 to i32 + tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %conv154.i.i, i32 noundef %conv155.i.i, i64 noundef %662) br label %sw.epilog715.i sw.bb156.i.i: ; preds = %if.then699.i - %conv157.i.i = trunc i64 %658 to i32 - %conv158.i.i = trunc i64 %659 to i32 - tail call fastcc void @tcg_out_dupm_vec(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %bf.lshr706.i, i32 noundef %conv157.i.i, i32 noundef %conv158.i.i, i64 noundef %660) + %conv157.i.i = trunc i64 %660 to i32 + %conv158.i.i = trunc i64 %661 to i32 + tail call fastcc void @tcg_out_dupm_vec(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %bf.lshr706.i, i32 noundef %conv157.i.i, i32 noundef %conv158.i.i, i64 noundef %662) br label %sw.epilog715.i sw.bb159.i.i: ; preds = %if.then699.i - %696 = load i64, ptr %arrayidx229.i.i, align 8 - %conv161.i.i = trunc i64 %696 to i8 + %698 = load i64, ptr %arrayidx229.i.i, align 8 + %conv161.i.i = trunc i64 %698 to i8 br label %do.body205.i.i sw.bb162.i.i: ; preds = %if.then699.i @@ -11955,8 +11953,8 @@ sw.bb162.i.i: ; preds = %if.then699.i ] if.then169.i.i: ; preds = %sw.bb162.i.i - %697 = load i32, ptr @cpuinfo, align 4 - %and.i487.i = and i32 %697, 1024 + %699 = load i32, ptr @cpuinfo, align 4 + %and.i487.i = and i32 %699, 1024 %tobool.not.i488.i = icmp eq i32 %and.i487.i, 0 %cond.i489.i = select i1 %tobool.not.i488.i, i32 66572, i32 66562 br label %if.end174.i.i @@ -11967,21 +11965,21 @@ do.body171.i.i: ; preds = %sw.bb162.i.i if.end174.i.i: ; preds = %if.then169.i.i, %sw.bb162.i.i %insn.7.i.i = phi i32 [ %cond.i489.i, %if.then169.i.i ], [ 66574, %sw.bb162.i.i ] - %698 = load i64, ptr %arrayidx229.i.i, align 8 - %conv176.i.i = trunc i64 %698 to i8 + %700 = load i64, ptr %arrayidx229.i.i, align 8 + %conv176.i.i = trunc i64 %700 to i8 br label %do.body205.i.i sw.bb177.i.i: ; preds = %if.then699.i - %699 = load i64, ptr %arrayidx229.i.i, align 8 - %conv179.i.i = trunc i64 %699 to i8 + %701 = load i64, ptr %arrayidx229.i.i, align 8 + %conv179.i.i = trunc i64 %701 to i8 br label %do.body205.i.i sw.bb180.i.i: ; preds = %if.then699.i %idxprom181.i.i = zext nneg i32 %bf.lshr706.i to i64 %arrayidx182.i.i = getelementptr [4 x i32], ptr @tcg_out_vec_op.vpshldi_insn, i64 0, i64 %idxprom181.i.i - %700 = load i32, ptr %arrayidx182.i.i, align 4 - %701 = load i64, ptr %arrayidx229.i.i, align 8 - %conv184.i.i = trunc i64 %701 to i8 + %702 = load i32, ptr %arrayidx182.i.i, align 4 + %703 = load i64, ptr %arrayidx229.i.i, align 8 + %conv184.i.i = trunc i64 %703 to i8 br label %do.body205.i.i sw.bb186.i.i: ; preds = %if.then699.i @@ -11997,72 +11995,72 @@ sw.bb189.i.i: ; preds = %if.then699.i br label %do.body205.i.i sw.bb190.i.i: ; preds = %if.then699.i - %702 = load i64, ptr %arrayidx229.i.i, align 8 - %cmp192.i.i = icmp eq i64 %658, %659 + %704 = load i64, ptr %arrayidx229.i.i, align 8 + %cmp192.i.i = icmp eq i64 %660, %661 br i1 %cmp192.i.i, label %do.body205.i.i, label %if.else195.i.i if.else195.i.i: ; preds = %sw.bb190.i.i - %cmp196.i.i = icmp eq i64 %658, %660 + %cmp196.i.i = icmp eq i64 %660, %662 br i1 %cmp196.i.i, label %do.body205.i.i, label %if.else199.i.i if.else199.i.i: ; preds = %if.else195.i.i - %conv200.i.i = trunc i64 %658 to i32 - %conv201.i.i = trunc i64 %702 to i32 + %conv200.i.i = trunc i64 %660 to i32 + %conv201.i.i = trunc i64 %704 to i32 tail call fastcc void @tcg_out_mov(ptr noundef %s, i32 noundef %add.i.i474, i32 noundef %conv200.i.i, i32 noundef %conv201.i.i) br label %do.body205.i.i do.body205.i.i: ; preds = %if.else199.i.i, %if.else195.i.i, %sw.bb190.i.i, %sw.bb189.i.i, %sw.bb188.i.i, %sw.bb187.i.i, %sw.bb186.i.i, %sw.bb180.i.i, %sw.bb177.i.i, %if.end174.i.i, %sw.bb159.i.i, %if.then699.i %sub.1.i.i = phi i8 [ -72, %if.else199.i.i ], [ -35, %sw.bb189.i.i ], [ -103, %sw.bb188.i.i ], [ 119, %sw.bb187.i.i ], [ 17, %sw.bb186.i.i ], [ %conv184.i.i, %sw.bb180.i.i ], [ %conv179.i.i, %sw.bb177.i.i ], [ %conv176.i.i, %if.end174.i.i ], [ %conv161.i.i, %sw.bb159.i.i ], [ 51, %if.then699.i ], [ -54, %sw.bb190.i.i ], [ -30, %if.else195.i.i ] - %a1.1.i.i = phi i64 [ %659, %if.else199.i.i ], [ %659, %sw.bb189.i.i ], [ %659, %sw.bb188.i.i ], [ %659, %sw.bb187.i.i ], [ %659, %sw.bb186.i.i ], [ %659, %sw.bb180.i.i ], [ %659, %sw.bb177.i.i ], [ %659, %if.end174.i.i ], [ %659, %sw.bb159.i.i ], [ %659, %if.then699.i ], [ %660, %sw.bb190.i.i ], [ %659, %if.else195.i.i ] - %a2.1.i.i = phi i64 [ %660, %if.else199.i.i ], [ %660, %sw.bb189.i.i ], [ %660, %sw.bb188.i.i ], [ %660, %sw.bb187.i.i ], [ %660, %sw.bb186.i.i ], [ %660, %sw.bb180.i.i ], [ %660, %sw.bb177.i.i ], [ %660, %if.end174.i.i ], [ %660, %sw.bb159.i.i ], [ %659, %if.then699.i ], [ %702, %sw.bb190.i.i ], [ %702, %if.else195.i.i ] - %insn.8.i.i = phi i32 [ 1119269, %if.else199.i.i ], [ 1119269, %sw.bb189.i.i ], [ 1119269, %sw.bb188.i.i ], [ 1119269, %sw.bb187.i.i ], [ 1119269, %sw.bb186.i.i ], [ %700, %sw.bb180.i.i ], [ 590918, %sw.bb177.i.i ], [ %insn.7.i.i, %if.end174.i.i ], [ 454, %sw.bb159.i.i ], [ 1119269, %if.then699.i ], [ 1119269, %sw.bb190.i.i ], [ 1119269, %if.else195.i.i ] + %a1.1.i.i = phi i64 [ %661, %if.else199.i.i ], [ %661, %sw.bb189.i.i ], [ %661, %sw.bb188.i.i ], [ %661, %sw.bb187.i.i ], [ %661, %sw.bb186.i.i ], [ %661, %sw.bb180.i.i ], [ %661, %sw.bb177.i.i ], [ %661, %if.end174.i.i ], [ %661, %sw.bb159.i.i ], [ %661, %if.then699.i ], [ %662, %sw.bb190.i.i ], [ %661, %if.else195.i.i ] + %a2.1.i.i = phi i64 [ %662, %if.else199.i.i ], [ %662, %sw.bb189.i.i ], [ %662, %sw.bb188.i.i ], [ %662, %sw.bb187.i.i ], [ %662, %sw.bb186.i.i ], [ %662, %sw.bb180.i.i ], [ %662, %sw.bb177.i.i ], [ %662, %if.end174.i.i ], [ %662, %sw.bb159.i.i ], [ %661, %if.then699.i ], [ %704, %sw.bb190.i.i ], [ %704, %if.else195.i.i ] + %insn.8.i.i = phi i32 [ 1119269, %if.else199.i.i ], [ 1119269, %sw.bb189.i.i ], [ 1119269, %sw.bb188.i.i ], [ 1119269, %sw.bb187.i.i ], [ 1119269, %sw.bb186.i.i ], [ %702, %sw.bb180.i.i ], [ 590918, %sw.bb177.i.i ], [ %insn.7.i.i, %if.end174.i.i ], [ 454, %sw.bb159.i.i ], [ 1119269, %if.then699.i ], [ 1119269, %sw.bb190.i.i ], [ 1119269, %if.else195.i.i ] %cmp206.i.i = icmp ne i32 %insn.8.i.i, 267 tail call void @llvm.assume(i1 %cmp206.i.i) %cmp211.i.i = icmp eq i32 %add.i.i474, 5 %or214.i.i = or i32 %insn.8.i.i, 524288 %spec.select126.i.i = select i1 %cmp211.i.i, i32 %or214.i.i, i32 %insn.8.i.i - %conv216.i.i = trunc i64 %658 to i32 + %conv216.i.i = trunc i64 %660 to i32 %conv217.i.i = trunc i64 %a1.1.i.i to i32 %conv218.i.i = trunc i64 %a2.1.i.i to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %spec.select126.i.i, i32 noundef %conv216.i.i, i32 noundef %conv217.i.i, i32 noundef %conv218.i.i) - %703 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i129.i.i = getelementptr i8, ptr %703, i64 1 + %705 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i129.i.i = getelementptr i8, ptr %705, i64 1 store ptr %incdec.ptr.i129.i.i, ptr %code_ptr, align 8 - store i8 %sub.1.i.i, ptr %703, align 1 + store i8 %sub.1.i.i, ptr %705, align 1 br label %sw.epilog715.i sw.bb220.i.i: ; preds = %if.then699.i %cmp221.i.i = icmp eq i32 %add.i.i474, 5 %spec.select127.i.i = select i1 %cmp221.i.i, i32 590924, i32 66636 - %conv226.i.i = trunc i64 %658 to i32 - %conv227.i.i = trunc i64 %659 to i32 - %conv228.i.i = trunc i64 %660 to i32 + %conv226.i.i = trunc i64 %660 to i32 + %conv227.i.i = trunc i64 %661 to i32 + %conv228.i.i = trunc i64 %662 to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %spec.select127.i.i, i32 noundef %conv226.i.i, i32 noundef %conv227.i.i, i32 noundef %conv228.i.i) - %704 = load i64, ptr %arrayidx229.i.i, align 8 - %.tr.i.i = trunc i64 %704 to i8 + %706 = load i64, ptr %arrayidx229.i.i, align 8 + %.tr.i.i = trunc i64 %706 to i8 %conv230.i.i = shl i8 %.tr.i.i, 4 - %705 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i131.i.i = getelementptr i8, ptr %705, i64 1 + %707 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i131.i.i = getelementptr i8, ptr %707, i64 1 store ptr %incdec.ptr.i131.i.i, ptr %code_ptr, align 8 - store i8 %conv230.i.i, ptr %705, align 1 + store i8 %conv230.i.i, ptr %707, align 1 br label %sw.epilog715.i sw.bb231.i.i: ; preds = %if.then699.i - %conv232.i.i = trunc i64 %658 to i32 - %conv233.i.i = trunc i64 %659 to i32 + %conv232.i.i = trunc i64 %660 to i32 + %conv233.i.i = trunc i64 %661 to i32 tail call fastcc void @tcg_out_vex_opc(ptr noundef %s, i32 noundef 1395, i32 noundef 3, i32 noundef %conv232.i.i, i32 noundef %conv233.i.i, i32 noundef 0) - %706 = trunc i64 %659 to i8 - %707 = and i8 %706, 7 - %conv.i.i484.i = or disjoint i8 %707, -40 - %708 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i486.i = getelementptr i8, ptr %708, i64 1 + %708 = trunc i64 %661 to i8 + %709 = and i8 %708, 7 + %conv.i.i484.i = or disjoint i8 %709, -40 + %710 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i486.i = getelementptr i8, ptr %710, i64 1 store ptr %incdec.ptr.i.i.i486.i, ptr %code_ptr, align 8 - store i8 %conv.i.i484.i, ptr %708, align 1 - %conv234.i.i = trunc i64 %660 to i8 - %709 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i133.i.i = getelementptr i8, ptr %709, i64 1 + store i8 %conv.i.i484.i, ptr %710, align 1 + %conv234.i.i = trunc i64 %662 to i8 + %711 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i133.i.i = getelementptr i8, ptr %711, i64 1 store ptr %incdec.ptr.i133.i.i, ptr %code_ptr, align 8 - store i8 %conv234.i.i, ptr %709, align 1 + store i8 %conv234.i.i, ptr %711, align 1 br label %sw.epilog715.i do.body236.i.i: ; preds = %if.then699.i @@ -12070,10 +12068,10 @@ do.body236.i.i: ; preds = %if.then699.i unreachable if.else709.i: ; preds = %sw.default694.i - %710 = load i64, ptr %new_args.i, align 16 - %711 = load i64, ptr %arrayidx692.i, align 8 - %712 = load i64, ptr %arrayidx2.i.i, align 16 - %713 = load i32, ptr %arrayidx3.i497.i, align 8 + %712 = load i64, ptr %new_args.i, align 16 + %713 = load i64, ptr %arrayidx692.i, align 8 + %714 = load i64, ptr %arrayidx2.i.i, align 16 + %715 = load i32, ptr %arrayidx3.i497.i, align 8 switch i8 %trunc.i465, label %do.body523.i.i [ i8 -124, label %sw.bb.i538.i i8 3, label %sw.bb4.i537.i @@ -12185,8 +12183,8 @@ entry.do.body465_crit_edge.i.i: ; preds = %if.else709.i br label %do.body465.i.i sw.bb.i538.i: ; preds = %if.else709.i - %714 = and i64 %710, 8 - %tobool34.not.i.i539.i = icmp eq i64 %714, 0 + %716 = and i64 %712, 8 + %tobool34.not.i.i539.i = icmp eq i64 %716, 0 %.pre775 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i.i539.i, label %tcg_out_opc.exit.i.i, label %if.then35.i.i540.i @@ -12198,28 +12196,28 @@ if.then35.i.i540.i: ; preds = %sw.bb.i538.i br label %tcg_out_opc.exit.i.i tcg_out_opc.exit.i.i: ; preds = %if.then35.i.i540.i, %sw.bb.i538.i - %715 = phi ptr [ %.pre774, %if.then35.i.i540.i ], [ %.pre775, %sw.bb.i538.i ] - %incdec.ptr.i45.i.i544.i = getelementptr i8, ptr %715, i64 1 + %717 = phi ptr [ %.pre774, %if.then35.i.i540.i ], [ %.pre775, %sw.bb.i538.i ] + %incdec.ptr.i45.i.i544.i = getelementptr i8, ptr %717, i64 1 store ptr %incdec.ptr.i45.i.i544.i, ptr %code_ptr, align 8 - store i8 -1, ptr %715, align 1 - %716 = trunc i64 %710 to i8 - %717 = and i8 %716, 7 - %conv.i.i545.i = or disjoint i8 %717, -32 - %718 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i546.i = getelementptr i8, ptr %718, i64 1 + store i8 -1, ptr %717, align 1 + %718 = trunc i64 %712 to i8 + %719 = and i8 %718, 7 + %conv.i.i545.i = or disjoint i8 %719, -32 + %720 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i546.i = getelementptr i8, ptr %720, i64 1 store ptr %incdec.ptr.i.i.i546.i, ptr %code_ptr, align 8 - store i8 %conv.i.i545.i, ptr %718, align 1 + store i8 %conv.i.i545.i, ptr %720, align 1 br label %sw.epilog715.i sw.bb4.i537.i: ; preds = %if.else709.i - %719 = inttoptr i64 %710 to ptr - tail call fastcc void @tcg_out_jxx(ptr noundef %s, i32 noundef -1, ptr noundef %719, i1 noundef zeroext false) + %721 = inttoptr i64 %712 to ptr + tail call fastcc void @tcg_out_jxx(ptr noundef %s, i32 noundef -1, ptr noundef %721, i1 noundef zeroext false) br label %sw.epilog715.i sw.bb6.i.i485: ; preds = %if.else709.i, %if.else709.i - %conv7.i.i = trunc i64 %710 to i32 - %conv8.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 438, i32 noundef %conv7.i.i, i32 noundef %conv8.i.i, i64 noundef %712) + %conv7.i.i = trunc i64 %712 to i32 + %conv8.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 438, i32 noundef %conv7.i.i, i32 noundef %conv8.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb9.i.i: ; preds = %if.else709.i @@ -12227,15 +12225,15 @@ sw.bb9.i.i: ; preds = %if.else709.i sw.bb10.i536.i: ; preds = %sw.bb9.i.i, %if.else709.i %rexw.0.i.i = phi i32 [ 446, %if.else709.i ], [ 4542, %sw.bb9.i.i ] - %conv11.i.i = trunc i64 %710 to i32 - %conv12.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef %rexw.0.i.i, i32 noundef %conv11.i.i, i32 noundef %conv12.i.i, i64 noundef %712) + %conv11.i.i = trunc i64 %712 to i32 + %conv12.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef %rexw.0.i.i, i32 noundef %conv11.i.i, i32 noundef %conv12.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb14.i.i: ; preds = %if.else709.i, %if.else709.i - %conv15.i.i = trunc i64 %710 to i32 - %conv16.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 439, i32 noundef %conv15.i.i, i32 noundef %conv16.i.i, i64 noundef %712) + %conv15.i.i = trunc i64 %712 to i32 + %conv16.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 439, i32 noundef %conv15.i.i, i32 noundef %conv16.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb17.i.i: ; preds = %if.else709.i @@ -12243,78 +12241,78 @@ sw.bb17.i.i: ; preds = %if.else709.i sw.bb18.i.i: ; preds = %sw.bb17.i.i, %if.else709.i %rexw.1.i.i = phi i32 [ 447, %if.else709.i ], [ 4543, %sw.bb17.i.i ] - %conv20.i.i = trunc i64 %710 to i32 - %conv21.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef %rexw.1.i.i, i32 noundef %conv20.i.i, i32 noundef %conv21.i.i, i64 noundef %712) + %conv20.i.i = trunc i64 %712 to i32 + %conv21.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef %rexw.1.i.i, i32 noundef %conv20.i.i, i32 noundef %conv21.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb22.i.i: ; preds = %if.else709.i, %if.else709.i - %conv23.i.i = trunc i64 %710 to i32 - %conv24.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef 0, i32 noundef %conv23.i.i, i32 noundef %conv24.i.i, i64 noundef %712) + %conv23.i.i = trunc i64 %712 to i32 + %conv24.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef 0, i32 noundef %conv23.i.i, i32 noundef %conv24.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb26.i.i: ; preds = %if.else709.i, %if.else709.i - %720 = load i32, ptr %const_args.i, align 16 - %tobool.not.i531.i = icmp eq i32 %720, 0 + %722 = load i32, ptr %const_args.i, align 16 + %tobool.not.i531.i = icmp eq i32 %722, 0 br i1 %tobool.not.i531.i, label %if.else.i535.i, label %if.then.i532.i if.then.i532.i: ; preds = %sw.bb26.i.i - %conv28.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 198, i32 noundef 0, i32 noundef %conv28.i.i, i64 noundef %712) - %conv29.i.i = trunc i64 %710 to i8 - %721 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i534.i = getelementptr i8, ptr %721, i64 1 + %conv28.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 198, i32 noundef 0, i32 noundef %conv28.i.i, i64 noundef %714) + %conv29.i.i = trunc i64 %712 to i8 + %723 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i534.i = getelementptr i8, ptr %723, i64 1 store ptr %incdec.ptr.i.i534.i, ptr %code_ptr, align 8 - store i8 %conv29.i.i, ptr %721, align 1 + store i8 %conv29.i.i, ptr %723, align 1 br label %sw.epilog715.i if.else.i535.i: ; preds = %sw.bb26.i.i - %conv30.i.i = trunc i64 %710 to i32 - %conv31.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 8328, i32 noundef %conv30.i.i, i32 noundef %conv31.i.i, i64 noundef %712) + %conv30.i.i = trunc i64 %712 to i32 + %conv31.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 8328, i32 noundef %conv30.i.i, i32 noundef %conv31.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb33.i.i: ; preds = %if.else709.i, %if.else709.i - %722 = load i32, ptr %const_args.i, align 16 - %tobool35.not.i.i = icmp eq i32 %722, 0 + %724 = load i32, ptr %const_args.i, align 16 + %tobool35.not.i.i = icmp eq i32 %724, 0 br i1 %tobool35.not.i.i, label %if.else39.i.i, label %if.then36.i.i if.then36.i.i: ; preds = %sw.bb33.i.i - %conv37.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 1223, i32 noundef 0, i32 noundef %conv37.i.i, i64 noundef %712) - %conv38.i.i = trunc i64 %710 to i16 - %723 = load ptr, ptr %code_ptr, align 8 - store i16 %conv38.i.i, ptr %723, align 1 - %add.ptr.i.i.i484 = getelementptr i8, ptr %723, i64 2 + %conv37.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 1223, i32 noundef 0, i32 noundef %conv37.i.i, i64 noundef %714) + %conv38.i.i = trunc i64 %712 to i16 + %725 = load ptr, ptr %code_ptr, align 8 + store i16 %conv38.i.i, ptr %725, align 1 + %add.ptr.i.i.i484 = getelementptr i8, ptr %725, i64 2 store ptr %add.ptr.i.i.i484, ptr %code_ptr, align 8 br label %sw.epilog715.i if.else39.i.i: ; preds = %sw.bb33.i.i - %conv40.i.i = trunc i64 %710 to i32 - %conv41.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 1161, i32 noundef %conv40.i.i, i32 noundef %conv41.i.i, i64 noundef %712) + %conv40.i.i = trunc i64 %712 to i32 + %conv41.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 1161, i32 noundef %conv40.i.i, i32 noundef %conv41.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb43.i530.i: ; preds = %if.else709.i, %if.else709.i - %724 = load i32, ptr %const_args.i, align 16 - %tobool45.not.i.i = icmp eq i32 %724, 0 + %726 = load i32, ptr %const_args.i, align 16 + %tobool45.not.i.i = icmp eq i32 %726, 0 br i1 %tobool45.not.i.i, label %if.else49.i.i, label %if.then46.i.i if.then46.i.i: ; preds = %sw.bb43.i530.i - %conv47.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 199, i32 noundef 0, i32 noundef %conv47.i.i, i64 noundef %712) - %conv48.i.i = trunc i64 %710 to i32 - %725 = load ptr, ptr %code_ptr, align 8 - store i32 %conv48.i.i, ptr %725, align 1 - %add.ptr.i397.i.i = getelementptr i8, ptr %725, i64 4 + %conv47.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 199, i32 noundef 0, i32 noundef %conv47.i.i, i64 noundef %714) + %conv48.i.i = trunc i64 %712 to i32 + %727 = load ptr, ptr %code_ptr, align 8 + store i32 %conv48.i.i, ptr %727, align 1 + %add.ptr.i397.i.i = getelementptr i8, ptr %727, i64 4 store ptr %add.ptr.i397.i.i, ptr %code_ptr, align 8 br label %sw.epilog715.i if.else49.i.i: ; preds = %sw.bb43.i530.i - %conv50.i.i = trunc i64 %710 to i32 - %conv51.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef 0, i32 noundef %conv50.i.i, i32 noundef %conv51.i.i, i64 noundef %712) + %conv50.i.i = trunc i64 %712 to i32 + %conv51.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef 0, i32 noundef %conv50.i.i, i32 noundef %conv51.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb53.i.i: ; preds = %if.else709.i @@ -12322,29 +12320,29 @@ sw.bb53.i.i: ; preds = %if.else709.i sw.bb54.i.i: ; preds = %sw.bb53.i.i, %if.else709.i %rexw.2.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb53.i.i ] - %cmp.not.i528.i = icmp eq i64 %710, %711 + %cmp.not.i528.i = icmp eq i64 %712, %713 br i1 %cmp.not.i528.i, label %gen_arith.i.i, label %if.then56.i.i if.then56.i.i: ; preds = %sw.bb54.i.i - %tobool57.not.i.i = icmp eq i32 %713, 0 + %tobool57.not.i.i = icmp eq i32 %715, 0 br i1 %tobool57.not.i.i, label %if.else59.i.i, label %if.end67.i.i if.else59.i.i: ; preds = %if.then56.i.i - %cmp60.i.i = icmp eq i64 %710, %712 + %cmp60.i.i = icmp eq i64 %712, %714 br i1 %cmp60.i.i, label %if.then62.i.i, label %if.end67.i.i if.then62.i.i: ; preds = %if.else59.i.i - %conv64.i.i = trunc i64 %710 to i32 - %conv65.i.i = trunc i64 %711 to i32 + %conv64.i.i = trunc i64 %712 to i32 + %conv65.i.i = trunc i64 %713 to i32 tail call fastcc void @tgen_arithr(ptr noundef %s, i32 noundef %rexw.2.i.i, i32 noundef %conv64.i.i, i32 noundef %conv65.i.i) br label %sw.epilog715.i if.end67.i.i: ; preds = %if.else59.i.i, %if.then56.i.i - %c3.0.i.i = phi i64 [ 0, %if.else59.i.i ], [ %712, %if.then56.i.i ] - %a2.0.i529.i = phi i64 [ %712, %if.else59.i.i ], [ -1, %if.then56.i.i ] + %c3.0.i.i = phi i64 [ 0, %if.else59.i.i ], [ %714, %if.then56.i.i ] + %a2.0.i529.i = phi i64 [ %714, %if.else59.i.i ], [ -1, %if.then56.i.i ] %add68.i.i = or disjoint i32 %rexw.2.i.i, 141 - %conv69.i.i = trunc i64 %710 to i32 - %conv70.i.i = trunc i64 %711 to i32 + %conv69.i.i = trunc i64 %712 to i32 + %conv70.i.i = trunc i64 %713 to i32 %conv71.i.i = trunc i64 %a2.0.i529.i to i32 tail call fastcc void @tcg_out_modrm_sib_offset(ptr noundef %s, i32 noundef %add68.i.i, i32 noundef %conv69.i.i, i32 noundef %conv70.i.i, i32 noundef %conv71.i.i, i32 noundef 0, i64 noundef %c3.0.i.i) br label %sw.epilog715.i @@ -12373,17 +12371,17 @@ sw.bb80.i.i: ; preds = %if.else709.i gen_arith.i.i: ; preds = %sw.bb80.i.i, %sw.bb79.i.i, %sw.bb78.i.i, %sw.bb77.i526.i, %sw.bb76.i.i, %sw.bb75.i.i, %sw.bb73.i527.i, %sw.bb54.i.i, %if.else709.i %c.0.i.i = phi i32 [ 0, %sw.bb54.i.i ], [ 5, %sw.bb73.i527.i ], [ 5, %if.else709.i ], [ 4, %sw.bb75.i.i ], [ 4, %sw.bb76.i.i ], [ 1, %sw.bb77.i526.i ], [ 1, %sw.bb78.i.i ], [ 6, %sw.bb79.i.i ], [ 6, %sw.bb80.i.i ] %rexw.7.i.i = phi i32 [ %rexw.2.i.i, %sw.bb54.i.i ], [ 4096, %sw.bb73.i527.i ], [ 0, %if.else709.i ], [ 4096, %sw.bb75.i.i ], [ 0, %sw.bb76.i.i ], [ 4096, %sw.bb77.i526.i ], [ 0, %sw.bb78.i.i ], [ 4096, %sw.bb79.i.i ], [ 0, %sw.bb80.i.i ] - %tobool81.not.i.i = icmp eq i32 %713, 0 + %tobool81.not.i.i = icmp eq i32 %715, 0 %add86.i.i = add nuw nsw i32 %rexw.7.i.i, %c.0.i.i - %conv87.i518.i = trunc i64 %710 to i32 + %conv87.i518.i = trunc i64 %712 to i32 br i1 %tobool81.not.i.i, label %if.else85.i.i, label %if.then82.i.i if.then82.i.i: ; preds = %gen_arith.i.i - tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add86.i.i, i32 noundef %conv87.i518.i, i64 noundef %712, i32 noundef 0) + tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add86.i.i, i32 noundef %conv87.i518.i, i64 noundef %714, i32 noundef 0) br label %sw.epilog715.i if.else85.i.i: ; preds = %gen_arith.i.i - %conv88.i519.i = trunc i64 %712 to i32 + %conv88.i519.i = trunc i64 %714 to i32 %and.i.i520.i = and i32 %add86.i.i, -8 %and1.i398.i.i = shl nuw nsw i32 %add86.i.i, 3 %shl.i.i.i482 = and i32 %and1.i398.i.i, 56 @@ -12393,12 +12391,12 @@ if.else85.i.i: ; preds = %gen_arith.i.i %and.i.i.i521.i = shl i32 %conv87.i518.i, 3 %and1.i.i.i522.i = and i32 %conv88.i519.i, 7 %or.i.i.i523.i = or disjoint i32 %and1.i.i.i522.i, %and.i.i.i521.i - %726 = trunc i32 %or.i.i.i523.i to i8 - %conv.i.i.i524.i = or i8 %726, -64 - %727 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i525.i = getelementptr i8, ptr %727, i64 1 + %728 = trunc i32 %or.i.i.i523.i to i8 + %conv.i.i.i524.i = or i8 %728, -64 + %729 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i.i525.i = getelementptr i8, ptr %729, i64 1 store ptr %incdec.ptr.i.i.i.i525.i, ptr %code_ptr, align 8 - store i8 %conv.i.i.i524.i, ptr %727, align 1 + store i8 %conv.i.i.i524.i, ptr %729, align 1 br label %sw.epilog715.i sw.bb90.i.i: ; preds = %if.else709.i @@ -12407,23 +12405,23 @@ sw.bb90.i.i: ; preds = %if.else709.i sw.bb91.i.i: ; preds = %sw.bb90.i.i, %if.else709.i %not.tobool94.not.i.i = phi i32 [ 0, %if.else709.i ], [ 1, %sw.bb90.i.i ] %rexw.8.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb90.i.i ] - %tobool92.not.i.i = icmp eq i32 %713, 0 + %tobool92.not.i.i = icmp eq i32 %715, 0 br i1 %tobool92.not.i.i, label %if.else100.i.i, label %if.then93.i.i if.then93.i.i: ; preds = %sw.bb91.i.i - %conv95.i.i = trunc i64 %710 to i32 - %conv96.i.i = trunc i64 %711 to i32 + %conv95.i.i = trunc i64 %712 to i32 + %conv96.i.i = trunc i64 %713 to i32 tail call fastcc void @tcg_out_mov(ptr noundef %s, i32 noundef %not.tobool94.not.i.i, i32 noundef %conv95.i.i, i32 noundef %conv96.i.i) %add98.i.i = or disjoint i32 %rexw.8.i.i, 4 - %not.i.i = xor i64 %712, -1 + %not.i.i = xor i64 %714, -1 tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add98.i.i, i32 noundef %conv95.i.i, i64 noundef %not.i.i, i32 noundef 0) br label %sw.epilog715.i if.else100.i.i: ; preds = %sw.bb91.i.i %add101.i.i = or disjoint i32 %rexw.8.i.i, 754 - %conv102.i.i = trunc i64 %710 to i32 - %conv103.i.i = trunc i64 %712 to i32 - %conv104.i.i = trunc i64 %711 to i32 + %conv102.i.i = trunc i64 %712 to i32 + %conv103.i.i = trunc i64 %714 to i32 + %conv104.i.i = trunc i64 %713 to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %add101.i.i, i32 noundef %conv102.i.i, i32 noundef %conv103.i.i, i32 noundef %conv104.i.i) br label %sw.epilog715.i @@ -12432,62 +12430,62 @@ sw.bb106.i.i: ; preds = %if.else709.i sw.bb107.i517.i: ; preds = %sw.bb106.i.i, %if.else709.i %rexw.9.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb106.i.i ] - %tobool108.not.i.i = icmp eq i32 %713, 0 + %tobool108.not.i.i = icmp eq i32 %715, 0 br i1 %tobool108.not.i.i, label %if.else125.i.i, label %if.then109.i.i if.then109.i.i: ; preds = %sw.bb107.i517.i - %conv110.i.i = trunc i64 %712 to i32 - %conv111.i.i = trunc i64 %712 to i8 + %conv110.i.i = trunc i64 %714 to i32 + %conv111.i.i = trunc i64 %714 to i8 %conv112.i.i = sext i8 %conv111.i.i to i32 %cmp113.i.i = icmp eq i32 %conv110.i.i, %conv112.i.i - %conv117.i.i = trunc i64 %710 to i32 + %conv117.i.i = trunc i64 %712 to i32 %and.i399.i.i = shl i32 %conv117.i.i, 3 %and1.i400.i.i = and i32 %conv117.i.i, 7 %or.i401.i.i = or disjoint i32 %and1.i400.i.i, %and.i399.i.i - %728 = trunc i32 %or.i401.i.i to i8 - %conv.i402.i.i = or i8 %728, -64 + %730 = trunc i32 %or.i401.i.i to i8 + %conv.i402.i.i = or i8 %730, -64 br i1 %cmp113.i.i, label %if.then115.i.i, label %if.else120.i.i if.then115.i.i: ; preds = %if.then109.i.i %add116.i.i = or disjoint i32 %rexw.9.i.i, 107 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add116.i.i, i32 noundef %conv117.i.i, i32 noundef %conv117.i.i, i32 noundef 0) - %729 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i404.i.i = getelementptr i8, ptr %729, i64 1 + %731 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i404.i.i = getelementptr i8, ptr %731, i64 1 store ptr %incdec.ptr.i.i404.i.i, ptr %code_ptr, align 8 - store i8 %conv.i402.i.i, ptr %729, align 1 - %730 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i406.i.i = getelementptr i8, ptr %730, i64 1 + store i8 %conv.i402.i.i, ptr %731, align 1 + %732 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i406.i.i = getelementptr i8, ptr %732, i64 1 store ptr %incdec.ptr.i406.i.i, ptr %code_ptr, align 8 - store i8 %conv111.i.i, ptr %730, align 1 + store i8 %conv111.i.i, ptr %732, align 1 br label %sw.epilog715.i if.else120.i.i: ; preds = %if.then109.i.i %add121.i.i = or disjoint i32 %rexw.9.i.i, 105 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add121.i.i, i32 noundef %conv117.i.i, i32 noundef %conv117.i.i, i32 noundef 0) - %731 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i412.i.i = getelementptr i8, ptr %731, i64 1 + %733 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i412.i.i = getelementptr i8, ptr %733, i64 1 store ptr %incdec.ptr.i.i412.i.i, ptr %code_ptr, align 8 - store i8 %conv.i402.i.i, ptr %731, align 1 - %732 = load ptr, ptr %code_ptr, align 8 - store i32 %conv110.i.i, ptr %732, align 1 - %add.ptr.i414.i.i = getelementptr i8, ptr %732, i64 4 + store i8 %conv.i402.i.i, ptr %733, align 1 + %734 = load ptr, ptr %code_ptr, align 8 + store i32 %conv110.i.i, ptr %734, align 1 + %add.ptr.i414.i.i = getelementptr i8, ptr %734, i64 4 store ptr %add.ptr.i414.i.i, ptr %code_ptr, align 8 br label %sw.epilog715.i if.else125.i.i: ; preds = %sw.bb107.i517.i %add126.i.i = or disjoint i32 %rexw.9.i.i, 431 - %conv127.i.i = trunc i64 %710 to i32 - %conv128.i.i = trunc i64 %712 to i32 + %conv127.i.i = trunc i64 %712 to i32 + %conv128.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add126.i.i, i32 noundef %conv127.i.i, i32 noundef %conv128.i.i, i32 noundef 0) %and.i415.i.i = shl i32 %conv127.i.i, 3 %and1.i416.i.i = and i32 %conv128.i.i, 7 %or.i417.i.i = or disjoint i32 %and1.i416.i.i, %and.i415.i.i - %733 = trunc i32 %or.i417.i.i to i8 - %conv.i418.i.i = or i8 %733, -64 - %734 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i420.i.i = getelementptr i8, ptr %734, i64 1 + %735 = trunc i32 %or.i417.i.i to i8 + %conv.i418.i.i = or i8 %735, -64 + %736 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i420.i.i = getelementptr i8, ptr %736, i64 1 store ptr %incdec.ptr.i.i420.i.i, ptr %code_ptr, align 8 - store i8 %conv.i418.i.i, ptr %734, align 1 + store i8 %conv.i418.i.i, ptr %736, align 1 br label %sw.epilog715.i sw.bb130.i516.i: ; preds = %if.else709.i @@ -12495,15 +12493,15 @@ sw.bb130.i516.i: ; preds = %if.else709.i sw.bb131.i.i: ; preds = %sw.bb130.i516.i, %if.else709.i %rexw.10.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb130.i516.i ] - %735 = load i64, ptr %arrayidx413.i.i, align 16 - %conv134.i.i = trunc i64 %735 to i32 + %737 = load i64, ptr %arrayidx413.i.i, align 16 + %conv134.i.i = trunc i64 %737 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.10.i.i, i32 noundef 7, i32 noundef %conv134.i.i, i32 noundef 0) - %736 = trunc i64 %735 to i8 - %conv.i423.i.i = or i8 %736, -8 - %737 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i425.i.i = getelementptr i8, ptr %737, i64 1 + %738 = trunc i64 %737 to i8 + %conv.i423.i.i = or i8 %738, -8 + %739 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i425.i.i = getelementptr i8, ptr %739, i64 1 store ptr %incdec.ptr.i.i425.i.i, ptr %code_ptr, align 8 - store i8 %conv.i423.i.i, ptr %737, align 1 + store i8 %conv.i423.i.i, ptr %739, align 1 br label %sw.epilog715.i sw.bb135.i.i: ; preds = %if.else709.i @@ -12511,16 +12509,16 @@ sw.bb135.i.i: ; preds = %if.else709.i sw.bb136.i.i: ; preds = %sw.bb135.i.i, %if.else709.i %rexw.11.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb135.i.i ] - %738 = load i64, ptr %arrayidx413.i.i, align 16 - %conv139.i.i = trunc i64 %738 to i32 + %740 = load i64, ptr %arrayidx413.i.i, align 16 + %conv139.i.i = trunc i64 %740 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.11.i.i, i32 noundef 6, i32 noundef %conv139.i.i, i32 noundef 0) - %739 = trunc i64 %738 to i8 - %740 = and i8 %739, 7 - %conv.i428.i.i = or disjoint i8 %740, -16 - %741 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i430.i.i = getelementptr i8, ptr %741, i64 1 + %741 = trunc i64 %740 to i8 + %742 = and i8 %741, 7 + %conv.i428.i.i = or disjoint i8 %742, -16 + %743 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i430.i.i = getelementptr i8, ptr %743, i64 1 store ptr %incdec.ptr.i.i430.i.i, ptr %code_ptr, align 8 - store i8 %conv.i428.i.i, ptr %741, align 1 + store i8 %conv.i428.i.i, ptr %743, align 1 br label %sw.epilog715.i sw.bb140.i.i: ; preds = %if.else709.i @@ -12528,21 +12526,21 @@ sw.bb140.i.i: ; preds = %if.else709.i sw.bb141.i.i: ; preds = %sw.bb140.i.i, %if.else709.i %rexw.12.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb140.i.i ] - %tobool142.not.i.i = icmp eq i32 %713, 0 - %cmp143.not.i.i = icmp eq i64 %710, %711 + %tobool142.not.i.i = icmp eq i32 %715, 0 + %cmp143.not.i.i = icmp eq i64 %712, %713 %or.cond393.i.i = select i1 %tobool142.not.i.i, i1 true, i1 %cmp143.not.i.i br i1 %or.cond393.i.i, label %gen_shift_maybe_vex.i.i, label %land.lhs.true145.i.i land.lhs.true145.i.i: ; preds = %sw.bb141.i.i - %sub.i.i481 = add i64 %712, -1 + %sub.i.i481 = add i64 %714, -1 %cmp146.i.i = icmp ult i64 %sub.i.i481, 3 br i1 %cmp146.i.i, label %if.then148.i.i, label %gen_shift_maybe_vex.i.i if.then148.i.i: ; preds = %land.lhs.true145.i.i %cmp150.i.i = icmp eq i64 %sub.i.i481, 0 %add153.i.i = or disjoint i32 %rexw.12.i.i, 141 - %conv154.i513.i = trunc i64 %710 to i32 - %conv155.i514.i = trunc i64 %711 to i32 + %conv154.i513.i = trunc i64 %712 to i32 + %conv155.i514.i = trunc i64 %713 to i32 br i1 %cmp150.i.i, label %if.then152.i.i, label %if.else157.i.i if.then152.i.i: ; preds = %if.then148.i.i @@ -12550,7 +12548,7 @@ if.then152.i.i: ; preds = %if.then148.i.i br label %sw.epilog715.i if.else157.i.i: ; preds = %if.then148.i.i - %conv161.i515.i = trunc i64 %712 to i32 + %conv161.i515.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_modrm_sib_offset(ptr noundef %s, i32 noundef %add153.i.i, i32 noundef %conv154.i513.i, i32 noundef -1, i32 noundef %conv155.i514.i, i32 noundef %conv161.i515.i, i64 noundef 0) br label %sw.epilog715.i @@ -12576,38 +12574,38 @@ gen_shift_maybe_vex.i.i: ; preds = %sw.bb167.i.i, %sw.b %c.1.i.i = phi i32 [ 4, %land.lhs.true145.i.i ], [ 4, %sw.bb141.i.i ], [ 5, %sw.bb164.i.i ], [ 5, %if.else709.i ], [ 7, %sw.bb166.i.i ], [ 7, %sw.bb167.i.i ] %vexop.0.i.i = phi i32 [ 1783, %land.lhs.true145.i.i ], [ 1783, %sw.bb141.i.i ], [ 262903, %sw.bb164.i.i ], [ 262903, %if.else709.i ], [ 131831, %sw.bb166.i.i ], [ 131831, %sw.bb167.i.i ] %rexw.17.i.i = phi i32 [ %rexw.12.i.i, %land.lhs.true145.i.i ], [ %rexw.12.i.i, %sw.bb141.i.i ], [ 4096, %sw.bb164.i.i ], [ 0, %if.else709.i ], [ 4096, %sw.bb166.i.i ], [ 0, %sw.bb167.i.i ] - %742 = load i32, ptr @cpuinfo, align 4 - %and.i511.i = and i32 %742, 64 + %744 = load i32, ptr @cpuinfo, align 4 + %and.i511.i = and i32 %744, 64 %tobool172.not.i.i = icmp eq i32 %and.i511.i, 0 br i1 %tobool172.not.i.i, label %gen_shift.i.i, label %if.then173.i.i if.then173.i.i: ; preds = %gen_shift_maybe_vex.i.i - %tobool174.not.i.i = icmp eq i32 %713, 0 - %conv179.i512.i = trunc i64 %711 to i32 + %tobool174.not.i.i = icmp eq i32 %715, 0 + %conv179.i512.i = trunc i64 %713 to i32 br i1 %tobool174.not.i.i, label %if.then175.i.i, label %gen_shift.thread.i.i if.then175.i.i: ; preds = %if.then173.i.i %add176.i.i = add nuw nsw i32 %rexw.17.i.i, %vexop.0.i.i - %conv177.i.i = trunc i64 %710 to i32 - %conv178.i.i = trunc i64 %712 to i32 + %conv177.i.i = trunc i64 %712 to i32 + %conv178.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_vex_modrm(ptr noundef %s, i32 noundef %add176.i.i, i32 noundef %conv177.i.i, i32 noundef %conv178.i.i, i32 noundef %conv179.i512.i) br label %sw.epilog715.i gen_shift.thread.i.i: ; preds = %if.then173.i.i %tobool181.not.i.i = icmp ne i32 %rexw.17.i.i, 0 %cond182.i.i = zext i1 %tobool181.not.i.i to i32 - %conv183.i.i = trunc i64 %710 to i32 + %conv183.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_mov(ptr noundef %s, i32 noundef %cond182.i.i, i32 noundef %conv183.i.i, i32 noundef %conv179.i512.i) br label %if.then188.i.i gen_shift.i.i: ; preds = %gen_shift_maybe_vex.i.i, %sw.bb171.i.i, %sw.bb170.i.i, %sw.bb168.i.i, %if.else709.i %c.2.i.i = phi i32 [ %c.1.i.i, %gen_shift_maybe_vex.i.i ], [ 0, %sw.bb168.i.i ], [ 0, %if.else709.i ], [ 1, %sw.bb170.i.i ], [ 1, %sw.bb171.i.i ] %rexw.18.i.i = phi i32 [ %rexw.17.i.i, %gen_shift_maybe_vex.i.i ], [ 4096, %sw.bb168.i.i ], [ 0, %if.else709.i ], [ 4096, %sw.bb170.i.i ], [ 0, %sw.bb171.i.i ] - %tobool187.not.i.i = icmp eq i32 %713, 0 + %tobool187.not.i.i = icmp eq i32 %715, 0 br i1 %tobool187.not.i.i, label %if.else192.i.i, label %gen_shift.if.then188_crit_edge.i.i gen_shift.if.then188_crit_edge.i.i: ; preds = %gen_shift.i.i - %.pre565.i.i = trunc i64 %710 to i32 + %.pre565.i.i = trunc i64 %712 to i32 br label %if.then188.i.i if.then188.i.i: ; preds = %gen_shift.if.then188_crit_edge.i.i, %gen_shift.thread.i.i @@ -12617,51 +12615,51 @@ if.then188.i.i: ; preds = %gen_shift.if.then18 %add189.i.i = add nuw nsw i32 %c.2554.i.i, %rexw.18555.i.i %and.i431.i.i = and i32 %add189.i.i, -8 %and1.i432.i.i = and i32 %add189.i.i, 7 - %743 = and i64 %712, 4294967295 - %cmp.i.i510.i = icmp eq i64 %743, 1 + %745 = and i64 %714, 4294967295 + %cmp.i.i510.i = icmp eq i64 %745, 1 %and.i.i433.i.i = shl nuw nsw i32 %and1.i432.i.i, 3 %and1.i.i434.i.i = and i32 %conv190.pre-phi.i.i, 7 %or.i.i435.i.i = or disjoint i32 %and.i.i433.i.i, %and1.i.i434.i.i - %744 = trunc i32 %or.i.i435.i.i to i8 - %conv.i.i436.i.i = or disjoint i8 %744, -64 + %746 = trunc i32 %or.i.i435.i.i to i8 + %conv.i.i436.i.i = or disjoint i8 %746, -64 br i1 %cmp.i.i510.i, label %if.then.i.i.i480, label %if.else.i.i.i479 if.then.i.i.i480: ; preds = %if.then188.i.i %add.i441.i.i = add nuw nsw i32 %and.i431.i.i, 209 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add.i441.i.i, i32 noundef %and1.i432.i.i, i32 noundef %conv190.pre-phi.i.i, i32 noundef 0) - %745 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i442.i.i = getelementptr i8, ptr %745, i64 1 + %747 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i442.i.i = getelementptr i8, ptr %747, i64 1 store ptr %incdec.ptr.i.i.i442.i.i, ptr %code_ptr, align 8 - store i8 %conv.i.i436.i.i, ptr %745, align 1 + store i8 %conv.i.i436.i.i, ptr %747, align 1 br label %sw.epilog715.i if.else.i.i.i479: ; preds = %if.then188.i.i %add2.i438.i.i = add nuw nsw i32 %and.i431.i.i, 193 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add2.i438.i.i, i32 noundef %and1.i432.i.i, i32 noundef %conv190.pre-phi.i.i, i32 noundef 0) - %746 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i14.i.i.i = getelementptr i8, ptr %746, i64 1 + %748 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i14.i.i.i = getelementptr i8, ptr %748, i64 1 store ptr %incdec.ptr.i.i14.i.i.i, ptr %code_ptr, align 8 - store i8 %conv.i.i436.i.i, ptr %746, align 1 - %conv.i439.i.i = trunc i64 %712 to i8 - %747 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i440.i.i = getelementptr i8, ptr %747, i64 1 + store i8 %conv.i.i436.i.i, ptr %748, align 1 + %conv.i439.i.i = trunc i64 %714 to i8 + %749 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i440.i.i = getelementptr i8, ptr %749, i64 1 store ptr %incdec.ptr.i.i440.i.i, ptr %code_ptr, align 8 - store i8 %conv.i439.i.i, ptr %747, align 1 + store i8 %conv.i439.i.i, ptr %749, align 1 br label %sw.epilog715.i if.else192.i.i: ; preds = %gen_shift.i.i %add193.i.i = add nuw nsw i32 %rexw.18.i.i, 211 - %conv194.i.i = trunc i64 %710 to i32 + %conv194.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %add193.i.i, i32 noundef %c.2.i.i, i32 noundef %conv194.i.i, i32 noundef 0) %and.i443.i.i = shl nuw nsw i32 %c.2.i.i, 3 %and1.i444.i.i = and i32 %conv194.i.i, 7 %or.i445.i.i = or disjoint i32 %and.i443.i.i, %and1.i444.i.i - %748 = trunc i32 %or.i445.i.i to i8 - %conv.i446.i.i = or i8 %748, -64 - %749 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i448.i.i = getelementptr i8, ptr %749, i64 1 + %750 = trunc i32 %or.i445.i.i to i8 + %conv.i446.i.i = or i8 %750, -64 + %751 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i448.i.i = getelementptr i8, ptr %751, i64 1 store ptr %incdec.ptr.i.i448.i.i, ptr %code_ptr, align 8 - store i8 %conv.i446.i.i, ptr %749, align 1 + store i8 %conv.i446.i.i, ptr %751, align 1 br label %sw.epilog715.i sw.bb196.i.i: ; preds = %if.else709.i @@ -12669,10 +12667,10 @@ sw.bb196.i.i: ; preds = %if.else709.i sw.bb197.i.i: ; preds = %sw.bb196.i.i, %if.else709.i %rexw.19.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb196.i.i ] - %conv199.i.i = trunc i64 %710 to i32 - %conv201.i509.i = trunc i64 %711 to i32 - %tobool204.i.i = icmp ne i32 %713, 0 - tail call fastcc void @tcg_out_ctz(ptr noundef %s, i32 noundef %rexw.19.i.i, i32 noundef %conv199.i.i, i32 noundef %conv201.i509.i, i64 noundef %712, i1 noundef zeroext %tobool204.i.i) + %conv199.i.i = trunc i64 %712 to i32 + %conv201.i509.i = trunc i64 %713 to i32 + %tobool204.i.i = icmp ne i32 %715, 0 + tail call fastcc void @tcg_out_ctz(ptr noundef %s, i32 noundef %rexw.19.i.i, i32 noundef %conv199.i.i, i32 noundef %conv201.i509.i, i64 noundef %714, i1 noundef zeroext %tobool204.i.i) br label %sw.epilog715.i sw.bb205.i.i: ; preds = %if.else709.i @@ -12680,10 +12678,10 @@ sw.bb205.i.i: ; preds = %if.else709.i sw.bb206.i.i: ; preds = %sw.bb205.i.i, %if.else709.i %rexw.20.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb205.i.i ] - %conv208.i.i = trunc i64 %710 to i32 - %conv210.i.i = trunc i64 %711 to i32 - %tobool213.i.i = icmp ne i32 %713, 0 - tail call fastcc void @tcg_out_clz(ptr noundef %s, i32 noundef %rexw.20.i.i, i32 noundef %conv208.i.i, i32 noundef %conv210.i.i, i64 noundef %712, i1 noundef zeroext %tobool213.i.i) + %conv208.i.i = trunc i64 %712 to i32 + %conv210.i.i = trunc i64 %713 to i32 + %tobool213.i.i = icmp ne i32 %715, 0 + tail call fastcc void @tcg_out_clz(ptr noundef %s, i32 noundef %rexw.20.i.i, i32 noundef %conv208.i.i, i32 noundef %conv210.i.i, i64 noundef %714, i1 noundef zeroext %tobool213.i.i) br label %sw.epilog715.i sw.bb214.i.i: ; preds = %if.else709.i @@ -12691,18 +12689,18 @@ sw.bb214.i.i: ; preds = %if.else709.i sw.bb215.i.i: ; preds = %sw.bb214.i.i, %if.else709.i %rexw.21.i.i = phi i32 [ 131512, %if.else709.i ], [ 135608, %sw.bb214.i.i ] - %conv217.i507.i = trunc i64 %710 to i32 - %conv218.i508.i = trunc i64 %711 to i32 + %conv217.i507.i = trunc i64 %712 to i32 + %conv218.i508.i = trunc i64 %713 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.21.i.i, i32 noundef %conv217.i507.i, i32 noundef %conv218.i508.i, i32 noundef 0) %and.i449.i.i = shl i32 %conv217.i507.i, 3 %and1.i450.i.i = and i32 %conv218.i508.i, 7 %or.i451.i.i = or disjoint i32 %and1.i450.i.i, %and.i449.i.i - %750 = trunc i32 %or.i451.i.i to i8 - %conv.i452.i.i = or i8 %750, -64 - %751 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i454.i.i = getelementptr i8, ptr %751, i64 1 + %752 = trunc i32 %or.i451.i.i to i8 + %conv.i452.i.i = or i8 %752, -64 + %753 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i454.i.i = getelementptr i8, ptr %753, i64 1 store ptr %incdec.ptr.i.i454.i.i, ptr %code_ptr, align 8 - store i8 %conv.i452.i.i, ptr %751, align 1 + store i8 %conv.i452.i.i, ptr %753, align 1 br label %sw.epilog715.i sw.bb219.i.i: ; preds = %if.else709.i @@ -12710,11 +12708,11 @@ sw.bb219.i.i: ; preds = %if.else709.i sw.bb220.i506.i: ; preds = %sw.bb219.i.i, %if.else709.i %rexw.22.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb219.i.i ] - %conv221.i.i = trunc i64 %712 to i32 - %752 = load i32, ptr %arrayidx222.i.i, align 4 - %753 = load i64, ptr %arrayidx229.i.i, align 8 - %754 = inttoptr i64 %753 to ptr - tail call fastcc void @tcg_out_brcond(ptr noundef %s, i32 noundef %rexw.22.i.i, i32 noundef %conv221.i.i, i64 noundef %710, i64 noundef %711, i32 noundef %752, ptr noundef %754) + %conv221.i.i = trunc i64 %714 to i32 + %754 = load i32, ptr %arrayidx222.i.i, align 4 + %755 = load i64, ptr %arrayidx229.i.i, align 8 + %756 = inttoptr i64 %755 to ptr + tail call fastcc void @tcg_out_brcond(ptr noundef %s, i32 noundef %rexw.22.i.i, i32 noundef %conv221.i.i, i64 noundef %712, i64 noundef %713, i32 noundef %754, ptr noundef %756) br label %sw.epilog715.i sw.bb225.i.i: ; preds = %if.else709.i @@ -12722,9 +12720,9 @@ sw.bb225.i.i: ; preds = %if.else709.i sw.bb226.i.i: ; preds = %sw.bb225.i.i, %if.else709.i %rexw.23.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb225.i.i ] - %755 = load i64, ptr %arrayidx229.i.i, align 8 - %conv228.i505.i = trunc i64 %755 to i32 - tail call fastcc void @tcg_out_setcond(ptr noundef %s, i32 noundef %rexw.23.i.i, i32 noundef %conv228.i505.i, i64 noundef %710, i64 noundef %711, i64 noundef %712, i32 noundef %713, i1 noundef zeroext false) + %757 = load i64, ptr %arrayidx229.i.i, align 8 + %conv228.i505.i = trunc i64 %757 to i32 + tail call fastcc void @tcg_out_setcond(ptr noundef %s, i32 noundef %rexw.23.i.i, i32 noundef %conv228.i505.i, i64 noundef %712, i64 noundef %713, i64 noundef %714, i32 noundef %715, i1 noundef zeroext false) br label %sw.epilog715.i sw.bb229.i.i: ; preds = %if.else709.i @@ -12732,9 +12730,9 @@ sw.bb229.i.i: ; preds = %if.else709.i sw.bb230.i.i: ; preds = %sw.bb229.i.i, %if.else709.i %rexw.24.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb229.i.i ] - %756 = load i64, ptr %arrayidx229.i.i, align 8 - %conv232.i504.i = trunc i64 %756 to i32 - tail call fastcc void @tcg_out_setcond(ptr noundef %s, i32 noundef %rexw.24.i.i, i32 noundef %conv232.i504.i, i64 noundef %710, i64 noundef %711, i64 noundef %712, i32 noundef %713, i1 noundef zeroext true) + %758 = load i64, ptr %arrayidx229.i.i, align 8 + %conv232.i504.i = trunc i64 %758 to i32 + tail call fastcc void @tcg_out_setcond(ptr noundef %s, i32 noundef %rexw.24.i.i, i32 noundef %conv232.i504.i, i64 noundef %712, i64 noundef %713, i64 noundef %714, i32 noundef %715, i1 noundef zeroext true) br label %sw.epilog715.i sw.bb233.i.i: ; preds = %if.else709.i @@ -12742,52 +12740,52 @@ sw.bb233.i.i: ; preds = %if.else709.i sw.bb234.i.i: ; preds = %sw.bb233.i.i, %if.else709.i %rexw.25.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb233.i.i ] - %757 = load i64, ptr %arrayidx384.i.i, align 8 - %conv236.i.i = trunc i64 %757 to i32 - %conv237.i.i = trunc i64 %710 to i32 - %conv238.i.i = trunc i64 %711 to i32 - %758 = load i64, ptr %arrayidx229.i.i, align 8 - %conv240.i.i = trunc i64 %758 to i32 - tail call fastcc void @tcg_out_movcond(ptr noundef %s, i32 noundef %rexw.25.i.i, i32 noundef %conv236.i.i, i32 noundef %conv237.i.i, i32 noundef %conv238.i.i, i64 noundef %712, i32 noundef %713, i32 noundef %conv240.i.i) + %759 = load i64, ptr %arrayidx384.i.i, align 8 + %conv236.i.i = trunc i64 %759 to i32 + %conv237.i.i = trunc i64 %712 to i32 + %conv238.i.i = trunc i64 %713 to i32 + %760 = load i64, ptr %arrayidx229.i.i, align 8 + %conv240.i.i = trunc i64 %760 to i32 + tail call fastcc void @tcg_out_movcond(ptr noundef %s, i32 noundef %rexw.25.i.i, i32 noundef %conv236.i.i, i32 noundef %conv237.i.i, i32 noundef %conv238.i.i, i64 noundef %714, i32 noundef %715, i32 noundef %conv240.i.i) br label %sw.epilog715.i sw.bb242.i.i: ; preds = %if.else709.i - %and243.i.i = and i64 %712, 4 + %and243.i.i = and i64 %714, 4 %tobool244.not.i.i = icmp eq i64 %and243.i.i, 0 br i1 %tobool244.not.i.i, label %if.else255.i.i, label %if.else251.i.i sw.bb242.thread.i.i: ; preds = %if.else709.i - %and243558.i.i = and i64 %712, 4 + %and243558.i.i = and i64 %714, 4 %tobool244.not559.i.i = icmp eq i64 %and243558.i.i, 0 br i1 %tobool244.not559.i.i, label %if.else255.i.i, label %if.then247.i.i if.then247.i.i: ; preds = %sw.bb242.thread.i.i - %conv248.i.i = trunc i64 %710 to i32 - %759 = trunc i64 %710 to i8 - %760 = lshr i8 %759, 3 - %761 = and i8 %760, 1 - %conv.i.i455.i.i = or disjoint i8 %761, 72 - %762 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i.i502.i = getelementptr i8, ptr %762, i64 1 + %conv248.i.i = trunc i64 %712 to i32 + %761 = trunc i64 %712 to i8 + %762 = lshr i8 %761, 3 + %763 = and i8 %762, 1 + %conv.i.i455.i.i = or disjoint i8 %763, 72 + %764 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i.i502.i = getelementptr i8, ptr %764, i64 1 store ptr %incdec.ptr.i37.i.i.i502.i, ptr %code_ptr, align 8 - store i8 %conv.i.i455.i.i, ptr %762, align 1 - %763 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i39.i.i.i.i = getelementptr i8, ptr %763, i64 1 - store ptr %incdec.ptr.i39.i.i.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %763, align 1 - %764 = and i8 %759, 7 - %conv51.i.i.i.i = or disjoint i8 %764, -56 + store i8 %conv.i.i455.i.i, ptr %764, align 1 %765 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i.i503.i = getelementptr i8, ptr %765, i64 1 + %incdec.ptr.i39.i.i.i.i = getelementptr i8, ptr %765, i64 1 + store ptr %incdec.ptr.i39.i.i.i.i, ptr %code_ptr, align 8 + store i8 15, ptr %765, align 1 + %766 = and i8 %761, 7 + %conv51.i.i.i.i = or disjoint i8 %766, -56 + %767 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i.i503.i = getelementptr i8, ptr %767, i64 1 store ptr %incdec.ptr.i45.i.i.i503.i, ptr %code_ptr, align 8 - store i8 %conv51.i.i.i.i, ptr %765, align 1 + store i8 %conv51.i.i.i.i, ptr %767, align 1 tail call fastcc void @tcg_out_shifti(ptr noundef %s, i32 noundef 4103, i32 noundef %conv248.i.i, i32 noundef 48) br label %sw.epilog715.i if.else251.i.i: ; preds = %sw.bb242.i.i - %conv252.i.i = trunc i64 %710 to i32 - %766 = and i32 %conv252.i.i, 8 - %tobool34.not.i.i.i499.i = icmp eq i32 %766, 0 + %conv252.i.i = trunc i64 %712 to i32 + %768 = and i32 %conv252.i.i, 8 + %tobool34.not.i.i.i499.i = icmp eq i32 %768, 0 %.pre771 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i.i.i499.i, label %tcg_out_bswap32.exit.i.i, label %if.then35.i.i.i500.i @@ -12799,29 +12797,29 @@ if.then35.i.i.i500.i: ; preds = %if.else251.i.i br label %tcg_out_bswap32.exit.i.i tcg_out_bswap32.exit.i.i: ; preds = %if.then35.i.i.i500.i, %if.else251.i.i - %767 = phi ptr [ %.pre770, %if.then35.i.i.i500.i ], [ %.pre771, %if.else251.i.i ] - %incdec.ptr.i39.i.i458.i.i = getelementptr i8, ptr %767, i64 1 + %769 = phi ptr [ %.pre770, %if.then35.i.i.i500.i ], [ %.pre771, %if.else251.i.i ] + %incdec.ptr.i39.i.i458.i.i = getelementptr i8, ptr %769, i64 1 store ptr %incdec.ptr.i39.i.i458.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %767, align 1 - %768 = trunc i64 %710 to i8 - %769 = and i8 %768, 7 - %conv51.i.i459.i.i = or disjoint i8 %769, -56 - %770 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i460.i.i = getelementptr i8, ptr %770, i64 1 + store i8 15, ptr %769, align 1 + %770 = trunc i64 %712 to i8 + %771 = and i8 %770, 7 + %conv51.i.i459.i.i = or disjoint i8 %771, -56 + %772 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i460.i.i = getelementptr i8, ptr %772, i64 1 store ptr %incdec.ptr.i45.i.i460.i.i, ptr %code_ptr, align 8 - store i8 %conv51.i.i459.i.i, ptr %770, align 1 + store i8 %conv51.i.i459.i.i, ptr %772, align 1 tail call fastcc void @tcg_out_shifti(ptr noundef nonnull %s, i32 noundef 7, i32 noundef %conv252.i.i, i32 noundef 16) br label %sw.epilog715.i if.else255.i.i: ; preds = %sw.bb242.thread.i.i, %sw.bb242.i.i - %and256.i.i = and i64 %712, 3 + %and256.i.i = and i64 %714, 3 %cmp257.i.i = icmp eq i64 %and256.i.i, 2 - %conv260.i.i = trunc i64 %710 to i32 + %conv260.i.i = trunc i64 %712 to i32 br i1 %cmp257.i.i, label %if.then259.i.i, label %if.else262.i.i if.then259.i.i: ; preds = %if.else255.i.i - %771 = and i32 %conv260.i.i, 8 - %tobool34.not.i.i461.i.i = icmp eq i32 %771, 0 + %773 = and i32 %conv260.i.i, 8 + %tobool34.not.i.i461.i.i = icmp eq i32 %773, 0 %.pre773 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i.i461.i.i, label %tcg_out_bswap32.exit469.i.i, label %if.then35.i.i462.i.i @@ -12833,17 +12831,17 @@ if.then35.i.i462.i.i: ; preds = %if.then259.i.i br label %tcg_out_bswap32.exit469.i.i tcg_out_bswap32.exit469.i.i: ; preds = %if.then35.i.i462.i.i, %if.then259.i.i - %772 = phi ptr [ %.pre772, %if.then35.i.i462.i.i ], [ %.pre773, %if.then259.i.i ] - %incdec.ptr.i39.i.i466.i.i = getelementptr i8, ptr %772, i64 1 + %774 = phi ptr [ %.pre772, %if.then35.i.i462.i.i ], [ %.pre773, %if.then259.i.i ] + %incdec.ptr.i39.i.i466.i.i = getelementptr i8, ptr %774, i64 1 store ptr %incdec.ptr.i39.i.i466.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %772, align 1 - %773 = trunc i64 %710 to i8 - %774 = and i8 %773, 7 - %conv51.i.i467.i.i = or disjoint i8 %774, -56 - %775 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i468.i.i = getelementptr i8, ptr %775, i64 1 + store i8 15, ptr %774, align 1 + %775 = trunc i64 %712 to i8 + %776 = and i8 %775, 7 + %conv51.i.i467.i.i = or disjoint i8 %776, -56 + %777 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i468.i.i = getelementptr i8, ptr %777, i64 1 store ptr %incdec.ptr.i45.i.i468.i.i, ptr %code_ptr, align 8 - store i8 %conv51.i.i467.i.i, ptr %775, align 1 + store i8 %conv51.i.i467.i.i, ptr %777, align 1 tail call fastcc void @tcg_out_shifti(ptr noundef nonnull %s, i32 noundef 5, i32 noundef %conv260.i.i, i32 noundef 16) br label %sw.epilog715.i @@ -12856,9 +12854,9 @@ sw.bb266.i.i: ; preds = %if.else709.i sw.bb267.i.i: ; preds = %sw.bb266.i.i, %if.else709.i %tobool269.not.i.i = phi i1 [ true, %if.else709.i ], [ false, %sw.bb266.i.i ] - %conv268.i.i = trunc i64 %710 to i32 - %776 = and i32 %conv268.i.i, 8 - %tobool34.not.i.i470.i.i = icmp eq i32 %776, 0 + %conv268.i.i = trunc i64 %712 to i32 + %778 = and i32 %conv268.i.i, 8 + %tobool34.not.i.i470.i.i = icmp eq i32 %778, 0 %.pre769 = load ptr, ptr %code_ptr, align 8 br i1 %tobool34.not.i.i470.i.i, label %tcg_out_bswap32.exit478.i.i, label %if.then35.i.i471.i.i @@ -12870,18 +12868,18 @@ if.then35.i.i471.i.i: ; preds = %sw.bb267.i.i br label %tcg_out_bswap32.exit478.i.i tcg_out_bswap32.exit478.i.i: ; preds = %if.then35.i.i471.i.i, %sw.bb267.i.i - %777 = phi ptr [ %.pre768, %if.then35.i.i471.i.i ], [ %.pre769, %sw.bb267.i.i ] - %incdec.ptr.i39.i.i475.i.i = getelementptr i8, ptr %777, i64 1 + %779 = phi ptr [ %.pre768, %if.then35.i.i471.i.i ], [ %.pre769, %sw.bb267.i.i ] + %incdec.ptr.i39.i.i475.i.i = getelementptr i8, ptr %779, i64 1 store ptr %incdec.ptr.i39.i.i475.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %777, align 1 - %778 = trunc i64 %710 to i8 - %779 = and i8 %778, 7 - %conv51.i.i476.i.i = or disjoint i8 %779, -56 - %780 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i477.i.i = getelementptr i8, ptr %780, i64 1 + store i8 15, ptr %779, align 1 + %780 = trunc i64 %712 to i8 + %781 = and i8 %780, 7 + %conv51.i.i476.i.i = or disjoint i8 %781, -56 + %782 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i477.i.i = getelementptr i8, ptr %782, i64 1 store ptr %incdec.ptr.i45.i.i477.i.i, ptr %code_ptr, align 8 - store i8 %conv51.i.i476.i.i, ptr %780, align 1 - %and271.i.i = and i64 %712, 4 + store i8 %conv51.i.i476.i.i, ptr %782, align 1 + %and271.i.i = and i64 %714, 4 %tobool272.not.i.i = icmp eq i64 %and271.i.i, 0 %or.cond394.i.i = select i1 %tobool269.not.i.i, i1 true, i1 %tobool272.not.i.i br i1 %or.cond394.i.i, label %sw.epilog715.i, label %if.then273.i.i @@ -12895,15 +12893,15 @@ sw.bb277.i.i: ; preds = %if.else709.i sw.bb278.i.i: ; preds = %sw.bb277.i.i, %if.else709.i %rexw.28.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb277.i.i ] - %conv280.i.i = trunc i64 %710 to i32 + %conv280.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.28.i.i, i32 noundef 3, i32 noundef %conv280.i.i, i32 noundef 0) - %781 = trunc i64 %710 to i8 - %782 = and i8 %781, 7 - %conv.i481.i.i = or disjoint i8 %782, -40 - %783 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i483.i.i = getelementptr i8, ptr %783, i64 1 + %783 = trunc i64 %712 to i8 + %784 = and i8 %783, 7 + %conv.i481.i.i = or disjoint i8 %784, -40 + %785 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i483.i.i = getelementptr i8, ptr %785, i64 1 store ptr %incdec.ptr.i.i483.i.i, ptr %code_ptr, align 8 - store i8 %conv.i481.i.i, ptr %783, align 1 + store i8 %conv.i481.i.i, ptr %785, align 1 br label %sw.epilog715.i sw.bb281.i.i: ; preds = %if.else709.i @@ -12911,74 +12909,74 @@ sw.bb281.i.i: ; preds = %if.else709.i sw.bb282.i.i: ; preds = %sw.bb281.i.i, %if.else709.i %rexw.29.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb281.i.i ] - %conv284.i.i = trunc i64 %710 to i32 + %conv284.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.29.i.i, i32 noundef 2, i32 noundef %conv284.i.i, i32 noundef 0) - %784 = trunc i64 %710 to i8 - %785 = and i8 %784, 7 - %conv.i486.i.i = or disjoint i8 %785, -48 - %786 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i488.i.i = getelementptr i8, ptr %786, i64 1 + %786 = trunc i64 %712 to i8 + %787 = and i8 %786, 7 + %conv.i486.i.i = or disjoint i8 %787, -48 + %788 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i488.i.i = getelementptr i8, ptr %788, i64 1 store ptr %incdec.ptr.i.i488.i.i, ptr %code_ptr, align 8 - store i8 %conv.i486.i.i, ptr %786, align 1 + store i8 %conv.i486.i.i, ptr %788, align 1 br label %sw.epilog715.i sw.bb286.i.i: ; preds = %if.else709.i, %if.else709.i - %conv287.i.i = trunc i64 %710 to i32 - %conv288.i.i = trunc i64 %711 to i32 - %conv289.i.i = trunc i64 %712 to i32 + %conv287.i.i = trunc i64 %712 to i32 + %conv288.i.i = trunc i64 %713 to i32 + %conv289.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_ld(ptr noundef %s, i32 noundef %conv287.i.i, i32 noundef -1, i32 noundef %conv288.i.i, i32 noundef %conv289.i.i, i32 noundef 0) br label %sw.epilog715.i sw.bb290.i.i: ; preds = %if.else709.i - %conv291.i.i = trunc i64 %710 to i32 - %conv292.i.i = trunc i64 %711 to i32 - %conv293.i.i = trunc i64 %712 to i32 + %conv291.i.i = trunc i64 %712 to i32 + %conv292.i.i = trunc i64 %713 to i32 + %conv293.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_ld(ptr noundef %s, i32 noundef %conv291.i.i, i32 noundef -1, i32 noundef %conv292.i.i, i32 noundef %conv293.i.i, i32 noundef 1) br label %sw.epilog715.i sw.bb294.i.i: ; preds = %if.else709.i - %conv295.i.i = trunc i64 %710 to i32 - %conv296.i.i = trunc i64 %711 to i32 - %conv297.i.i = trunc i64 %712 to i32 + %conv295.i.i = trunc i64 %712 to i32 + %conv296.i.i = trunc i64 %713 to i32 + %conv297.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_ld(ptr noundef %s, i32 noundef %conv295.i.i, i32 noundef -1, i32 noundef %conv296.i.i, i32 noundef %conv297.i.i, i32 noundef 1) br label %sw.epilog715.i do.end.i.i: ; preds = %if.else709.i, %if.else709.i - %conv299.i.i = trunc i64 %710 to i32 - %conv300.i.i = trunc i64 %711 to i32 - %conv301.i.i = trunc i64 %712 to i32 - %787 = load i64, ptr %arrayidx229.i.i, align 8 - %conv303.i.i = trunc i64 %787 to i32 + %conv299.i.i = trunc i64 %712 to i32 + %conv300.i.i = trunc i64 %713 to i32 + %conv301.i.i = trunc i64 %714 to i32 + %789 = load i64, ptr %arrayidx229.i.i, align 8 + %conv303.i.i = trunc i64 %789 to i32 tail call fastcc void @tcg_out_qemu_ld(ptr noundef %s, i32 noundef %conv299.i.i, i32 noundef %conv300.i.i, i32 noundef %conv301.i.i, i32 noundef %conv303.i.i, i32 noundef 2) br label %sw.epilog715.i sw.bb305.i.i: ; preds = %if.else709.i, %if.else709.i, %if.else709.i, %if.else709.i - %conv306.i.i = trunc i64 %710 to i32 - %conv307.i.i = trunc i64 %711 to i32 - %conv308.i.i = trunc i64 %712 to i32 + %conv306.i.i = trunc i64 %712 to i32 + %conv307.i.i = trunc i64 %713 to i32 + %conv308.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_st(ptr noundef %s, i32 noundef %conv306.i.i, i32 noundef -1, i32 noundef %conv307.i.i, i32 noundef %conv308.i.i, i32 noundef 0) br label %sw.epilog715.i sw.bb309.i.i: ; preds = %if.else709.i - %conv310.i.i = trunc i64 %710 to i32 - %conv311.i.i = trunc i64 %711 to i32 - %conv312.i.i = trunc i64 %712 to i32 + %conv310.i.i = trunc i64 %712 to i32 + %conv311.i.i = trunc i64 %713 to i32 + %conv312.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_st(ptr noundef %s, i32 noundef %conv310.i.i, i32 noundef -1, i32 noundef %conv311.i.i, i32 noundef %conv312.i.i, i32 noundef 1) br label %sw.epilog715.i sw.bb313.i.i: ; preds = %if.else709.i - %conv314.i.i = trunc i64 %710 to i32 - %conv315.i.i = trunc i64 %711 to i32 - %conv316.i.i = trunc i64 %712 to i32 + %conv314.i.i = trunc i64 %712 to i32 + %conv315.i.i = trunc i64 %713 to i32 + %conv316.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_qemu_st(ptr noundef %s, i32 noundef %conv314.i.i, i32 noundef -1, i32 noundef %conv315.i.i, i32 noundef %conv316.i.i, i32 noundef 1) br label %sw.epilog715.i do.end319.i.i: ; preds = %if.else709.i, %if.else709.i - %conv320.i.i = trunc i64 %710 to i32 - %conv321.i.i = trunc i64 %711 to i32 - %conv322.i.i = trunc i64 %712 to i32 - %788 = load i64, ptr %arrayidx229.i.i, align 8 - %conv324.i.i = trunc i64 %788 to i32 + %conv320.i.i = trunc i64 %712 to i32 + %conv321.i.i = trunc i64 %713 to i32 + %conv322.i.i = trunc i64 %714 to i32 + %790 = load i64, ptr %arrayidx229.i.i, align 8 + %conv324.i.i = trunc i64 %790 to i32 tail call fastcc void @tcg_out_qemu_st(ptr noundef %s, i32 noundef %conv320.i.i, i32 noundef %conv321.i.i, i32 noundef %conv322.i.i, i32 noundef %conv324.i.i, i32 noundef 2) br label %sw.epilog715.i @@ -12987,16 +12985,16 @@ sw.bb325.i.i: ; preds = %if.else709.i sw.bb326.i.i: ; preds = %sw.bb325.i.i, %if.else709.i %rexw.30.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb325.i.i ] - %789 = load i64, ptr %arrayidx229.i.i, align 8 - %conv329.i.i = trunc i64 %789 to i32 + %791 = load i64, ptr %arrayidx229.i.i, align 8 + %conv329.i.i = trunc i64 %791 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.30.i.i, i32 noundef 4, i32 noundef %conv329.i.i, i32 noundef 0) - %790 = trunc i64 %789 to i8 - %791 = and i8 %790, 7 - %conv.i491.i.i = or disjoint i8 %791, -32 - %792 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i493.i.i = getelementptr i8, ptr %792, i64 1 + %792 = trunc i64 %791 to i8 + %793 = and i8 %792, 7 + %conv.i491.i.i = or disjoint i8 %793, -32 + %794 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i493.i.i = getelementptr i8, ptr %794, i64 1 store ptr %incdec.ptr.i.i493.i.i, ptr %code_ptr, align 8 - store i8 %conv.i491.i.i, ptr %792, align 1 + store i8 %conv.i491.i.i, ptr %794, align 1 br label %sw.epilog715.i sw.bb330.i.i: ; preds = %if.else709.i @@ -13004,16 +13002,16 @@ sw.bb330.i.i: ; preds = %if.else709.i sw.bb331.i.i: ; preds = %sw.bb330.i.i, %if.else709.i %rexw.31.i.i = phi i32 [ 247, %if.else709.i ], [ 4343, %sw.bb330.i.i ] - %793 = load i64, ptr %arrayidx229.i.i, align 8 - %conv334.i.i = trunc i64 %793 to i32 + %795 = load i64, ptr %arrayidx229.i.i, align 8 + %conv334.i.i = trunc i64 %795 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.31.i.i, i32 noundef 5, i32 noundef %conv334.i.i, i32 noundef 0) - %794 = trunc i64 %793 to i8 - %795 = and i8 %794, 7 - %conv.i496.i.i = or disjoint i8 %795, -24 - %796 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i498.i.i = getelementptr i8, ptr %796, i64 1 + %796 = trunc i64 %795 to i8 + %797 = and i8 %796, 7 + %conv.i496.i.i = or disjoint i8 %797, -24 + %798 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i498.i.i = getelementptr i8, ptr %798, i64 1 store ptr %incdec.ptr.i.i498.i.i, ptr %code_ptr, align 8 - store i8 %conv.i496.i.i, ptr %796, align 1 + store i8 %conv.i496.i.i, ptr %798, align 1 br label %sw.epilog715.i sw.bb335.i.i: ; preds = %if.else709.i @@ -13021,35 +13019,35 @@ sw.bb335.i.i: ; preds = %if.else709.i sw.bb336.i.i: ; preds = %sw.bb335.i.i, %if.else709.i %rexw.32.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb335.i.i ] - %797 = load i32, ptr %arrayidx363.i.i, align 16 - %tobool338.not.i.i = icmp eq i32 %797, 0 - %conv345.i.i = trunc i64 %710 to i32 - %798 = load i64, ptr %arrayidx413.i.i, align 16 + %799 = load i32, ptr %arrayidx363.i.i, align 16 + %tobool338.not.i.i = icmp eq i32 %799, 0 + %conv345.i.i = trunc i64 %712 to i32 + %800 = load i64, ptr %arrayidx413.i.i, align 16 br i1 %tobool338.not.i.i, label %if.else343.i.i, label %if.then339.i.i if.then339.i.i: ; preds = %sw.bb336.i.i - tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %rexw.32.i.i, i32 noundef %conv345.i.i, i64 noundef %798, i32 noundef 1) + tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %rexw.32.i.i, i32 noundef %conv345.i.i, i64 noundef %800, i32 noundef 1) br label %if.end348.i.i if.else343.i.i: ; preds = %sw.bb336.i.i - %conv347.i.i = trunc i64 %798 to i32 + %conv347.i.i = trunc i64 %800 to i32 tail call fastcc void @tgen_arithr(ptr noundef %s, i32 noundef %rexw.32.i.i, i32 noundef %conv345.i.i, i32 noundef %conv347.i.i) br label %if.end348.i.i if.end348.i.i: ; preds = %if.else343.i.i, %if.then339.i.i - %799 = load i32, ptr %arrayidx375.i.i, align 4 - %tobool350.not.i.i = icmp eq i32 %799, 0 + %801 = load i32, ptr %arrayidx375.i.i, align 4 + %tobool350.not.i.i = icmp eq i32 %801, 0 %add356.i.i = or disjoint i32 %rexw.32.i.i, 2 - %conv357.i.i = trunc i64 %711 to i32 - %800 = load i64, ptr %arrayidx384.i.i, align 8 + %conv357.i.i = trunc i64 %713 to i32 + %802 = load i64, ptr %arrayidx384.i.i, align 8 br i1 %tobool350.not.i.i, label %if.else355.i.i, label %if.then351.i.i if.then351.i.i: ; preds = %if.end348.i.i - tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add356.i.i, i32 noundef %conv357.i.i, i64 noundef %800, i32 noundef 1) + tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add356.i.i, i32 noundef %conv357.i.i, i64 noundef %802, i32 noundef 1) br label %sw.epilog715.i if.else355.i.i: ; preds = %if.end348.i.i - %conv359.i.i = trunc i64 %800 to i32 + %conv359.i.i = trunc i64 %802 to i32 tail call fastcc void @tgen_arithr(ptr noundef %s, i32 noundef %add356.i.i, i32 noundef %conv357.i.i, i32 noundef %conv359.i.i) br label %sw.epilog715.i @@ -13058,170 +13056,170 @@ sw.bb361.i.i: ; preds = %if.else709.i sw.bb362.i.i: ; preds = %sw.bb361.i.i, %if.else709.i %rexw.33.i.i = phi i32 [ 0, %if.else709.i ], [ 4096, %sw.bb361.i.i ] - %801 = load i32, ptr %arrayidx363.i.i, align 16 - %tobool364.not.i.i = icmp eq i32 %801, 0 + %803 = load i32, ptr %arrayidx363.i.i, align 16 + %tobool364.not.i.i = icmp eq i32 %803, 0 %add370.i.i = or disjoint i32 %rexw.33.i.i, 5 - %conv371.i.i = trunc i64 %710 to i32 - %802 = load i64, ptr %arrayidx413.i.i, align 16 + %conv371.i.i = trunc i64 %712 to i32 + %804 = load i64, ptr %arrayidx413.i.i, align 16 br i1 %tobool364.not.i.i, label %if.else369.i.i, label %if.then365.i.i if.then365.i.i: ; preds = %sw.bb362.i.i - tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add370.i.i, i32 noundef %conv371.i.i, i64 noundef %802, i32 noundef 1) + tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add370.i.i, i32 noundef %conv371.i.i, i64 noundef %804, i32 noundef 1) br label %if.end374.i.i if.else369.i.i: ; preds = %sw.bb362.i.i - %conv373.i.i = trunc i64 %802 to i32 + %conv373.i.i = trunc i64 %804 to i32 tail call fastcc void @tgen_arithr(ptr noundef %s, i32 noundef %add370.i.i, i32 noundef %conv371.i.i, i32 noundef %conv373.i.i) br label %if.end374.i.i if.end374.i.i: ; preds = %if.else369.i.i, %if.then365.i.i - %803 = load i32, ptr %arrayidx375.i.i, align 4 - %tobool376.not.i.i = icmp eq i32 %803, 0 + %805 = load i32, ptr %arrayidx375.i.i, align 4 + %tobool376.not.i.i = icmp eq i32 %805, 0 %add382.i.i = or disjoint i32 %rexw.33.i.i, 3 - %conv383.i.i = trunc i64 %711 to i32 - %804 = load i64, ptr %arrayidx384.i.i, align 8 + %conv383.i.i = trunc i64 %713 to i32 + %806 = load i64, ptr %arrayidx384.i.i, align 8 br i1 %tobool376.not.i.i, label %if.else381.i.i, label %if.then377.i.i if.then377.i.i: ; preds = %if.end374.i.i - tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add382.i.i, i32 noundef %conv383.i.i, i64 noundef %804, i32 noundef 1) + tail call fastcc void @tgen_arithi(ptr noundef %s, i32 noundef %add382.i.i, i32 noundef %conv383.i.i, i64 noundef %806, i32 noundef 1) br label %sw.epilog715.i if.else381.i.i: ; preds = %if.end374.i.i - %conv385.i.i = trunc i64 %804 to i32 + %conv385.i.i = trunc i64 %806 to i32 tail call fastcc void @tgen_arithr(ptr noundef %s, i32 noundef %add382.i.i, i32 noundef %conv383.i.i, i32 noundef %conv385.i.i) br label %sw.epilog715.i sw.bb387.i.i: ; preds = %if.else709.i - %conv388.i.i = trunc i64 %710 to i32 - %conv389.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 4195, i32 noundef %conv388.i.i, i32 noundef %conv389.i.i, i64 noundef %712) + %conv388.i.i = trunc i64 %712 to i32 + %conv389.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 4195, i32 noundef %conv388.i.i, i32 noundef %conv389.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb390.i.i: ; preds = %if.else709.i - %conv391.i.i = trunc i64 %710 to i32 - %conv392.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef 1, i32 noundef %conv391.i.i, i32 noundef %conv392.i.i, i64 noundef %712) + %conv391.i.i = trunc i64 %712 to i32 + %conv392.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_ld(ptr noundef %s, i32 noundef 1, i32 noundef %conv391.i.i, i32 noundef %conv392.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb393.i.i: ; preds = %if.else709.i - %805 = load i32, ptr %const_args.i, align 16 - %tobool395.not.i.i = icmp eq i32 %805, 0 + %807 = load i32, ptr %const_args.i, align 16 + %tobool395.not.i.i = icmp eq i32 %807, 0 br i1 %tobool395.not.i.i, label %if.else399.i.i, label %if.then396.i.i if.then396.i.i: ; preds = %sw.bb393.i.i - %conv397.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 4295, i32 noundef 0, i32 noundef %conv397.i.i, i64 noundef %712) - %conv398.i.i = trunc i64 %710 to i32 - %806 = load ptr, ptr %code_ptr, align 8 - store i32 %conv398.i.i, ptr %806, align 1 - %add.ptr.i500.i.i = getelementptr i8, ptr %806, i64 4 + %conv397.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_modrm_offset(ptr noundef %s, i32 noundef 4295, i32 noundef 0, i32 noundef %conv397.i.i, i64 noundef %714) + %conv398.i.i = trunc i64 %712 to i32 + %808 = load ptr, ptr %code_ptr, align 8 + store i32 %conv398.i.i, ptr %808, align 1 + %add.ptr.i500.i.i = getelementptr i8, ptr %808, i64 4 store ptr %add.ptr.i500.i.i, ptr %code_ptr, align 8 br label %sw.epilog715.i if.else399.i.i: ; preds = %sw.bb393.i.i - %conv400.i.i = trunc i64 %710 to i32 - %conv401.i.i = trunc i64 %711 to i32 - tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef 1, i32 noundef %conv400.i.i, i32 noundef %conv401.i.i, i64 noundef %712) + %conv400.i.i = trunc i64 %712 to i32 + %conv401.i.i = trunc i64 %713 to i32 + tail call fastcc void @tcg_out_st(ptr noundef %s, i32 noundef 1, i32 noundef %conv400.i.i, i32 noundef %conv401.i.i, i64 noundef %714) br label %sw.epilog715.i sw.bb403.i.i: ; preds = %if.else709.i - %807 = trunc i64 %710 to i8 - %808 = lshr i8 %807, 3 - %809 = and i8 %808, 1 - %conv.i.i501.i.i = or disjoint i8 %809, 72 - %810 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i503.i.i = getelementptr i8, ptr %810, i64 1 + %809 = trunc i64 %712 to i8 + %810 = lshr i8 %809, 3 + %811 = and i8 %810, 1 + %conv.i.i501.i.i = or disjoint i8 %811, 72 + %812 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i503.i.i = getelementptr i8, ptr %812, i64 1 store ptr %incdec.ptr.i37.i.i503.i.i, ptr %code_ptr, align 8 - store i8 %conv.i.i501.i.i, ptr %810, align 1 - %811 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i39.i.i504.i.i = getelementptr i8, ptr %811, i64 1 - store ptr %incdec.ptr.i39.i.i504.i.i, ptr %code_ptr, align 8 - store i8 15, ptr %811, align 1 - %812 = and i8 %807, 7 - %conv51.i.i505.i.i = or disjoint i8 %812, -56 + store i8 %conv.i.i501.i.i, ptr %812, align 1 %813 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i506.i.i = getelementptr i8, ptr %813, i64 1 + %incdec.ptr.i39.i.i504.i.i = getelementptr i8, ptr %813, i64 1 + store ptr %incdec.ptr.i39.i.i504.i.i, ptr %code_ptr, align 8 + store i8 15, ptr %813, align 1 + %814 = and i8 %809, 7 + %conv51.i.i505.i.i = or disjoint i8 %814, -56 + %815 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i506.i.i = getelementptr i8, ptr %815, i64 1 store ptr %incdec.ptr.i45.i.i506.i.i, ptr %code_ptr, align 8 - store i8 %conv51.i.i505.i.i, ptr %813, align 1 + store i8 %conv51.i.i505.i.i, ptr %815, align 1 br label %sw.epilog715.i sw.bb405.i.i: ; preds = %if.else709.i - %conv406.i.i = trunc i64 %710 to i32 + %conv406.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_shifti(ptr noundef %s, i32 noundef 4101, i32 noundef %conv406.i.i, i32 noundef 32) br label %sw.epilog715.i sw.bb408.i.i: ; preds = %if.else709.i, %if.else709.i - %814 = load i64, ptr %arrayidx229.i.i, align 8 - %cmp410.i.i = icmp eq i64 %814, 0 + %816 = load i64, ptr %arrayidx229.i.i, align 8 + %cmp410.i.i = icmp eq i64 %816, 0 br i1 %cmp410.i.i, label %land.lhs.true412.i.i, label %do.body448.i.i land.lhs.true412.i.i: ; preds = %sw.bb408.i.i - %815 = load i64, ptr %arrayidx413.i.i, align 16 - switch i64 %815, label %do.body448.i.i [ + %817 = load i64, ptr %arrayidx413.i.i, align 16 + switch i64 %817, label %do.body448.i.i [ i64 8, label %if.then416.i.i i64 16, label %if.then435.i.i ] if.then416.i.i: ; preds = %land.lhs.true412.i.i - %tobool417.not.i.i = icmp eq i32 %713, 0 + %tobool417.not.i.i = icmp eq i32 %715, 0 br i1 %tobool417.not.i.i, label %if.else423.i.i, label %if.then418.i.i if.then418.i.i: ; preds = %if.then416.i.i - %816 = trunc i64 %710 to i32 - %817 = and i32 %816, 7 - %conv420.i.i = or disjoint i32 %817, 16560 - tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %conv420.i.i, i32 noundef 0, i32 noundef %816, i32 noundef 0) - %conv422.i.i = trunc i64 %712 to i8 - %818 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i508.i.i = getelementptr i8, ptr %818, i64 1 + %818 = trunc i64 %712 to i32 + %819 = and i32 %818, 7 + %conv420.i.i = or disjoint i32 %819, 16560 + tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %conv420.i.i, i32 noundef 0, i32 noundef %818, i32 noundef 0) + %conv422.i.i = trunc i64 %714 to i8 + %820 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i508.i.i = getelementptr i8, ptr %820, i64 1 store ptr %incdec.ptr.i508.i.i, ptr %code_ptr, align 8 - store i8 %conv422.i.i, ptr %818, align 1 + store i8 %conv422.i.i, ptr %820, align 1 br label %sw.epilog715.i if.else423.i.i: ; preds = %if.then416.i.i - %conv424.i.i = trunc i64 %712 to i32 - %conv425.i.i = trunc i64 %710 to i32 + %conv424.i.i = trunc i64 %714 to i32 + %conv425.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 24712, i32 noundef %conv424.i.i, i32 noundef %conv425.i.i, i32 noundef 0) %and.i509.i.i = shl i32 %conv424.i.i, 3 %and1.i510.i.i = and i32 %conv425.i.i, 7 %or.i511.i.i = or disjoint i32 %and.i509.i.i, %and1.i510.i.i - %819 = trunc i32 %or.i511.i.i to i8 - %conv.i512.i.i = or i8 %819, -64 - %820 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i514.i.i = getelementptr i8, ptr %820, i64 1 + %821 = trunc i32 %or.i511.i.i to i8 + %conv.i512.i.i = or i8 %821, -64 + %822 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i514.i.i = getelementptr i8, ptr %822, i64 1 store ptr %incdec.ptr.i.i514.i.i, ptr %code_ptr, align 8 - store i8 %conv.i512.i.i, ptr %820, align 1 + store i8 %conv.i512.i.i, ptr %822, align 1 br label %sw.epilog715.i if.then435.i.i: ; preds = %land.lhs.true412.i.i - %tobool436.not.i.i = icmp eq i32 %713, 0 + %tobool436.not.i.i = icmp eq i32 %715, 0 br i1 %tobool436.not.i.i, label %if.else443.i.i, label %if.then437.i.i if.then437.i.i: ; preds = %if.then435.i.i - %821 = trunc i64 %710 to i32 - %822 = and i32 %821, 7 - %conv440.i.i = or disjoint i32 %822, 1208 - tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %conv440.i.i, i32 noundef 0, i32 noundef %821, i32 noundef 0) - %conv442.i.i = trunc i64 %712 to i16 - %823 = load ptr, ptr %code_ptr, align 8 - store i16 %conv442.i.i, ptr %823, align 1 - %add.ptr.i516.i.i = getelementptr i8, ptr %823, i64 2 + %823 = trunc i64 %712 to i32 + %824 = and i32 %823, 7 + %conv440.i.i = or disjoint i32 %824, 1208 + tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %conv440.i.i, i32 noundef 0, i32 noundef %823, i32 noundef 0) + %conv442.i.i = trunc i64 %714 to i16 + %825 = load ptr, ptr %code_ptr, align 8 + store i16 %conv442.i.i, ptr %825, align 1 + %add.ptr.i516.i.i = getelementptr i8, ptr %825, i64 2 store ptr %add.ptr.i516.i.i, ptr %code_ptr, align 8 br label %sw.epilog715.i if.else443.i.i: ; preds = %if.then435.i.i - %conv444.i.i = trunc i64 %712 to i32 - %conv445.i.i = trunc i64 %710 to i32 + %conv444.i.i = trunc i64 %714 to i32 + %conv445.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 1161, i32 noundef %conv444.i.i, i32 noundef %conv445.i.i, i32 noundef 0) %and.i517.i.i = shl i32 %conv444.i.i, 3 %and1.i518.i.i = and i32 %conv445.i.i, 7 %or.i519.i.i = or disjoint i32 %and.i517.i.i, %and1.i518.i.i - %824 = trunc i32 %or.i519.i.i to i8 - %conv.i520.i.i = or i8 %824, -64 - %825 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i522.i.i = getelementptr i8, ptr %825, i64 1 + %826 = trunc i32 %or.i519.i.i to i8 + %conv.i520.i.i = or i8 %826, -64 + %827 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i522.i.i = getelementptr i8, ptr %827, i64 1 store ptr %incdec.ptr.i.i522.i.i, ptr %code_ptr, align 8 - store i8 %conv.i520.i.i, ptr %825, align 1 + store i8 %conv.i520.i.i, ptr %827, align 1 br label %sw.epilog715.i do.body448.i.i: ; preds = %land.lhs.true412.i.i, %sw.bb408.i.i @@ -13229,87 +13227,87 @@ do.body448.i.i: ; preds = %land.lhs.true412.i. unreachable sw.bb452.i.i: ; preds = %if.else709.i - %826 = load i64, ptr %arrayidx229.i.i, align 8 - %add454.i.i = add i64 %826, %712 + %828 = load i64, ptr %arrayidx229.i.i, align 8 + %add454.i.i = add i64 %828, %714 %cmp455.i.i = icmp eq i64 %add454.i.i, 32 br i1 %cmp455.i.i, label %if.then457.i.i, label %do.body465.i.i if.then457.i.i: ; preds = %sw.bb452.i.i - %conv458.i.i = trunc i64 %710 to i32 - %conv459.i.i = trunc i64 %711 to i32 + %conv458.i.i = trunc i64 %712 to i32 + %conv459.i.i = trunc i64 %713 to i32 tail call fastcc void @tcg_out_mov(ptr noundef %s, i32 noundef 0, i32 noundef %conv458.i.i, i32 noundef %conv459.i.i) - %conv462.i.i = trunc i64 %712 to i32 + %conv462.i.i = trunc i64 %714 to i32 tail call fastcc void @tcg_out_shifti(ptr noundef %s, i32 noundef 5, i32 noundef %conv458.i.i, i32 noundef %conv462.i.i) br label %sw.epilog715.i do.body465.i.i: ; preds = %sw.bb452.i.i, %entry.do.body465_crit_edge.i.i - %827 = phi i64 [ %.pre.i.i478, %entry.do.body465_crit_edge.i.i ], [ %826, %sw.bb452.i.i ] - %cmp466.i.i = icmp eq i64 %712, 8 + %829 = phi i64 [ %.pre.i.i478, %entry.do.body465_crit_edge.i.i ], [ %828, %sw.bb452.i.i ] + %cmp466.i.i = icmp eq i64 %714, 8 tail call void @llvm.assume(i1 %cmp466.i.i) - %cmp470.i.i = icmp eq i64 %827, 8 + %cmp470.i.i = icmp eq i64 %829, 8 tail call void @llvm.assume(i1 %cmp470.i.i) - %cmp475.i.i = icmp ult i64 %711, 4 - %cmp478.i.i = icmp ult i64 %710, 8 + %cmp475.i.i = icmp ult i64 %713, 4 + %cmp478.i.i = icmp ult i64 %712, 8 %or.cond.i498.i = select i1 %cmp475.i.i, i1 %cmp478.i.i, i1 false - %conv481.i.i = trunc i64 %710 to i32 - %828 = trunc i64 %711 to i32 + %conv481.i.i = trunc i64 %712 to i32 + %830 = trunc i64 %713 to i32 br i1 %or.cond.i498.i, label %if.then480.i.i, label %if.else484.i.i if.then480.i.i: ; preds = %do.body465.i.i - %conv483.i.i = or disjoint i32 %828, 4 + %conv483.i.i = or disjoint i32 %830, 4 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 438, i32 noundef %conv481.i.i, i32 noundef %conv483.i.i, i32 noundef 0) %and.i523.i.i = shl nuw nsw i32 %conv481.i.i, 3 %or.i525.i.i = or disjoint i32 %conv483.i.i, %and.i523.i.i - %829 = trunc i32 %or.i525.i.i to i8 - %conv.i526.i.i = or disjoint i8 %829, -64 - %830 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i528.i.i = getelementptr i8, ptr %830, i64 1 + %831 = trunc i32 %or.i525.i.i to i8 + %conv.i526.i.i = or disjoint i8 %831, -64 + %832 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i528.i.i = getelementptr i8, ptr %832, i64 1 store ptr %incdec.ptr.i.i528.i.i, ptr %code_ptr, align 8 - store i8 %conv.i526.i.i, ptr %830, align 1 + store i8 %conv.i526.i.i, ptr %832, align 1 br label %sw.epilog715.i if.else484.i.i: ; preds = %do.body465.i.i - tail call fastcc void @tcg_out_ext16u(ptr noundef %s, i32 noundef %conv481.i.i, i32 noundef %828) + tail call fastcc void @tcg_out_ext16u(ptr noundef %s, i32 noundef %conv481.i.i, i32 noundef %830) tail call fastcc void @tcg_out_shifti(ptr noundef %s, i32 noundef 5, i32 noundef %conv481.i.i, i32 noundef 8) br label %sw.epilog715.i do.body490.i.i: ; preds = %if.else709.i - %cmp491.i.i = icmp eq i64 %712, 8 + %cmp491.i.i = icmp eq i64 %714, 8 tail call void @llvm.assume(i1 %cmp491.i.i) - %831 = load i64, ptr %arrayidx229.i.i, align 8 - %cmp495.i.i = icmp eq i64 %831, 8 + %833 = load i64, ptr %arrayidx229.i.i, align 8 + %cmp495.i.i = icmp eq i64 %833, 8 tail call void @llvm.assume(i1 %cmp495.i.i) - %cmp500.i.i = icmp ult i64 %711, 4 - %cmp503.i.i = icmp ult i64 %710, 8 + %cmp500.i.i = icmp ult i64 %713, 4 + %cmp503.i.i = icmp ult i64 %712, 8 %or.cond1.i.i = select i1 %cmp500.i.i, i1 %cmp503.i.i, i1 false - %conv506.i.i = trunc i64 %710 to i32 - %832 = trunc i64 %711 to i32 + %conv506.i.i = trunc i64 %712 to i32 + %834 = trunc i64 %713 to i32 br i1 %or.cond1.i.i, label %if.then505.i.i, label %if.else509.i.i if.then505.i.i: ; preds = %do.body490.i.i - %conv508.i.i = or disjoint i32 %832, 4 + %conv508.i.i = or disjoint i32 %834, 4 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 446, i32 noundef %conv506.i.i, i32 noundef %conv508.i.i, i32 noundef 0) %and.i529.i.i = shl nuw nsw i32 %conv506.i.i, 3 %or.i531.i.i = or disjoint i32 %conv508.i.i, %and.i529.i.i - %833 = trunc i32 %or.i531.i.i to i8 - %conv.i532.i.i = or disjoint i8 %833, -64 - %834 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i534.i.i = getelementptr i8, ptr %834, i64 1 + %835 = trunc i32 %or.i531.i.i to i8 + %conv.i532.i.i = or disjoint i8 %835, -64 + %836 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i534.i.i = getelementptr i8, ptr %836, i64 1 store ptr %incdec.ptr.i.i534.i.i, ptr %code_ptr, align 8 - store i8 %conv.i532.i.i, ptr %834, align 1 + store i8 %conv.i532.i.i, ptr %836, align 1 br label %sw.epilog715.i if.else509.i.i: ; preds = %do.body490.i.i - tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 447, i32 noundef %conv506.i.i, i32 noundef %832, i32 noundef 0) + tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef 447, i32 noundef %conv506.i.i, i32 noundef %834, i32 noundef 0) %and.i.i535.i.i = shl i32 %conv506.i.i, 3 - %and1.i.i536.i.i = and i32 %832, 7 + %and1.i.i536.i.i = and i32 %834, 7 %or.i.i537.i.i = or disjoint i32 %and1.i.i536.i.i, %and.i.i535.i.i - %835 = trunc i32 %or.i.i537.i.i to i8 - %conv.i.i538.i.i = or i8 %835, -64 - %836 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i540.i.i = getelementptr i8, ptr %836, i64 1 + %837 = trunc i32 %or.i.i537.i.i to i8 + %conv.i.i538.i.i = or i8 %837, -64 + %838 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i.i.i540.i.i = getelementptr i8, ptr %838, i64 1 store ptr %incdec.ptr.i.i.i540.i.i, ptr %code_ptr, align 8 - store i8 %conv.i.i538.i.i, ptr %836, align 1 + store i8 %conv.i.i538.i.i, ptr %838, align 1 tail call fastcc void @tcg_out_shifti(ptr noundef %s, i32 noundef 7, i32 noundef %conv506.i.i, i32 noundef 8) br label %sw.epilog715.i @@ -13318,28 +13316,28 @@ sw.bb514.i.i: ; preds = %if.else709.i sw.bb515.i.i: ; preds = %sw.bb514.i.i, %if.else709.i %rexw.34.i.i = phi i32 [ 428, %if.else709.i ], [ 4524, %sw.bb514.i.i ] - %conv517.i.i = trunc i64 %712 to i32 - %conv518.i.i = trunc i64 %710 to i32 + %conv517.i.i = trunc i64 %714 to i32 + %conv518.i.i = trunc i64 %712 to i32 tail call fastcc void @tcg_out_opc(ptr noundef %s, i32 noundef %rexw.34.i.i, i32 noundef %conv517.i.i, i32 noundef %conv518.i.i, i32 noundef 0) %and.i541.i.i = shl i32 %conv517.i.i, 3 %and1.i542.i.i = and i32 %conv518.i.i, 7 %or.i543.i.i = or disjoint i32 %and.i541.i.i, %and1.i542.i.i - %837 = trunc i32 %or.i543.i.i to i8 - %conv.i544.i.i = or i8 %837, -64 - %838 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i546.i.i = getelementptr i8, ptr %838, i64 1 - store ptr %incdec.ptr.i.i546.i.i, ptr %code_ptr, align 8 - store i8 %conv.i544.i.i, ptr %838, align 1 - %839 = load i64, ptr %arrayidx229.i.i, align 8 - %conv520.i.i = trunc i64 %839 to i8 + %839 = trunc i32 %or.i543.i.i to i8 + %conv.i544.i.i = or i8 %839, -64 %840 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i548.i.i = getelementptr i8, ptr %840, i64 1 + %incdec.ptr.i.i546.i.i = getelementptr i8, ptr %840, i64 1 + store ptr %incdec.ptr.i.i546.i.i, ptr %code_ptr, align 8 + store i8 %conv.i544.i.i, ptr %840, align 1 + %841 = load i64, ptr %arrayidx229.i.i, align 8 + %conv520.i.i = trunc i64 %841 to i8 + %842 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i548.i.i = getelementptr i8, ptr %842, i64 1 store ptr %incdec.ptr.i548.i.i, ptr %code_ptr, align 8 - store i8 %conv520.i.i, ptr %840, align 1 + store i8 %conv520.i.i, ptr %842, align 1 br label %sw.epilog715.i sw.bb521.i.i: ; preds = %if.else709.i - tail call fastcc void @tcg_out_mb(ptr noundef %s, i64 noundef %710) + tail call fastcc void @tcg_out_mb(ptr noundef %s, i64 noundef %712) br label %sw.epilog715.i do.body523.i.i: ; preds = %if.else709.i @@ -13353,22 +13351,22 @@ sw.epilog715.i: ; preds = %sw.bb521.i.i, %sw.b for.body719.i: ; preds = %sw.epilog715.i, %for.inc742.i %indvars.iv708.i = phi i64 [ %indvars.iv.next709.i, %for.inc742.i ], [ 0, %sw.epilog715.i ] %arrayidx722.i = getelementptr [0 x i64], ptr %args.i435, i64 0, i64 %indvars.iv708.i - %841 = load i64, ptr %arrayidx722.i, align 8 - %842 = inttoptr i64 %841 to ptr - %call723.val.i = load i64, ptr %842, align 8 - %843 = and i64 %call723.val.i, 30064771072 - %cmp.i547.i = icmp ult i64 %843, 8589934593 + %843 = load i64, ptr %arrayidx722.i, align 8 + %844 = inttoptr i64 %843 to ptr + %call723.val.i = load i64, ptr %844, align 8 + %845 = and i64 %call723.val.i, 30064771072 + %cmp.i547.i = icmp ult i64 %845, 8589934593 tail call void @llvm.assume(i1 %cmp.i547.i) - %844 = trunc i64 %indvars.iv708.i to i32 - %shl729.i = shl nuw i32 1, %844 + %846 = trunc i64 %indvars.iv708.i to i32 + %shl729.i = shl nuw i32 1, %846 %and730.i = and i32 %shl729.i, %428 %tobool731.not.i = icmp eq i32 %and730.i, 0 - %shl736.i = shl i32 16, %844 + %shl736.i = shl i32 16, %846 %and737.i = and i32 %shl736.i, %428 br i1 %tobool731.not.i, label %if.else735.i, label %if.then732.i if.then732.i: ; preds = %for.body719.i - tail call fastcc void @temp_sync(ptr noundef %s, ptr noundef nonnull %842, i32 noundef %o_allocated_regs.1.i, i32 noundef 0, i32 noundef %and737.i) + tail call fastcc void @temp_sync(ptr noundef %s, ptr noundef nonnull %844, i32 noundef %o_allocated_regs.1.i, i32 noundef 0, i32 noundef %and737.i) br label %for.inc742.i if.else735.i: ; preds = %for.body719.i @@ -13377,8 +13375,8 @@ if.else735.i: ; preds = %for.body719.i if.then739.i: ; preds = %if.else735.i %bf.lshr.i.i549.i = lshr i64 %call723.val.i, 32 - %845 = trunc i64 %bf.lshr.i.i549.i to i32 - %bf.cast.i.i550.i = and i32 %845, 7 + %847 = trunc i64 %bf.lshr.i.i549.i to i32 + %bf.cast.i.i550.i = and i32 %847, 7 switch i32 %bf.cast.i.i550.i, label %do.body.i.i566.i [ i32 3, label %for.inc742.i i32 2, label %sw.epilog.i.i552.i @@ -13399,25 +13397,25 @@ do.body.i.i566.i: ; preds = %if.then739.i sw.epilog.i.i552.i: ; preds = %sw.bb3.i.i551.i, %sw.bb2.i.i565.i, %if.then739.i, %if.then739.i %new_type.0.i.i553.i = phi i64 [ 768, %sw.bb3.i.i551.i ], [ 0, %sw.bb2.i.i565.i ], [ 512, %if.then739.i ], [ 512, %if.then739.i ] - %846 = and i64 %call723.val.i, 65280 - %cmp1.i.i.i554.i = icmp eq i64 %846, 256 + %848 = and i64 %call723.val.i, 65280 + %cmp1.i.i.i554.i = icmp eq i64 %848, 256 br i1 %cmp1.i.i.i554.i, label %if.then2.i.i.i559.i, label %set_temp_val_nonreg.exit.i.i555.i if.then2.i.i.i559.i: ; preds = %sw.epilog.i.i552.i %bf.cast5.i.i.i560.i = and i64 %call723.val.i, 255 %arrayidx.i.i.i562.i = getelementptr [32 x ptr], ptr %reg_to_temp.i, i64 0, i64 %bf.cast5.i.i.i560.i - %847 = load ptr, ptr %arrayidx.i.i.i562.i, align 8 - %cmp7.i.i.i563.i = icmp eq ptr %847, %842 + %849 = load ptr, ptr %arrayidx.i.i.i562.i, align 8 + %cmp7.i.i.i563.i = icmp eq ptr %849, %844 tail call void @llvm.assume(i1 %cmp7.i.i.i563.i) store ptr null, ptr %arrayidx.i.i.i562.i, align 8 - %bf.load15.pre.i.i.i564.i = load i64, ptr %842, align 8 + %bf.load15.pre.i.i.i564.i = load i64, ptr %844, align 8 br label %set_temp_val_nonreg.exit.i.i555.i set_temp_val_nonreg.exit.i.i555.i: ; preds = %if.then2.i.i.i559.i, %sw.epilog.i.i552.i %bf.load15.i.i.i556.i = phi i64 [ %bf.load15.pre.i.i.i564.i, %if.then2.i.i.i559.i ], [ %call723.val.i, %sw.epilog.i.i552.i ] %bf.clear16.i.i.i557.i = and i64 %bf.load15.i.i.i556.i, -65281 %bf.set.i.i.i558.i = or disjoint i64 %bf.clear16.i.i.i557.i, %new_type.0.i.i553.i - store i64 %bf.set.i.i.i558.i, ptr %842, align 8 + store i64 %bf.set.i.i.i558.i, ptr %844, align 8 br label %for.inc742.i for.inc742.i: ; preds = %set_temp_val_nonreg.exit.i.i555.i, %if.then739.i, %if.else735.i, %if.then732.i @@ -13432,14 +13430,14 @@ tcg_reg_alloc_op.exit: ; preds = %for.inc742.i, %sw.e sw.epilog: ; preds = %for.inc190.i, %for.body94, %if.end90, %sw.epilog166.i, %for.cond89.preheader.i, %for.cond148.preheader.i, %set_temp_val_nonreg.exit.i.i290, %sw.bb101, %set_temp_val_nonreg.exit.i.i93.i, %if.then132.i, %if.end129.i, %set_temp_val_nonreg.exit.i.i.i.i266, %if.then6.i.i262, %if.else.i.i259, %if.then2.i.i257, %if.then121.i, %set_temp_val_reg.exit.i, %set_temp_val_nonreg.exit.i.i97.i, %if.end61.i, %set_temp_val_nonreg.exit.i.i.i.i, %if.then6.i.i, %if.else.i.i193, %if.then2.i.i, %tcg_reg_alloc_op.exit, %tcg_out_goto_tb.exit, %tcg_out_exit_tb.exit, %tcg_reg_alloc_bb_end.exit %num_insns.1 = phi i32 [ %num_insns.0738, %tcg_reg_alloc_op.exit ], [ %num_insns.0738, %tcg_out_goto_tb.exit ], [ %num_insns.0738, %tcg_out_exit_tb.exit ], [ %num_insns.0738, %tcg_reg_alloc_bb_end.exit ], [ %num_insns.0738, %if.then2.i.i ], [ %num_insns.0738, %if.else.i.i193 ], [ %num_insns.0738, %if.then6.i.i ], [ %num_insns.0738, %set_temp_val_nonreg.exit.i.i.i.i ], [ %num_insns.0738, %if.end61.i ], [ %num_insns.0738, %set_temp_val_nonreg.exit.i.i97.i ], [ %num_insns.0738, %set_temp_val_reg.exit.i ], [ %num_insns.0738, %if.then121.i ], [ %num_insns.0738, %if.then2.i.i257 ], [ %num_insns.0738, %if.else.i.i259 ], [ %num_insns.0738, %if.then6.i.i262 ], [ %num_insns.0738, %set_temp_val_nonreg.exit.i.i.i.i266 ], [ %num_insns.0738, %if.end129.i ], [ %num_insns.0738, %if.then132.i ], [ %num_insns.0738, %set_temp_val_nonreg.exit.i.i93.i ], [ %num_insns.0738, %sw.bb101 ], [ %num_insns.0738, %set_temp_val_nonreg.exit.i.i290 ], [ %num_insns.0738, %for.cond148.preheader.i ], [ %num_insns.0738, %for.cond89.preheader.i ], [ %num_insns.0738, %sw.epilog166.i ], [ %inc, %if.end90 ], [ %inc, %for.body94 ], [ %num_insns.0738, %for.inc190.i ] - %848 = load ptr, ptr %code_ptr, align 8 - %849 = load ptr, ptr %code_gen_highwater, align 8 - %cmp126 = icmp ugt ptr %848, %849 + %850 = load ptr, ptr %code_ptr, align 8 + %851 = load ptr, ptr %code_gen_highwater, align 8 + %cmp126 = icmp ugt ptr %850, %851 br i1 %cmp126, label %return, label %if.end135 if.end135: ; preds = %sw.epilog %s.val104 = load ptr, ptr %code_buf, align 8 - %sub.ptr.lhs.cast.i.i542 = ptrtoint ptr %848 to i64 + %sub.ptr.lhs.cast.i.i542 = ptrtoint ptr %850 to i64 %sub.ptr.rhs.cast.i.i543 = ptrtoint ptr %s.val104 to i64 %sub.ptr.sub.i.i544 = sub i64 %sub.ptr.lhs.cast.i.i542, %sub.ptr.rhs.cast.i.i543 %cmp137 = icmp ugt i64 %sub.ptr.sub.i.i544, 65535 @@ -13449,10 +13447,10 @@ do.body149: ; preds = %for.cond, %tcg_mall %sub.ptr.sub.i.i547.pre-phi = phi i64 [ %.pre781, %tcg_malloc.exit.do.body149_crit_edge ], [ %sub.ptr.sub.i.i544, %for.cond ] %num_insns.0.lcssa = phi i32 [ -1, %tcg_malloc.exit.do.body149_crit_edge ], [ %num_insns.1, %for.cond ] %add150 = add i32 %num_insns.0.lcssa, 1 - %850 = load ptr, ptr %gen_tb, align 8 - %icount152 = getelementptr inbounds i8, ptr %850, i64 26 - %851 = load i16, ptr %icount152, align 2 - %conv153 = zext i16 %851 to i32 + %852 = load ptr, ptr %gen_tb, align 8 + %icount152 = getelementptr inbounds i8, ptr %852, i64 26 + %853 = load i16, ptr %icount152, align 2 + %conv153 = zext i16 %853 to i32 %cmp154 = icmp eq i32 %add150, %conv153 tail call void @llvm.assume(i1 %cmp154) %conv160 = trunc i64 %sub.ptr.sub.i.i547.pre-phi to i16 @@ -13497,59 +13495,59 @@ for.cond.i: ; preds = %if.end.i558 br i1 %tobool.not.i560, label %if.end168, label %for.body.i550, !llvm.loop !61 for.body.i550: ; preds = %for.cond.i, %for.body.lr.ph.i548 - %852 = phi ptr [ %.pre778, %for.body.lr.ph.i548 ], [ %981, %for.cond.i ] + %854 = phi ptr [ %.pre778, %for.body.lr.ph.i548 ], [ %983, %for.cond.i ] %lb.097.i = phi ptr [ %lb.095.i, %for.body.lr.ph.i548 ], [ %lb.0.i, %for.cond.i ] - %853 = load i8, ptr %lb.097.i, align 8 - %tobool1.i = trunc i8 %853 to i1 + %855 = load i8, ptr %lb.097.i, align 8 + %tobool1.i = trunc i8 %855 to i1 %oi.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 4 - %854 = load i32, ptr %oi.i.i, align 4 - %shr.i.i.i551 = lshr i32 %854, 4 + %856 = load i32, ptr %oi.i.i, align 4 + %shr.i.i.i551 = lshr i32 %856, 4 %label_ptr1.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 40 - %855 = load ptr, ptr %label_ptr1.i.i, align 8 - %sub.ptr.lhs.cast.i.i552 = ptrtoint ptr %852 to i64 - %sub.ptr.rhs.cast.i.i553 = ptrtoint ptr %855 to i64 + %857 = load ptr, ptr %label_ptr1.i.i, align 8 + %sub.ptr.lhs.cast.i.i552 = ptrtoint ptr %854 to i64 + %sub.ptr.rhs.cast.i.i553 = ptrtoint ptr %857 to i64 %sub.ptr.sub.i.i554 = sub i64 %sub.ptr.lhs.cast.i.i552, %sub.ptr.rhs.cast.i.i553 - %856 = trunc i64 %sub.ptr.sub.i.i554 to i32 - %conv.i.i555 = add i32 %856, -4 - store i32 %conv.i.i555, ptr %855, align 1 + %858 = trunc i64 %sub.ptr.sub.i.i554 to i32 + %conv.i.i555 = add i32 %858, -4 + store i32 %conv.i.i555, ptr %857, align 1 %arrayidx4.i.i = getelementptr i8, ptr %lb.097.i, i64 48 - %857 = load ptr, ptr %arrayidx4.i.i, align 8 - %tobool.not.i.i556 = icmp eq ptr %857, null + %859 = load ptr, ptr %arrayidx4.i.i, align 8 + %tobool.not.i.i556 = icmp eq ptr %859, null br i1 %tobool1.i, label %cond.true.i563, label %cond.false.i cond.true.i563: ; preds = %for.body.i550 br i1 %tobool.not.i.i556, label %if.end.i.i566, label %if.then.i.i564 if.then.i.i564: ; preds = %cond.true.i563 - %858 = load ptr, ptr %code_ptr, align 8 - %sub.ptr.lhs.cast8.i.i = ptrtoint ptr %858 to i64 - %sub.ptr.rhs.cast9.i.i = ptrtoint ptr %857 to i64 + %860 = load ptr, ptr %code_ptr, align 8 + %sub.ptr.lhs.cast8.i.i = ptrtoint ptr %860 to i64 + %sub.ptr.rhs.cast9.i.i = ptrtoint ptr %859 to i64 %sub.ptr.sub10.i.i = sub i64 %sub.ptr.lhs.cast8.i.i, %sub.ptr.rhs.cast9.i.i - %859 = trunc i64 %sub.ptr.sub10.i.i to i32 - %conv12.i.i565 = add i32 %859, -4 - store i32 %conv12.i.i565, ptr %857, align 1 + %861 = trunc i64 %sub.ptr.sub10.i.i to i32 + %conv12.i.i565 = add i32 %861, -4 + store i32 %conv12.i.i565, ptr %859, align 1 br label %if.end.i.i566 if.end.i.i566: ; preds = %if.then.i.i564, %cond.true.i563 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %mov.i.i.i) - %860 = load i32, ptr %oi.i.i, align 4 - %shr.i.i.i.i567 = lshr i32 %860, 4 + %862 = load i32, ptr %oi.i.i, align 4 + %shr.i.i.i.i567 = lshr i32 %862, 4 %and.i.i.i568 = and i32 %shr.i.i.i.i567, 7 - %861 = icmp ult i32 %and.i.i.i568, 5 - br i1 %861, label %switch.lookup, label %do.body.i.i.i600 + %863 = icmp ult i32 %and.i.i.i568, 5 + br i1 %863, label %switch.lookup, label %do.body.i.i.i600 do.body.i.i.i600: ; preds = %if.end.i.i566 tail call void @g_assertion_message_expr(ptr noundef null, ptr noundef nonnull @.str.1, i32 noundef 5771, ptr noundef nonnull @__func__.tcg_out_ld_helper_args, ptr noundef null) #27 unreachable switch.lookup: ; preds = %if.end.i.i566 - %862 = zext nneg i32 %and.i.i.i568 to i64 - %switch.gep = getelementptr inbounds [5 x ptr], ptr @switch.table.tcg_gen_code, i64 0, i64 %862 + %864 = zext nneg i32 %and.i.i.i568 to i64 + %switch.gep = getelementptr inbounds [5 x ptr], ptr @switch.table.tcg_gen_code, i64 0, i64 %864 %switch.load = load ptr, ptr %switch.gep, align 8 %arrayidx.i.i.i571 = getelementptr i8, ptr %switch.load, i64 36 - %863 = load i32, ptr %addr_type.i.i34.i, align 4 + %865 = load i32, ptr %addr_type.i.i34.i, align 4 %addrlo_reg.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 12 - %864 = load i32, ptr %addrlo_reg.i.i.i, align 4 + %866 = load i32, ptr %addrlo_reg.i.i.i, align 4 %bf.load.i.i.i.i = load i32, ptr %arrayidx.i.i.i571, align 4 %trunc.i.i.i.i = trunc i32 %bf.load.i.i.i.i to i8 switch i8 %trunc.i.i.i.i, label %do.body.i.i.i.i599 [ @@ -13559,7 +13557,7 @@ switch.lookup: ; preds = %if.end.i.i566 ] sw.bb.i.i.i.i: ; preds = %switch.lookup - %cmp1.i.i.i.i598 = icmp eq i32 %863, 0 + %cmp1.i.i.i.i598 = icmp eq i32 %865, 0 %cond.i.i.i.i = select i1 %cmp1.i.i.i.i598, i32 2, i32 3 br label %tcg_out_helper_add_mov.exit.i.i.i @@ -13576,8 +13574,8 @@ tcg_out_helper_add_mov.exit.i.i.i: ; preds = %sw.bb3.i.i.i.i572, %bf.clear5.i.i.i.i = and i32 %bf.lshr.i.i.i.i573, 255 store i32 %bf.clear5.i.i.i.i, ptr %mov.i.i.i, align 16 store i32 1, ptr %src37.i.i.i.i, align 8 - store i32 %864, ptr %dst_type39.i.i.i.i, align 4 - store i32 %863, ptr %src_type41.i.i.i.i, align 4 + store i32 %866, ptr %dst_type39.i.i.i.i, align 4 + store i32 %865, ptr %src_type41.i.i.i.i, align 4 store i32 %src_ext.0.i.i.i.i, ptr %src_ext43.i.i.i.i, align 16 call fastcc void @tcg_out_helper_load_slots(ptr noundef nonnull %s, i32 noundef 1, ptr noundef nonnull %mov.i.i.i) %out_kind.i.i.i = getelementptr inbounds i8, ptr %switch.load, i64 24 @@ -13591,22 +13589,22 @@ tcg_out_helper_add_mov.exit.i.i.i: ; preds = %sw.bb3.i.i.i.i572, ] sw.bb6.i.i.i: ; preds = %tcg_out_helper_add_mov.exit.i.i.i - %865 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i.i.i.i = getelementptr i8, ptr %865, i64 1 + %867 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i.i.i.i = getelementptr i8, ptr %867, i64 1 store ptr %incdec.ptr.i37.i.i.i.i.i, ptr %code_ptr, align 8 - store i8 72, ptr %865, align 1 - %866 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i.i.i.i = getelementptr i8, ptr %866, i64 1 + store i8 72, ptr %867, align 1 + %868 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i.i.i.i = getelementptr i8, ptr %868, i64 1 store ptr %incdec.ptr.i45.i.i.i.i.i, ptr %code_ptr, align 8 - store i8 -115, ptr %866, align 1 - %867 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i.i.i.i = getelementptr i8, ptr %867, i64 1 + store i8 -115, ptr %868, align 1 + %869 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i.i.i.i = getelementptr i8, ptr %869, i64 1 store ptr %incdec.ptr.i49.i.i.i.i, ptr %code_ptr, align 8 - store i8 60, ptr %867, align 1 - %868 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i.i.i.i = getelementptr i8, ptr %868, i64 1 + store i8 60, ptr %869, align 1 + %870 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i.i.i.i = getelementptr i8, ptr %870, i64 1 store ptr %incdec.ptr.i51.i.i.i.i, ptr %code_ptr, align 8 - store i8 36, ptr %868, align 1 + store i8 36, ptr %870, align 1 br label %tcg_out_ld_helper_args.exit.i.i do.body19.i.i.i: ; preds = %tcg_out_helper_add_mov.exit.i.i.i @@ -13619,69 +13617,69 @@ tcg_out_ld_helper_args.exit.i.i: ; preds = %sw.bb6.i.i.i, %tcg_ %and.i.i576 = and i32 %shr.i.i.i551, 7 %idxprom.i.i577 = zext nneg i32 %and.i.i576 to i64 %arrayidx13.i.i = getelementptr [16 x ptr], ptr @qemu_ld_helpers, i64 0, i64 %idxprom.i.i577 - %869 = load ptr, ptr %arrayidx13.i.i, align 8 + %871 = load ptr, ptr %arrayidx13.i.i, align 8 %s.val.i.i.i578 = load ptr, ptr %code_ptr, align 8 %tobool.not.i.i.i.i.i579 = icmp eq ptr %s.val.i.i.i578, null - %870 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i.i.i.i580 = getelementptr i8, ptr %s.val.i.i.i578, i64 %870 + %872 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i.i.i.i580 = getelementptr i8, ptr %s.val.i.i.i578, i64 %872 %cond.i.i.i.i.i581 = select i1 %tobool.not.i.i.i.i.i579, ptr null, ptr %add.ptr.i.i.i.i.i580 - %sub.ptr.lhs.cast.i.i.i.i.i582 = ptrtoint ptr %869 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i582 = ptrtoint ptr %871 to i64 %sub.ptr.rhs.cast.i.i.i.i.i583 = ptrtoint ptr %cond.i.i.i.i.i581 to i64 %sub.ptr.sub.i.i.i.i.i584 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i582, %sub.ptr.rhs.cast.i.i.i.i.i583 - %871 = add i64 %sub.ptr.sub.i.i.i.i.i584, 2147483643 - %cmp.i.i.i585 = icmp ult i64 %871, 4294967296 + %873 = add i64 %sub.ptr.sub.i.i.i.i.i584, 2147483643 + %cmp.i.i.i585 = icmp ult i64 %873, 4294967296 br i1 %cmp.i.i.i585, label %if.then.i.i.i595, label %if.else.i.i.i586 if.then.i.i.i595: ; preds = %tcg_out_ld_helper_args.exit.i.i - %872 = trunc i64 %sub.ptr.sub.i.i.i.i.i584 to i32 - %conv.i.i.i596 = add i32 %872, -5 + %874 = trunc i64 %sub.ptr.sub.i.i.i.i.i584 to i32 + %conv.i.i.i596 = add i32 %874, -5 %incdec.ptr.i45.i.i.i.i597 = getelementptr i8, ptr %s.val.i.i.i578, i64 1 store ptr %incdec.ptr.i45.i.i.i.i597, ptr %code_ptr, align 8 store i8 -24, ptr %s.val.i.i.i578, align 1 - %873 = load ptr, ptr %code_ptr, align 8 - store i32 %conv.i.i.i596, ptr %873, align 1 + %875 = load ptr, ptr %code_ptr, align 8 + store i32 %conv.i.i.i596, ptr %875, align 1 br label %tcg_out_branch.exit.i.i if.else.i.i.i586: ; preds = %tcg_out_ld_helper_args.exit.i.i %incdec.ptr.i45.i13.i.i.i587 = getelementptr i8, ptr %s.val.i.i.i578, i64 1 store ptr %incdec.ptr.i45.i13.i.i.i587, ptr %code_ptr, align 8 store i8 -1, ptr %s.val.i.i.i578, align 1 - %874 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i588 = getelementptr i8, ptr %874, i64 1 - store ptr %incdec.ptr.i.i.i.i588, ptr %code_ptr, align 8 - store i8 21, ptr %874, align 1 - %875 = load ptr, ptr %code_ptr, align 8 - tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i582, ptr noundef %875) %876 = load ptr, ptr %code_ptr, align 8 - store i32 0, ptr %876, align 1 + %incdec.ptr.i.i.i.i588 = getelementptr i8, ptr %876, i64 1 + store ptr %incdec.ptr.i.i.i.i588, ptr %code_ptr, align 8 + store i8 21, ptr %876, align 1 + %877 = load ptr, ptr %code_ptr, align 8 + tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i582, ptr noundef %877) + %878 = load ptr, ptr %code_ptr, align 8 + store i32 0, ptr %878, align 1 br label %tcg_out_branch.exit.i.i tcg_out_branch.exit.i.i: ; preds = %if.else.i.i.i586, %if.then.i.i.i595 - %.pn.i.i.i589 = phi ptr [ %876, %if.else.i.i.i586 ], [ %873, %if.then.i.i.i595 ] + %.pn.i.i.i589 = phi ptr [ %878, %if.else.i.i.i586 ], [ %875, %if.then.i.i.i595 ] %storemerge.i.i.i590 = getelementptr i8, ptr %.pn.i.i.i589, i64 4 store ptr %storemerge.i.i.i590, ptr %code_ptr, align 8 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %mov.i14.i.i) %type.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 8 - %877 = load i32, ptr %type.i.i.i, align 8 - switch i32 %877, label %do.body19.i19.i.i [ + %879 = load i32, ptr %type.i.i.i, align 8 + switch i32 %879, label %do.body19.i19.i.i [ i32 1, label %sw.bb1.i15.i.i i32 0, label %sw.bb1.i15.i.i i32 2, label %do.end.i.i.i ] sw.bb1.i15.i.i: ; preds = %tcg_out_branch.exit.i.i, %tcg_out_branch.exit.i.i - %878 = load i32, ptr %oi.i.i, align 4 - %shr.i.i17.i.i = lshr i32 %878, 4 + %880 = load i32, ptr %oi.i.i, align 4 + %shr.i.i17.i.i = lshr i32 %880, 4 %datalo_reg.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 20 - %879 = load i32, ptr %datalo_reg.i.i.i, align 4 - store i32 %879, ptr %mov.i14.i.i, align 16 + %881 = load i32, ptr %datalo_reg.i.i.i, align 4 + store i32 %881, ptr %mov.i14.i.i, align 16 store i32 0, ptr %src26.i.i.i, align 4 - store i32 %877, ptr %dst_type28.i.i.i, align 8 + store i32 %879, ptr %dst_type28.i.i.i, align 8 store i32 1, ptr %src_type30.i.i.i, align 4 - %880 = and i32 %878, 128 - %tobool7.not.i.i.i = icmp eq i32 %880, 0 + %882 = and i32 %880, 128 + %tobool7.not.i.i.i = icmp eq i32 %882, 0 %and14.i.i.i = and i32 %shr.i.i17.i.i, 15 - %cmp.i18.i.i = icmp eq i32 %877, 0 + %cmp.i18.i.i = icmp eq i32 %879, 0 %..i.i.i = select i1 %cmp.i18.i.i, i32 2, i32 3 %.sink.i.i.i = select i1 %tobool7.not.i.i.i, i32 %..i.i.i, i32 %and14.i.i.i store i32 %.sink.i.i.i, ptr %src_ext32.i.i.i, align 16 @@ -13690,12 +13688,12 @@ sw.bb1.i15.i.i: ; preds = %tcg_out_branch.exit do.end.i.i.i: ; preds = %tcg_out_branch.exit.i.i %datalo_reg21.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 20 - %881 = load i32, ptr %datalo_reg21.i.i.i, align 4 - store i32 %881, ptr %mov.i14.i.i, align 16 + %883 = load i32, ptr %datalo_reg21.i.i.i, align 4 + store i32 %883, ptr %mov.i14.i.i, align 16 store <4 x i32> , ptr %src26.i.i.i, align 4 %datahi_reg.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 24 - %882 = load i32, ptr %datahi_reg.i.i.i, align 8 - store i32 %882, ptr %arrayidx33.i.i.i, align 4 + %884 = load i32, ptr %datahi_reg.i.i.i, align 8 + store i32 %884, ptr %arrayidx33.i.i.i, align 4 store <4 x i32> , ptr %src37.i.i.i, align 8 call fastcc void @tcg_out_movext2(ptr noundef nonnull %s, ptr noundef nonnull %mov.i14.i.i, ptr noundef nonnull %arrayidx33.i.i.i) br label %tcg_out_ld_helper_ret.exit.i.i @@ -13707,60 +13705,60 @@ do.body19.i19.i.i: ; preds = %tcg_out_branch.exit tcg_out_ld_helper_ret.exit.i.i: ; preds = %do.end.i.i.i, %sw.bb1.i15.i.i call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %mov.i14.i.i) %raddr.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 32 - %883 = load ptr, ptr %raddr.i.i, align 8 + %885 = load ptr, ptr %raddr.i.i, align 8 %s.val.i.i.i.i = load ptr, ptr %code_ptr, align 8 %tobool.not.i.i.i.i.i.i = icmp eq ptr %s.val.i.i.i.i, null - %884 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i.i.i.i.i = getelementptr i8, ptr %s.val.i.i.i.i, i64 %884 + %886 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i.i.i.i.i = getelementptr i8, ptr %s.val.i.i.i.i, i64 %886 %cond.i.i.i.i.i.i = select i1 %tobool.not.i.i.i.i.i.i, ptr null, ptr %add.ptr.i.i.i.i.i.i - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %883 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %885 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i.i.i.i.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %885 = add i64 %sub.ptr.sub.i.i.i.i.i.i, 2147483643 - %cmp.i.i.i.i591 = icmp ult i64 %885, 4294967296 + %887 = add i64 %sub.ptr.sub.i.i.i.i.i.i, 2147483643 + %cmp.i.i.i.i591 = icmp ult i64 %887, 4294967296 br i1 %cmp.i.i.i.i591, label %if.then.i.i.i.i593, label %if.else.i.i.i.i if.then.i.i.i.i593: ; preds = %tcg_out_ld_helper_ret.exit.i.i - %886 = trunc i64 %sub.ptr.sub.i.i.i.i.i.i to i32 - %conv.i.i.i.i594 = add i32 %886, -5 + %888 = trunc i64 %sub.ptr.sub.i.i.i.i.i.i to i32 + %conv.i.i.i.i594 = add i32 %888, -5 %incdec.ptr.i45.i.i.i20.i.i = getelementptr i8, ptr %s.val.i.i.i.i, i64 1 store ptr %incdec.ptr.i45.i.i.i20.i.i, ptr %code_ptr, align 8 store i8 -23, ptr %s.val.i.i.i.i, align 1 - %887 = load ptr, ptr %code_ptr, align 8 - store i32 %conv.i.i.i.i594, ptr %887, align 1 + %889 = load ptr, ptr %code_ptr, align 8 + store i32 %conv.i.i.i.i594, ptr %889, align 1 br label %if.end.i558 if.else.i.i.i.i: ; preds = %tcg_out_ld_helper_ret.exit.i.i %incdec.ptr.i45.i13.i.i.i.i = getelementptr i8, ptr %s.val.i.i.i.i, i64 1 store ptr %incdec.ptr.i45.i13.i.i.i.i, ptr %code_ptr, align 8 store i8 -1, ptr %s.val.i.i.i.i, align 1 - %888 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i.i592 = getelementptr i8, ptr %888, i64 1 - store ptr %incdec.ptr.i.i.i.i.i592, ptr %code_ptr, align 8 - store i8 37, ptr %888, align 1 - %889 = load ptr, ptr %code_ptr, align 8 - tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i.i, ptr noundef %889) %890 = load ptr, ptr %code_ptr, align 8 - store i32 0, ptr %890, align 1 + %incdec.ptr.i.i.i.i.i592 = getelementptr i8, ptr %890, i64 1 + store ptr %incdec.ptr.i.i.i.i.i592, ptr %code_ptr, align 8 + store i8 37, ptr %890, align 1 + %891 = load ptr, ptr %code_ptr, align 8 + tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i.i, ptr noundef %891) + %892 = load ptr, ptr %code_ptr, align 8 + store i32 0, ptr %892, align 1 br label %if.end.i558 cond.false.i: ; preds = %for.body.i550 br i1 %tobool.not.i.i556, label %if.end.i25.i, label %if.then.i20.i if.then.i20.i: ; preds = %cond.false.i - %891 = load ptr, ptr %code_ptr, align 8 - %sub.ptr.lhs.cast8.i21.i = ptrtoint ptr %891 to i64 - %sub.ptr.rhs.cast9.i22.i = ptrtoint ptr %857 to i64 + %893 = load ptr, ptr %code_ptr, align 8 + %sub.ptr.lhs.cast8.i21.i = ptrtoint ptr %893 to i64 + %sub.ptr.rhs.cast9.i22.i = ptrtoint ptr %859 to i64 %sub.ptr.sub10.i23.i = sub i64 %sub.ptr.lhs.cast8.i21.i, %sub.ptr.rhs.cast9.i22.i - %892 = trunc i64 %sub.ptr.sub10.i23.i to i32 - %conv12.i24.i = add i32 %892, -4 - store i32 %conv12.i24.i, ptr %857, align 1 + %894 = trunc i64 %sub.ptr.sub10.i23.i to i32 + %conv12.i24.i = add i32 %894, -4 + store i32 %conv12.i24.i, ptr %859, align 1 br label %if.end.i25.i if.end.i25.i: ; preds = %if.then.i20.i, %cond.false.i call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %mov.i.i9.i) - %893 = load i32, ptr %oi.i.i, align 4 - %shr.i.i.i26.i = lshr i32 %893, 4 + %895 = load i32, ptr %oi.i.i, align 4 + %shr.i.i.i26.i = lshr i32 %895, 4 %and.i.i27.i = and i32 %shr.i.i.i26.i, 7 switch i32 %and.i.i27.i, label %do.body.i.i94.i [ i32 0, label %sw.epilog.i.i29.i @@ -13786,9 +13784,9 @@ sw.epilog.i.i29.i: ; preds = %sw.bb2.i.i28.i, %sw %data_type.0.i.i.i = phi i32 [ 2, %sw.bb2.i.i28.i ], [ 1, %sw.bb1.i.i93.i ], [ 0, %if.end.i25.i ], [ 0, %if.end.i25.i ], [ 0, %if.end.i25.i ] %info.0.i.i32.i = phi ptr [ @info_helper_st128_mmu, %sw.bb2.i.i28.i ], [ @info_helper_st64_mmu, %sw.bb1.i.i93.i ], [ @info_helper_st32_mmu, %if.end.i25.i ], [ @info_helper_st32_mmu, %if.end.i25.i ], [ @info_helper_st32_mmu, %if.end.i25.i ] %arrayidx.i.i33.i = getelementptr i8, ptr %info.0.i.i32.i, i64 36 - %894 = load i32, ptr %addr_type.i.i34.i, align 4 + %896 = load i32, ptr %addr_type.i.i34.i, align 4 %addrlo_reg.i.i35.i = getelementptr inbounds i8, ptr %lb.097.i, i64 12 - %895 = load i32, ptr %addrlo_reg.i.i35.i, align 4 + %897 = load i32, ptr %addrlo_reg.i.i35.i, align 4 %bf.load.i.i.i36.i = load i32, ptr %arrayidx.i.i33.i, align 4 %trunc.i.i.i37.i = trunc i32 %bf.load.i.i.i36.i to i8 switch i8 %trunc.i.i.i37.i, label %do.body.i.i.i92.i [ @@ -13798,7 +13796,7 @@ sw.epilog.i.i29.i: ; preds = %sw.bb2.i.i28.i, %sw ] sw.bb.i.i.i89.i: ; preds = %sw.epilog.i.i29.i - %cmp1.i.i.i90.i = icmp eq i32 %894, 0 + %cmp1.i.i.i90.i = icmp eq i32 %896, 0 %cond.i.i.i91.i = select i1 %cmp1.i.i.i90.i, i32 2, i32 3 br label %tcg_out_helper_add_mov.exit.i.i39.i @@ -13815,8 +13813,8 @@ tcg_out_helper_add_mov.exit.i.i39.i: ; preds = %sw.bb3.i.i.i38.i, % %bf.clear5.i.i.i42.i = and i32 %bf.lshr.i.i.i41.i, 255 store i32 %bf.clear5.i.i.i42.i, ptr %mov.i.i9.i, align 16 store i32 1, ptr %src37.i.i.i43.i, align 8 - store i32 %895, ptr %dst_type39.i.i.i44.i, align 4 - store i32 %894, ptr %src_type41.i.i.i45.i, align 4 + store i32 %897, ptr %dst_type39.i.i.i44.i, align 4 + store i32 %896, ptr %src_type41.i.i.i45.i, align 4 store i32 %src_ext.0.i.i.i40.i, ptr %src_ext43.i.i.i46.i, align 16 %arrayidx7.i.i.i = getelementptr i8, ptr %info.0.i.i32.i, i64 40 %bf.load.i.i47.i = load i32, ptr %arrayidx7.i.i.i, align 8 @@ -13830,9 +13828,9 @@ tcg_out_helper_add_mov.exit.i.i39.i: ; preds = %sw.bb3.i.i.i38.i, % sw.bb8.i.i.i: ; preds = %tcg_out_helper_add_mov.exit.i.i39.i, %tcg_out_helper_add_mov.exit.i.i39.i, %tcg_out_helper_add_mov.exit.i.i39.i %type.i.i85.i = getelementptr inbounds i8, ptr %lb.097.i, i64 8 - %896 = load i32, ptr %type.i.i85.i, align 8 + %898 = load i32, ptr %type.i.i85.i, align 8 %datalo_reg.i.i86.i = getelementptr inbounds i8, ptr %lb.097.i, i64 20 - %897 = load i32, ptr %datalo_reg.i.i86.i, align 4 + %899 = load i32, ptr %datalo_reg.i.i86.i, align 4 br i1 %cmp.i.i.i31.i, label %if.then.i.i.i88.i, label %if.end15.i.i.i.i if.then.i.i.i88.i: ; preds = %sw.bb8.i.i.i @@ -13843,7 +13841,7 @@ if.then.i.i.i88.i: ; preds = %sw.bb8.i.i.i ] sw.bb.i56.i.i.i: ; preds = %if.then.i.i.i88.i - %cmp1.i57.i.i.i = icmp eq i32 %896, 0 + %cmp1.i57.i.i.i = icmp eq i32 %898, 0 %cond.i58.i.i.i = select i1 %cmp1.i57.i.i.i, i32 2, i32 3 br label %tcg_out_helper_add_mov.exit60.i.i.i @@ -13856,11 +13854,11 @@ do.body.i59.i.i.i: ; preds = %if.then.i.i.i88.i if.end15.i.i.i.i: ; preds = %sw.bb8.i.i.i %datahi_reg.i.i87.i = getelementptr inbounds i8, ptr %lb.097.i, i64 24 - %898 = load i32, ptr %datahi_reg.i.i87.i, align 8 + %900 = load i32, ptr %datahi_reg.i.i87.i, align 8 %bf.lshr18.i.i.i.i = lshr i32 %bf.load.i.i47.i, 8 %bf.clear19.i.i.i.i = and i32 %bf.lshr18.i.i.i.i, 255 store i32 %bf.clear19.i.i.i.i, ptr %add.ptr.i.i.i549, align 4 - store i32 %897, ptr %src23.i.i.i.i, align 8 + store i32 %899, ptr %src23.i.i.i.i, align 8 store i32 1, ptr %dst_type25.i.i.i.i, align 4 store i32 1, ptr %src_type27.i.i.i.i, align 16 store i32 3, ptr %src_ext29.i.i.i.i, align 4 @@ -13872,11 +13870,11 @@ tcg_out_helper_add_mov.exit60.i.i.i: ; preds = %if.end15.i.i.i.i, % %bf.load31.i.i.i.sink.i = phi i32 [ %bf.load31.i.i.i.i, %if.end15.i.i.i.i ], [ %bf.load.i.i47.i, %sw.bb3.i52.i.i.i ], [ %bf.load.i.i47.i, %sw.bb.i56.i.i.i ], [ %bf.load.i.i47.i, %if.then.i.i.i88.i ] %arrayidx34.i.i.i.sink.i = phi ptr [ %arrayidx34.i.i.i.i, %if.end15.i.i.i.i ], [ %add.ptr.i.i.i549, %sw.bb3.i52.i.i.i ], [ %add.ptr.i.i.i549, %sw.bb.i56.i.i.i ], [ %add.ptr.i.i.i549, %if.then.i.i.i88.i ] %.sink28.i.i.i.i = phi i64 [ 24, %if.end15.i.i.i.i ], [ 8, %sw.bb3.i52.i.i.i ], [ 8, %sw.bb.i56.i.i.i ], [ 8, %if.then.i.i.i88.i ] - %hi.sink.i.i.i.i = phi i32 [ %898, %if.end15.i.i.i.i ], [ 1, %sw.bb3.i52.i.i.i ], [ %data_type.0.i.i.i, %sw.bb.i56.i.i.i ], [ 1, %if.then.i.i.i88.i ] + %hi.sink.i.i.i.i = phi i32 [ %900, %if.end15.i.i.i.i ], [ 1, %sw.bb3.i52.i.i.i ], [ %data_type.0.i.i.i, %sw.bb.i56.i.i.i ], [ 1, %if.then.i.i.i88.i ] %.sink27.i.i.i.i = phi i64 [ 28, %if.end15.i.i.i.i ], [ 4, %sw.bb3.i52.i.i.i ], [ 4, %sw.bb.i56.i.i.i ], [ 4, %if.then.i.i.i88.i ] - %.sink26.i.i.i.i = phi i32 [ 1, %if.end15.i.i.i.i ], [ %897, %sw.bb3.i52.i.i.i ], [ %897, %sw.bb.i56.i.i.i ], [ %897, %if.then.i.i.i88.i ] + %.sink26.i.i.i.i = phi i32 [ 1, %if.end15.i.i.i.i ], [ %899, %sw.bb3.i52.i.i.i ], [ %899, %sw.bb.i56.i.i.i ], [ %899, %if.then.i.i.i88.i ] %.sink25.i.i.i.i = phi i64 [ 32, %if.end15.i.i.i.i ], [ 12, %sw.bb3.i52.i.i.i ], [ 12, %sw.bb.i56.i.i.i ], [ 12, %if.then.i.i.i88.i ] - %.sink24.i.i.i.i = phi i32 [ 1, %if.end15.i.i.i.i ], [ %896, %sw.bb3.i52.i.i.i ], [ %896, %sw.bb.i56.i.i.i ], [ %896, %if.then.i.i.i88.i ] + %.sink24.i.i.i.i = phi i32 [ 1, %if.end15.i.i.i.i ], [ %898, %sw.bb3.i52.i.i.i ], [ %898, %sw.bb.i56.i.i.i ], [ %898, %if.then.i.i.i88.i ] %.sink23.i.i.i.i = phi i64 [ 36, %if.end15.i.i.i.i ], [ 16, %sw.bb3.i52.i.i.i ], [ 16, %sw.bb.i56.i.i.i ], [ 16, %if.then.i.i.i88.i ] %.sink.i.i.i.i = phi i32 [ 3, %if.end15.i.i.i.i ], [ 10, %sw.bb3.i52.i.i.i ], [ %cond.i58.i.i.i, %sw.bb.i56.i.i.i ], [ 2, %if.then.i.i.i88.i ] %retval.0.i.i.i.i = phi i32 [ 2, %if.end15.i.i.i.i ], [ 1, %sw.bb3.i52.i.i.i ], [ 1, %sw.bb.i56.i.i.i ], [ 1, %if.then.i.i.i88.i ] @@ -13899,237 +13897,237 @@ tcg_out_helper_add_mov.exit60.i.i.i: ; preds = %if.end15.i.i.i.i, % do.body17.i.i.i: ; preds = %tcg_out_helper_add_mov.exit.i.i39.i tail call void @llvm.assume(i1 %cmp.i.i30.i) %datalo_reg19.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 20 - %899 = load i32, ptr %datalo_reg19.i.i.i, align 4 - %900 = lshr i32 %bf.load.i.i47.i, 13 - %sub.i.i.i.i557 = and i32 %900, 2040 - %901 = add nsw i32 %sub.i.i.i.i557, -48 - %cmp2.i.i.i.i = icmp ult i32 %899, 16 + %901 = load i32, ptr %datalo_reg19.i.i.i, align 4 + %902 = lshr i32 %bf.load.i.i47.i, 13 + %sub.i.i.i.i557 = and i32 %902, 2040 + %903 = add nsw i32 %sub.i.i.i.i557, -48 + %cmp2.i.i.i.i = icmp ult i32 %901, 16 br i1 %cmp2.i.i.i.i, label %if.then3.i.i.i.i562, label %do.body.i61.i.i.i if.then3.i.i.i.i562: ; preds = %do.body17.i.i.i - %902 = trunc i32 %899 to i8 - %903 = lshr i8 %902, 1 - %904 = and i8 %903, 4 - %conv.i50.i.i.i.i = or disjoint i8 %904, 72 - %905 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i52.i.i.i.i = getelementptr i8, ptr %905, i64 1 + %904 = trunc i32 %901 to i8 + %905 = lshr i8 %904, 1 + %906 = and i8 %905, 4 + %conv.i50.i.i.i.i = or disjoint i8 %906, 72 + %907 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i52.i.i.i.i = getelementptr i8, ptr %907, i64 1 store ptr %incdec.ptr.i37.i52.i.i.i.i, ptr %code_ptr, align 8 - store i8 %conv.i50.i.i.i.i, ptr %905, align 1 - %906 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i54.i.i.i.i = getelementptr i8, ptr %906, i64 1 + store i8 %conv.i50.i.i.i.i, ptr %907, align 1 + %908 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i54.i.i.i.i = getelementptr i8, ptr %908, i64 1 store ptr %incdec.ptr.i45.i54.i.i.i.i, ptr %code_ptr, align 8 - store i8 -119, ptr %906, align 1 - %cmp25.i85.not.i.i.i = icmp eq i32 %901, 0 - %cmp35.i106.i.i.i = icmp ugt i32 %901, 127 + store i8 -119, ptr %908, align 1 + %cmp25.i85.not.i.i.i = icmp eq i32 %903, 0 + %cmp35.i106.i.i.i = icmp ugt i32 %903, 127 %..i107.i.i.i = select i1 %cmp35.i106.i.i.i, i32 128, i32 64 %mod.0.i87.i.i.i = select i1 %cmp25.i85.not.i.i.i, i32 0, i32 %..i107.i.i.i - %907 = add nsw i32 %sub.i.i.i.i557, -49 - %cmp80.i88.i.i.i = icmp ult i32 %907, 127 - %and67.i98.i.i.i = shl nuw nsw i32 %899, 3 + %909 = add nsw i32 %sub.i.i.i.i557, -49 + %cmp80.i88.i.i.i = icmp ult i32 %909, 127 + %and67.i98.i.i.i = shl nuw nsw i32 %901, 3 %shl68.i99.i.i.i = and i32 %and67.i98.i.i.i, 56 %or69.i100.i.i.i = or disjoint i32 %shl68.i99.i.i.i, %mod.0.i87.i.i.i - %908 = trunc i32 %or69.i100.i.i.i to i8 - %conv71.i101.i.i.i = or disjoint i8 %908, 4 - %909 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i103.i.i.i = getelementptr i8, ptr %909, i64 1 + %910 = trunc i32 %or69.i100.i.i.i to i8 + %conv71.i101.i.i.i = or disjoint i8 %910, 4 + %911 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i103.i.i.i = getelementptr i8, ptr %911, i64 1 store ptr %incdec.ptr.i49.i103.i.i.i, ptr %code_ptr, align 8 - store i8 %conv71.i101.i.i.i, ptr %909, align 1 - %910 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i104.i.i.i = getelementptr i8, ptr %910, i64 1 + store i8 %conv71.i101.i.i.i, ptr %911, align 1 + %912 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i104.i.i.i = getelementptr i8, ptr %912, i64 1 store ptr %incdec.ptr.i51.i104.i.i.i, ptr %code_ptr, align 8 - store i8 36, ptr %910, align 1 + store i8 36, ptr %912, align 1 br i1 %cmp80.i88.i.i.i, label %if.then82.i94.i.i.i, label %if.else84.i90.i.i.i if.then82.i94.i.i.i: ; preds = %if.then3.i.i.i.i562 - %conv83.i95.i.i.i = trunc i32 %901 to i8 - %911 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i53.i97.i.i.i = getelementptr i8, ptr %911, i64 1 + %conv83.i95.i.i.i = trunc i32 %903 to i8 + %913 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i53.i97.i.i.i = getelementptr i8, ptr %913, i64 1 store ptr %incdec.ptr.i53.i97.i.i.i, ptr %code_ptr, align 8 - store i8 %conv83.i95.i.i.i, ptr %911, align 1 + store i8 %conv83.i95.i.i.i, ptr %913, align 1 br label %tcg_out_st.exit.i.i.i if.else84.i90.i.i.i: ; preds = %if.then3.i.i.i.i562 br i1 %cmp35.i106.i.i.i, label %if.then87.i91.i.i.i, label %tcg_out_st.exit.i.i.i if.then87.i91.i.i.i: ; preds = %if.else84.i90.i.i.i - %912 = load ptr, ptr %code_ptr, align 8 - store i32 %901, ptr %912, align 1 - %add.ptr.i55.i93.i.i.i = getelementptr i8, ptr %912, i64 4 + %914 = load ptr, ptr %code_ptr, align 8 + store i32 %903, ptr %914, align 1 + %add.ptr.i55.i93.i.i.i = getelementptr i8, ptr %914, i64 4 store ptr %add.ptr.i55.i93.i.i.i, ptr %code_ptr, align 8 br label %tcg_out_st.exit.i.i.i do.body.i61.i.i.i: ; preds = %do.body17.i.i.i - %913 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i29.i73.i.i.i.i = getelementptr i8, ptr %913, i64 1 + %915 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i29.i73.i.i.i.i = getelementptr i8, ptr %915, i64 1 store ptr %incdec.ptr.i29.i73.i.i.i.i, ptr %code_ptr, align 8 - %arg.tr145.i.i.i.i = trunc i32 %899 to i8 - %914 = shl i8 %arg.tr145.i.i.i.i, 4 - %915 = and i8 %914, -128 - store i8 -59, ptr %913, align 1 - %916 = xor i8 %915, -7 - %917 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i35.i69.i.i.i.i = getelementptr i8, ptr %917, i64 1 + %arg.tr145.i.i.i.i = trunc i32 %901 to i8 + %916 = shl i8 %arg.tr145.i.i.i.i, 4 + %917 = and i8 %916, -128 + store i8 -59, ptr %915, align 1 + %918 = xor i8 %917, -7 + %919 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i35.i69.i.i.i.i = getelementptr i8, ptr %919, i64 1 store ptr %incdec.ptr.i35.i69.i.i.i.i, ptr %code_ptr, align 8 - store i8 %916, ptr %917, align 1 - %918 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i70.i.i.i.i = getelementptr i8, ptr %918, i64 1 + store i8 %918, ptr %919, align 1 + %920 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i70.i.i.i.i = getelementptr i8, ptr %920, i64 1 store ptr %incdec.ptr.i37.i70.i.i.i.i, ptr %code_ptr, align 8 - store i8 -42, ptr %918, align 1 - %cmp25.i.not.i.i.i = icmp eq i32 %901, 0 - %cmp35.i.i.i.i = icmp ugt i32 %901, 127 + store i8 -42, ptr %920, align 1 + %cmp25.i.not.i.i.i = icmp eq i32 %903, 0 + %cmp35.i.i.i.i = icmp ugt i32 %903, 127 %..i.i.i.i = select i1 %cmp35.i.i.i.i, i32 128, i32 64 %mod.0.i.i.i.i = select i1 %cmp25.i.not.i.i.i, i32 0, i32 %..i.i.i.i - %919 = add nsw i32 %sub.i.i.i.i557, -49 - %cmp80.i.i.i.i = icmp ult i32 %919, 127 - %and67.i.i.i.i = shl i32 %899, 3 + %921 = add nsw i32 %sub.i.i.i.i557, -49 + %cmp80.i.i.i.i = icmp ult i32 %921, 127 + %and67.i.i.i.i = shl i32 %901, 3 %shl68.i.i.i.i = and i32 %and67.i.i.i.i, 56 %or69.i.i.i.i = or disjoint i32 %shl68.i.i.i.i, %mod.0.i.i.i.i - %920 = trunc i32 %or69.i.i.i.i to i8 - %conv71.i.i.i.i = or disjoint i8 %920, 4 - %921 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i.i.i49.i = getelementptr i8, ptr %921, i64 1 + %922 = trunc i32 %or69.i.i.i.i to i8 + %conv71.i.i.i.i = or disjoint i8 %922, 4 + %923 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i.i.i49.i = getelementptr i8, ptr %923, i64 1 store ptr %incdec.ptr.i49.i.i.i49.i, ptr %code_ptr, align 8 - store i8 %conv71.i.i.i.i, ptr %921, align 1 - %922 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i.i.i50.i = getelementptr i8, ptr %922, i64 1 + store i8 %conv71.i.i.i.i, ptr %923, align 1 + %924 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i.i.i50.i = getelementptr i8, ptr %924, i64 1 store ptr %incdec.ptr.i51.i.i.i50.i, ptr %code_ptr, align 8 - store i8 36, ptr %922, align 1 + store i8 36, ptr %924, align 1 br i1 %cmp80.i.i.i.i, label %if.then82.i.i.i.i, label %if.else84.i.i.i.i if.then82.i.i.i.i: ; preds = %do.body.i61.i.i.i - %conv83.i.i.i.i = trunc i32 %901 to i8 - %923 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i53.i.i.i.i = getelementptr i8, ptr %923, i64 1 + %conv83.i.i.i.i = trunc i32 %903 to i8 + %925 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i53.i.i.i.i = getelementptr i8, ptr %925, i64 1 store ptr %incdec.ptr.i53.i.i.i.i, ptr %code_ptr, align 8 - store i8 %conv83.i.i.i.i, ptr %923, align 1 + store i8 %conv83.i.i.i.i, ptr %925, align 1 br label %tcg_out_st.exit.i.i.i if.else84.i.i.i.i: ; preds = %do.body.i61.i.i.i br i1 %cmp35.i.i.i.i, label %if.then87.i.i.i.i, label %tcg_out_st.exit.i.i.i if.then87.i.i.i.i: ; preds = %if.else84.i.i.i.i - %924 = load ptr, ptr %code_ptr, align 8 - store i32 %901, ptr %924, align 1 - %add.ptr.i55.i.i.i.i = getelementptr i8, ptr %924, i64 4 + %926 = load ptr, ptr %code_ptr, align 8 + store i32 %903, ptr %926, align 1 + %add.ptr.i55.i.i.i.i = getelementptr i8, ptr %926, i64 4 store ptr %add.ptr.i55.i.i.i.i, ptr %code_ptr, align 8 br label %tcg_out_st.exit.i.i.i tcg_out_st.exit.i.i.i: ; preds = %if.then87.i.i.i.i, %if.else84.i.i.i.i, %if.then82.i.i.i.i, %if.then87.i91.i.i.i, %if.else84.i90.i.i.i, %if.then82.i94.i.i.i %datahi_reg24.i.i.i = getelementptr inbounds i8, ptr %lb.097.i, i64 24 - %925 = load i32, ptr %datahi_reg24.i.i.i, align 8 + %927 = load i32, ptr %datahi_reg24.i.i.i, align 8 %arrayidx25.i.i.i = getelementptr i8, ptr %info.0.i.i32.i, i64 44 %bf.load26.i.i.i = load i32, ptr %arrayidx25.i.i.i, align 4 - %926 = lshr i32 %bf.load26.i.i.i, 13 - %sub.i63.i.i.i = and i32 %926, 2040 - %927 = add nsw i32 %sub.i63.i.i.i, -48 - %cmp2.i64.i.i.i = icmp ult i32 %925, 16 + %928 = lshr i32 %bf.load26.i.i.i, 13 + %sub.i63.i.i.i = and i32 %928, 2040 + %929 = add nsw i32 %sub.i63.i.i.i, -48 + %cmp2.i64.i.i.i = icmp ult i32 %927, 16 br i1 %cmp2.i64.i.i.i, label %if.then3.i74.i.i.i, label %do.body.i65.i.i.i if.then3.i74.i.i.i: ; preds = %tcg_out_st.exit.i.i.i - %928 = trunc i32 %925 to i8 - %929 = lshr i8 %928, 1 - %930 = and i8 %929, 4 - %conv.i50.i77.i.i.i = or disjoint i8 %930, 72 - %931 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i52.i79.i.i.i = getelementptr i8, ptr %931, i64 1 + %930 = trunc i32 %927 to i8 + %931 = lshr i8 %930, 1 + %932 = and i8 %931, 4 + %conv.i50.i77.i.i.i = or disjoint i8 %932, 72 + %933 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i52.i79.i.i.i = getelementptr i8, ptr %933, i64 1 store ptr %incdec.ptr.i37.i52.i79.i.i.i, ptr %code_ptr, align 8 - store i8 %conv.i50.i77.i.i.i, ptr %931, align 1 - %932 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i54.i80.i.i.i = getelementptr i8, ptr %932, i64 1 + store i8 %conv.i50.i77.i.i.i, ptr %933, align 1 + %934 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i54.i80.i.i.i = getelementptr i8, ptr %934, i64 1 store ptr %incdec.ptr.i45.i54.i80.i.i.i, ptr %code_ptr, align 8 - store i8 -119, ptr %932, align 1 - %cmp25.i135.not.i.i.i = icmp eq i32 %927, 0 - %cmp35.i156.i.i.i = icmp ugt i32 %927, 127 + store i8 -119, ptr %934, align 1 + %cmp25.i135.not.i.i.i = icmp eq i32 %929, 0 + %cmp35.i156.i.i.i = icmp ugt i32 %929, 127 %..i157.i.i.i = select i1 %cmp35.i156.i.i.i, i32 128, i32 64 %mod.0.i137.i.i.i = select i1 %cmp25.i135.not.i.i.i, i32 0, i32 %..i157.i.i.i - %933 = add nsw i32 %sub.i63.i.i.i, -49 - %cmp80.i138.i.i.i = icmp ult i32 %933, 127 - %and67.i148.i.i.i = shl nuw nsw i32 %925, 3 + %935 = add nsw i32 %sub.i63.i.i.i, -49 + %cmp80.i138.i.i.i = icmp ult i32 %935, 127 + %and67.i148.i.i.i = shl nuw nsw i32 %927, 3 %shl68.i149.i.i.i = and i32 %and67.i148.i.i.i, 56 %or69.i150.i.i.i = or disjoint i32 %mod.0.i137.i.i.i, %shl68.i149.i.i.i - %934 = trunc i32 %or69.i150.i.i.i to i8 - %conv71.i151.i.i.i = or disjoint i8 %934, 4 - %935 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i153.i.i.i = getelementptr i8, ptr %935, i64 1 + %936 = trunc i32 %or69.i150.i.i.i to i8 + %conv71.i151.i.i.i = or disjoint i8 %936, 4 + %937 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i153.i.i.i = getelementptr i8, ptr %937, i64 1 store ptr %incdec.ptr.i49.i153.i.i.i, ptr %code_ptr, align 8 - store i8 %conv71.i151.i.i.i, ptr %935, align 1 - %936 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i154.i.i.i = getelementptr i8, ptr %936, i64 1 + store i8 %conv71.i151.i.i.i, ptr %937, align 1 + %938 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i154.i.i.i = getelementptr i8, ptr %938, i64 1 store ptr %incdec.ptr.i51.i154.i.i.i, ptr %code_ptr, align 8 - store i8 36, ptr %936, align 1 + store i8 36, ptr %938, align 1 br i1 %cmp80.i138.i.i.i, label %if.then82.i144.i.i.i, label %if.else84.i140.i.i.i if.then82.i144.i.i.i: ; preds = %if.then3.i74.i.i.i - %conv83.i145.i.i.i = trunc i32 %927 to i8 - %937 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i53.i147.i.i.i = getelementptr i8, ptr %937, i64 1 + %conv83.i145.i.i.i = trunc i32 %929 to i8 + %939 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i53.i147.i.i.i = getelementptr i8, ptr %939, i64 1 store ptr %incdec.ptr.i53.i147.i.i.i, ptr %code_ptr, align 8 - store i8 %conv83.i145.i.i.i, ptr %937, align 1 + store i8 %conv83.i145.i.i.i, ptr %939, align 1 br label %tcg_out_st.exit81.i.i.i if.else84.i140.i.i.i: ; preds = %if.then3.i74.i.i.i br i1 %cmp35.i156.i.i.i, label %if.then87.i141.i.i.i, label %tcg_out_st.exit81.i.i.i if.then87.i141.i.i.i: ; preds = %if.else84.i140.i.i.i - %938 = load ptr, ptr %code_ptr, align 8 - store i32 %927, ptr %938, align 1 - %add.ptr.i55.i143.i.i.i = getelementptr i8, ptr %938, i64 4 + %940 = load ptr, ptr %code_ptr, align 8 + store i32 %929, ptr %940, align 1 + %add.ptr.i55.i143.i.i.i = getelementptr i8, ptr %940, i64 4 store ptr %add.ptr.i55.i143.i.i.i, ptr %code_ptr, align 8 br label %tcg_out_st.exit81.i.i.i do.body.i65.i.i.i: ; preds = %tcg_out_st.exit.i.i.i - %939 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i29.i73.i68.i.i.i = getelementptr i8, ptr %939, i64 1 + %941 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i29.i73.i68.i.i.i = getelementptr i8, ptr %941, i64 1 store ptr %incdec.ptr.i29.i73.i68.i.i.i, ptr %code_ptr, align 8 - %arg.tr145.i69.i.i.i = trunc i32 %925 to i8 - %940 = shl i8 %arg.tr145.i69.i.i.i, 4 - %941 = and i8 %940, -128 - store i8 -59, ptr %939, align 1 - %942 = xor i8 %941, -7 - %943 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i35.i69.i71.i.i.i = getelementptr i8, ptr %943, i64 1 + %arg.tr145.i69.i.i.i = trunc i32 %927 to i8 + %942 = shl i8 %arg.tr145.i69.i.i.i, 4 + %943 = and i8 %942, -128 + store i8 -59, ptr %941, align 1 + %944 = xor i8 %943, -7 + %945 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i35.i69.i71.i.i.i = getelementptr i8, ptr %945, i64 1 store ptr %incdec.ptr.i35.i69.i71.i.i.i, ptr %code_ptr, align 8 - store i8 %942, ptr %943, align 1 - %944 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i70.i72.i.i.i = getelementptr i8, ptr %944, i64 1 + store i8 %944, ptr %945, align 1 + %946 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i70.i72.i.i.i = getelementptr i8, ptr %946, i64 1 store ptr %incdec.ptr.i37.i70.i72.i.i.i, ptr %code_ptr, align 8 - store i8 -42, ptr %944, align 1 - %cmp25.i110.not.i.i.i = icmp eq i32 %927, 0 - %cmp35.i131.i.i.i = icmp ugt i32 %927, 127 + store i8 -42, ptr %946, align 1 + %cmp25.i110.not.i.i.i = icmp eq i32 %929, 0 + %cmp35.i131.i.i.i = icmp ugt i32 %929, 127 %..i132.i.i.i = select i1 %cmp35.i131.i.i.i, i32 128, i32 64 %mod.0.i112.i.i.i = select i1 %cmp25.i110.not.i.i.i, i32 0, i32 %..i132.i.i.i - %945 = add nsw i32 %sub.i63.i.i.i, -49 - %cmp80.i113.i.i.i = icmp ult i32 %945, 127 - %and67.i123.i.i.i = shl i32 %925, 3 + %947 = add nsw i32 %sub.i63.i.i.i, -49 + %cmp80.i113.i.i.i = icmp ult i32 %947, 127 + %and67.i123.i.i.i = shl i32 %927, 3 %shl68.i124.i.i.i = and i32 %and67.i123.i.i.i, 56 %or69.i125.i.i.i = or disjoint i32 %mod.0.i112.i.i.i, %shl68.i124.i.i.i - %946 = trunc i32 %or69.i125.i.i.i to i8 - %conv71.i126.i.i.i = or disjoint i8 %946, 4 - %947 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i128.i.i.i = getelementptr i8, ptr %947, i64 1 + %948 = trunc i32 %or69.i125.i.i.i to i8 + %conv71.i126.i.i.i = or disjoint i8 %948, 4 + %949 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i128.i.i.i = getelementptr i8, ptr %949, i64 1 store ptr %incdec.ptr.i49.i128.i.i.i, ptr %code_ptr, align 8 - store i8 %conv71.i126.i.i.i, ptr %947, align 1 - %948 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i129.i.i.i = getelementptr i8, ptr %948, i64 1 + store i8 %conv71.i126.i.i.i, ptr %949, align 1 + %950 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i129.i.i.i = getelementptr i8, ptr %950, i64 1 store ptr %incdec.ptr.i51.i129.i.i.i, ptr %code_ptr, align 8 - store i8 36, ptr %948, align 1 + store i8 36, ptr %950, align 1 br i1 %cmp80.i113.i.i.i, label %if.then82.i119.i.i.i, label %if.else84.i115.i.i.i if.then82.i119.i.i.i: ; preds = %do.body.i65.i.i.i - %conv83.i120.i.i.i = trunc i32 %927 to i8 - %949 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i53.i122.i.i.i = getelementptr i8, ptr %949, i64 1 + %conv83.i120.i.i.i = trunc i32 %929 to i8 + %951 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i53.i122.i.i.i = getelementptr i8, ptr %951, i64 1 store ptr %incdec.ptr.i53.i122.i.i.i, ptr %code_ptr, align 8 - store i8 %conv83.i120.i.i.i, ptr %949, align 1 + store i8 %conv83.i120.i.i.i, ptr %951, align 1 br label %tcg_out_st.exit81.i.i.i if.else84.i115.i.i.i: ; preds = %do.body.i65.i.i.i br i1 %cmp35.i131.i.i.i, label %if.then87.i116.i.i.i, label %tcg_out_st.exit81.i.i.i if.then87.i116.i.i.i: ; preds = %if.else84.i115.i.i.i - %950 = load ptr, ptr %code_ptr, align 8 - store i32 %927, ptr %950, align 1 - %add.ptr.i55.i118.i.i.i = getelementptr i8, ptr %950, i64 4 + %952 = load ptr, ptr %code_ptr, align 8 + store i32 %929, ptr %952, align 1 + %add.ptr.i55.i118.i.i.i = getelementptr i8, ptr %952, i64 4 store ptr %add.ptr.i55.i118.i.i.i, ptr %code_ptr, align 8 br label %tcg_out_st.exit81.i.i.i @@ -14142,58 +14140,58 @@ tcg_out_st.exit81.i.i.i: ; preds = %if.then87.i116.i.i. tail call void @llvm.assume(i1 %cmp.i82.i.i.i) %idxprom40.i.i.i = zext nneg i32 %bf.clear34.i.i.i to i64 %arrayidx41.i.i.i = getelementptr [6 x i32], ptr @tcg_target_call_iarg_regs, i64 0, i64 %idxprom40.i.i.i - %951 = load i32, ptr %arrayidx41.i.i.i, align 4 - %952 = lshr i32 %bf.load32.i.i.i, 13 - %sub.i83.i.i.i = and i32 %952, 2040 - %953 = add nsw i32 %sub.i83.i.i.i, -48 - %954 = trunc i32 %951 to i8 - %955 = lshr i8 %954, 1 - %956 = and i8 %955, 4 - %conv.i.i.i.i.i = or disjoint i8 %956, 72 - %957 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i37.i.i.i.i51.i = getelementptr i8, ptr %957, i64 1 + %953 = load i32, ptr %arrayidx41.i.i.i, align 4 + %954 = lshr i32 %bf.load32.i.i.i, 13 + %sub.i83.i.i.i = and i32 %954, 2040 + %955 = add nsw i32 %sub.i83.i.i.i, -48 + %956 = trunc i32 %953 to i8 + %957 = lshr i8 %956, 1 + %958 = and i8 %957, 4 + %conv.i.i.i.i.i = or disjoint i8 %958, 72 + %959 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i37.i.i.i.i51.i = getelementptr i8, ptr %959, i64 1 store ptr %incdec.ptr.i37.i.i.i.i51.i, ptr %code_ptr, align 8 - store i8 %conv.i.i.i.i.i, ptr %957, align 1 - %958 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i45.i.i.i.i52.i = getelementptr i8, ptr %958, i64 1 + store i8 %conv.i.i.i.i.i, ptr %959, align 1 + %960 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i45.i.i.i.i52.i = getelementptr i8, ptr %960, i64 1 store ptr %incdec.ptr.i45.i.i.i.i52.i, ptr %code_ptr, align 8 - store i8 -115, ptr %958, align 1 - %cmp25.i160.not.i.i.i = icmp eq i32 %953, 0 - %cmp35.i181.i.i.i = icmp ugt i32 %953, 127 + store i8 -115, ptr %960, align 1 + %cmp25.i160.not.i.i.i = icmp eq i32 %955, 0 + %cmp35.i181.i.i.i = icmp ugt i32 %955, 127 %..i182.i.i.i = select i1 %cmp35.i181.i.i.i, i32 128, i32 64 %mod.0.i162.i.i.i = select i1 %cmp25.i160.not.i.i.i, i32 0, i32 %..i182.i.i.i - %959 = add nsw i32 %sub.i83.i.i.i, -49 - %cmp80.i163.i.i.i = icmp ult i32 %959, 127 - %and67.i173.i.i.i = shl i32 %951, 3 + %961 = add nsw i32 %sub.i83.i.i.i, -49 + %cmp80.i163.i.i.i = icmp ult i32 %961, 127 + %and67.i173.i.i.i = shl i32 %953, 3 %shl68.i174.i.i.i = and i32 %and67.i173.i.i.i, 56 %or69.i175.i.i.i = or disjoint i32 %mod.0.i162.i.i.i, %shl68.i174.i.i.i - %960 = trunc i32 %or69.i175.i.i.i to i8 - %conv71.i176.i.i.i = or disjoint i8 %960, 4 - %961 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i49.i178.i.i.i = getelementptr i8, ptr %961, i64 1 + %962 = trunc i32 %or69.i175.i.i.i to i8 + %conv71.i176.i.i.i = or disjoint i8 %962, 4 + %963 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i49.i178.i.i.i = getelementptr i8, ptr %963, i64 1 store ptr %incdec.ptr.i49.i178.i.i.i, ptr %code_ptr, align 8 - store i8 %conv71.i176.i.i.i, ptr %961, align 1 - %962 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i51.i179.i.i.i = getelementptr i8, ptr %962, i64 1 + store i8 %conv71.i176.i.i.i, ptr %963, align 1 + %964 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i51.i179.i.i.i = getelementptr i8, ptr %964, i64 1 store ptr %incdec.ptr.i51.i179.i.i.i, ptr %code_ptr, align 8 - store i8 36, ptr %962, align 1 + store i8 36, ptr %964, align 1 br i1 %cmp80.i163.i.i.i, label %if.then82.i169.i.i.i, label %if.else84.i165.i.i.i if.then82.i169.i.i.i: ; preds = %tcg_out_st.exit81.i.i.i - %conv83.i170.i.i.i = trunc i32 %953 to i8 - %963 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i53.i172.i.i.i = getelementptr i8, ptr %963, i64 1 + %conv83.i170.i.i.i = trunc i32 %955 to i8 + %965 = load ptr, ptr %code_ptr, align 8 + %incdec.ptr.i53.i172.i.i.i = getelementptr i8, ptr %965, i64 1 store ptr %incdec.ptr.i53.i172.i.i.i, ptr %code_ptr, align 8 - store i8 %conv83.i170.i.i.i, ptr %963, align 1 + store i8 %conv83.i170.i.i.i, ptr %965, align 1 br label %tcg_out_st_helper_args.exit.i.i if.else84.i165.i.i.i: ; preds = %tcg_out_st.exit81.i.i.i br i1 %cmp35.i181.i.i.i, label %if.then87.i166.i.i.i, label %tcg_out_st_helper_args.exit.i.i if.then87.i166.i.i.i: ; preds = %if.else84.i165.i.i.i - %964 = load ptr, ptr %code_ptr, align 8 - store i32 %953, ptr %964, align 1 - %add.ptr.i55.i168.i.i.i = getelementptr i8, ptr %964, i64 4 + %966 = load ptr, ptr %code_ptr, align 8 + store i32 %955, ptr %966, align 1 + %add.ptr.i55.i168.i.i.i = getelementptr i8, ptr %966, i64 4 store ptr %add.ptr.i55.i168.i.i.i, ptr %code_ptr, align 8 br label %tcg_out_st_helper_args.exit.i.i @@ -14208,90 +14206,90 @@ tcg_out_st_helper_args.exit.i.i: ; preds = %if.then87.i166.i.i. %and.i53.i = and i32 %shr.i.i.i551, 7 %idxprom.i54.i = zext nneg i32 %and.i53.i to i64 %arrayidx13.i55.i = getelementptr [8 x ptr], ptr @qemu_st_helpers, i64 0, i64 %idxprom.i54.i - %965 = load ptr, ptr %arrayidx13.i55.i, align 8 + %967 = load ptr, ptr %arrayidx13.i55.i, align 8 %s.val.i.i56.i = load ptr, ptr %code_ptr, align 8 %tobool.not.i.i.i.i57.i = icmp eq ptr %s.val.i.i56.i, null - %966 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i.i.i58.i = getelementptr i8, ptr %s.val.i.i56.i, i64 %966 + %968 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i.i.i58.i = getelementptr i8, ptr %s.val.i.i56.i, i64 %968 %cond.i.i.i.i59.i = select i1 %tobool.not.i.i.i.i57.i, ptr null, ptr %add.ptr.i.i.i.i58.i - %sub.ptr.lhs.cast.i.i.i.i60.i = ptrtoint ptr %965 to i64 + %sub.ptr.lhs.cast.i.i.i.i60.i = ptrtoint ptr %967 to i64 %sub.ptr.rhs.cast.i.i.i.i61.i = ptrtoint ptr %cond.i.i.i.i59.i to i64 %sub.ptr.sub.i.i.i.i62.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i60.i, %sub.ptr.rhs.cast.i.i.i.i61.i - %967 = add i64 %sub.ptr.sub.i.i.i.i62.i, 2147483643 - %cmp.i12.i.i = icmp ult i64 %967, 4294967296 + %969 = add i64 %sub.ptr.sub.i.i.i.i62.i, 2147483643 + %cmp.i12.i.i = icmp ult i64 %969, 4294967296 br i1 %cmp.i12.i.i, label %if.then.i.i82.i, label %if.else.i.i63.i if.then.i.i82.i: ; preds = %tcg_out_st_helper_args.exit.i.i - %968 = trunc i64 %sub.ptr.sub.i.i.i.i62.i to i32 - %conv.i.i83.i = add i32 %968, -5 + %970 = trunc i64 %sub.ptr.sub.i.i.i.i62.i to i32 + %conv.i.i83.i = add i32 %970, -5 %incdec.ptr.i45.i.i.i84.i = getelementptr i8, ptr %s.val.i.i56.i, i64 1 store ptr %incdec.ptr.i45.i.i.i84.i, ptr %code_ptr, align 8 store i8 -24, ptr %s.val.i.i56.i, align 1 - %969 = load ptr, ptr %code_ptr, align 8 - store i32 %conv.i.i83.i, ptr %969, align 1 + %971 = load ptr, ptr %code_ptr, align 8 + store i32 %conv.i.i83.i, ptr %971, align 1 br label %tcg_out_branch.exit.i66.i if.else.i.i63.i: ; preds = %tcg_out_st_helper_args.exit.i.i %incdec.ptr.i45.i13.i.i64.i = getelementptr i8, ptr %s.val.i.i56.i, i64 1 store ptr %incdec.ptr.i45.i13.i.i64.i, ptr %code_ptr, align 8 store i8 -1, ptr %s.val.i.i56.i, align 1 - %970 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i65.i = getelementptr i8, ptr %970, i64 1 - store ptr %incdec.ptr.i.i.i65.i, ptr %code_ptr, align 8 - store i8 21, ptr %970, align 1 - %971 = load ptr, ptr %code_ptr, align 8 - tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i60.i, ptr noundef %971) %972 = load ptr, ptr %code_ptr, align 8 - store i32 0, ptr %972, align 1 + %incdec.ptr.i.i.i65.i = getelementptr i8, ptr %972, i64 1 + store ptr %incdec.ptr.i.i.i65.i, ptr %code_ptr, align 8 + store i8 21, ptr %972, align 1 + %973 = load ptr, ptr %code_ptr, align 8 + tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i60.i, ptr noundef %973) + %974 = load ptr, ptr %code_ptr, align 8 + store i32 0, ptr %974, align 1 br label %tcg_out_branch.exit.i66.i tcg_out_branch.exit.i66.i: ; preds = %if.else.i.i63.i, %if.then.i.i82.i - %.pn.i.i67.i = phi ptr [ %972, %if.else.i.i63.i ], [ %969, %if.then.i.i82.i ] + %.pn.i.i67.i = phi ptr [ %974, %if.else.i.i63.i ], [ %971, %if.then.i.i82.i ] %storemerge.i.i68.i = getelementptr i8, ptr %.pn.i.i67.i, i64 4 store ptr %storemerge.i.i68.i, ptr %code_ptr, align 8 %raddr.i69.i = getelementptr inbounds i8, ptr %lb.097.i, i64 32 - %973 = load ptr, ptr %raddr.i69.i, align 8 + %975 = load ptr, ptr %raddr.i69.i, align 8 %tobool.not.i.i.i.i.i70.i = icmp eq ptr %storemerge.i.i68.i, null - %974 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i.i.i.i71.i = getelementptr i8, ptr %storemerge.i.i68.i, i64 %974 + %976 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i.i.i.i71.i = getelementptr i8, ptr %storemerge.i.i68.i, i64 %976 %cond.i.i.i.i.i72.i = select i1 %tobool.not.i.i.i.i.i70.i, ptr null, ptr %add.ptr.i.i.i.i.i71.i - %sub.ptr.lhs.cast.i.i.i.i.i73.i = ptrtoint ptr %973 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i73.i = ptrtoint ptr %975 to i64 %sub.ptr.rhs.cast.i.i.i.i.i74.i = ptrtoint ptr %cond.i.i.i.i.i72.i to i64 %sub.ptr.sub.i.i.i.i.i75.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i73.i, %sub.ptr.rhs.cast.i.i.i.i.i74.i - %975 = add i64 %sub.ptr.sub.i.i.i.i.i75.i, 2147483643 - %cmp.i.i13.i.i = icmp ult i64 %975, 4294967296 + %977 = add i64 %sub.ptr.sub.i.i.i.i.i75.i, 2147483643 + %cmp.i.i13.i.i = icmp ult i64 %977, 4294967296 br i1 %cmp.i.i13.i.i, label %if.then.i.i14.i.i, label %if.else.i.i.i76.i if.then.i.i14.i.i: ; preds = %tcg_out_branch.exit.i66.i - %976 = trunc i64 %sub.ptr.sub.i.i.i.i.i75.i to i32 - %conv.i.i.i81.i = add i32 %976, -5 + %978 = trunc i64 %sub.ptr.sub.i.i.i.i.i75.i to i32 + %conv.i.i.i81.i = add i32 %978, -5 %incdec.ptr.i45.i.i.i15.i.i = getelementptr i8, ptr %.pn.i.i67.i, i64 5 store ptr %incdec.ptr.i45.i.i.i15.i.i, ptr %code_ptr, align 8 store i8 -23, ptr %storemerge.i.i68.i, align 1 - %977 = load ptr, ptr %code_ptr, align 8 - store i32 %conv.i.i.i81.i, ptr %977, align 1 + %979 = load ptr, ptr %code_ptr, align 8 + store i32 %conv.i.i.i81.i, ptr %979, align 1 br label %if.end.i558 if.else.i.i.i76.i: ; preds = %tcg_out_branch.exit.i66.i %incdec.ptr.i45.i13.i.i.i77.i = getelementptr i8, ptr %.pn.i.i67.i, i64 5 store ptr %incdec.ptr.i45.i13.i.i.i77.i, ptr %code_ptr, align 8 store i8 -1, ptr %storemerge.i.i68.i, align 1 - %978 = load ptr, ptr %code_ptr, align 8 - %incdec.ptr.i.i.i.i78.i = getelementptr i8, ptr %978, i64 1 - store ptr %incdec.ptr.i.i.i.i78.i, ptr %code_ptr, align 8 - store i8 37, ptr %978, align 1 - %979 = load ptr, ptr %code_ptr, align 8 - tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i73.i, ptr noundef %979) %980 = load ptr, ptr %code_ptr, align 8 - store i32 0, ptr %980, align 1 + %incdec.ptr.i.i.i.i78.i = getelementptr i8, ptr %980, i64 1 + store ptr %incdec.ptr.i.i.i.i78.i, ptr %code_ptr, align 8 + store i8 37, ptr %980, align 1 + %981 = load ptr, ptr %code_ptr, align 8 + tail call fastcc void @new_pool_label(ptr noundef nonnull %s, i64 noundef %sub.ptr.lhs.cast.i.i.i.i.i73.i, ptr noundef %981) + %982 = load ptr, ptr %code_ptr, align 8 + store i32 0, ptr %982, align 1 br label %if.end.i558 if.end.i558: ; preds = %if.else.i.i.i76.i, %if.then.i.i14.i.i, %if.else.i.i.i.i, %if.then.i.i.i.i593 - %.pn.i.i.i79.pn.i = phi ptr [ %890, %if.else.i.i.i.i ], [ %887, %if.then.i.i.i.i593 ], [ %980, %if.else.i.i.i76.i ], [ %977, %if.then.i.i14.i.i ] - %981 = getelementptr i8, ptr %.pn.i.i.i79.pn.i, i64 4 - store ptr %981, ptr %code_ptr, align 8 - %982 = load ptr, ptr %code_gen_highwater.i, align 8 - %cmp.i559 = icmp ugt ptr %981, %982 + %.pn.i.i.i79.pn.i = phi ptr [ %892, %if.else.i.i.i.i ], [ %889, %if.then.i.i.i.i593 ], [ %982, %if.else.i.i.i76.i ], [ %979, %if.then.i.i14.i.i ] + %983 = getelementptr i8, ptr %.pn.i.i.i79.pn.i, i64 4 + store ptr %983, ptr %code_ptr, align 8 + %984 = load ptr, ptr %code_gen_highwater.i, align 8 + %cmp.i559 = icmp ugt ptr %983, %984 br i1 %cmp.i559, label %return, label %for.cond.i if.end168: ; preds = %for.cond.i, %do.body149 @@ -14308,7 +14306,7 @@ if.end173: ; preds = %if.end168 for.body.i601: ; preds = %if.end173, %for.inc5.i %l.018.i = phi ptr [ %l.0.i, %for.inc5.i ], [ %l.016.i, %if.end173 ] %u.i602 = getelementptr inbounds i8, ptr %l.018.i, i64 8 - %983 = load i64, ptr %u.i602, align 8 + %985 = load i64, ptr %u.i602, align 8 %relocs.i = getelementptr inbounds i8, ptr %l.018.i, i64 32 %r.013.i = load ptr, ptr %relocs.i, align 8 %tobool3.not14.i = icmp eq ptr %r.013.i, null @@ -14317,49 +14315,49 @@ for.body.i601: ; preds = %if.end173, %for.inc for.body4.i603: ; preds = %for.body.i601, %patch_reloc.exit.i %r.015.i = phi ptr [ %r.0.i, %patch_reloc.exit.i ], [ %r.013.i, %for.body.i601 ] %ptr.i = getelementptr inbounds i8, ptr %r.015.i, i64 8 - %984 = load ptr, ptr %ptr.i, align 8 + %986 = load ptr, ptr %ptr.i, align 8 %type.i = getelementptr inbounds i8, ptr %r.015.i, i64 24 - %985 = load i32, ptr %type.i, align 8 + %987 = load i32, ptr %type.i, align 8 %addend.i = getelementptr inbounds i8, ptr %r.015.i, i64 16 - %986 = load i64, ptr %addend.i, align 8 - %add.i.i604 = add i64 %986, %983 - switch i32 %985, label %do.body.i.i612 [ + %988 = load i64, ptr %addend.i, align 8 + %add.i.i604 = add i64 %988, %985 + switch i32 %987, label %do.body.i.i612 [ i32 2, label %sw.bb.i.i608 i32 1, label %sw.bb3.i.i607 i32 23, label %sw.bb5.i.i ] sw.bb.i.i608: ; preds = %for.body4.i603 - %tobool.not.i.i.i = icmp eq ptr %984, null - %987 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i.i609 = getelementptr i8, ptr %984, i64 %987 + %tobool.not.i.i.i = icmp eq ptr %986, null + %989 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i.i609 = getelementptr i8, ptr %986, i64 %989 %cond.i.i.i = select i1 %tobool.not.i.i.i, ptr null, ptr %add.ptr.i.i.i609 - %988 = ptrtoint ptr %cond.i.i.i to i64 - %sub.i.i610 = sub i64 %add.i.i604, %988 - %989 = add i64 %sub.i.i610, 2147483648 - %cmp.not.i.i611 = icmp ult i64 %989, 4294967296 + %990 = ptrtoint ptr %cond.i.i.i to i64 + %sub.i.i610 = sub i64 %add.i.i604, %990 + %991 = add i64 %sub.i.i610, 2147483648 + %cmp.not.i.i611 = icmp ult i64 %991, 4294967296 br i1 %cmp.not.i.i611, label %sw.bb3.i.i607, label %return sw.bb3.i.i607: ; preds = %sw.bb.i.i608, %for.body4.i603 %value.addr.0.i.i = phi i64 [ %add.i.i604, %for.body4.i603 ], [ %sub.i.i610, %sw.bb.i.i608 ] %conv4.i.i = trunc i64 %value.addr.0.i.i to i32 - store i32 %conv4.i.i, ptr %984, align 1 + store i32 %conv4.i.i, ptr %986, align 1 br label %patch_reloc.exit.i sw.bb5.i.i: ; preds = %for.body4.i603 - %tobool.not.i12.i.i = icmp eq ptr %984, null - %990 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i13.i.i = getelementptr i8, ptr %984, i64 %990 + %tobool.not.i12.i.i = icmp eq ptr %986, null + %992 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i13.i.i = getelementptr i8, ptr %986, i64 %992 %cond.i14.i.i = select i1 %tobool.not.i12.i.i, ptr null, ptr %add.ptr.i13.i.i - %991 = ptrtoint ptr %cond.i14.i.i to i64 - %sub7.i.i = sub i64 %add.i.i604, %991 - %992 = add i64 %sub7.i.i, 128 - %cmp10.not.i.i = icmp ult i64 %992, 256 + %993 = ptrtoint ptr %cond.i14.i.i to i64 + %sub7.i.i = sub i64 %add.i.i604, %993 + %994 = add i64 %sub7.i.i, 128 + %cmp10.not.i.i = icmp ult i64 %994, 256 br i1 %cmp10.not.i.i, label %if.end13.i.i, label %return if.end13.i.i: ; preds = %sw.bb5.i.i %conv8.i.i605 = trunc i64 %sub7.i.i to i8 - store i8 %conv8.i.i605, ptr %984, align 1 + store i8 %conv8.i.i605, ptr %986, align 1 br label %patch_reloc.exit.i do.body.i.i612: ; preds = %for.body4.i603 @@ -14378,10 +14376,10 @@ for.inc5.i: ; preds = %patch_reloc.exit.i, br i1 %tobool.not.i606, label %if.end176, label %for.body.i601, !llvm.loop !63 if.end176: ; preds = %for.inc5.i, %if.end173 - %993 = load ptr, ptr %code_buf, align 8 - %994 = load ptr, ptr %code_ptr, align 8 - %sub.ptr.lhs.cast.i = ptrtoint ptr %994 to i64 - %sub.ptr.rhs.cast.i616 = ptrtoint ptr %993 to i64 + %995 = load ptr, ptr %code_buf, align 8 + %996 = load ptr, ptr %code_ptr, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %996 to i64 + %sub.ptr.rhs.cast.i616 = ptrtoint ptr %995 to i64 %sub.ptr.sub.i.i620 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i616 %conv184 = trunc i64 %sub.ptr.sub.i.i620 to i32 br label %return @@ -18232,41 +18230,40 @@ land.lhs.true26: ; preds = %if.end17 %and23.i.i44 = lshr i32 %r0, 3 %shr24.i.i45 = and i32 %and23.i.i44, 1 %or22.i.i46 = or disjoint i32 %shr24.i.i45, %shr.i.i43 - %cmp30.i.i = icmp sgt i32 %r0, 3 - %cond31.i.i = select i1 %cmp30.i.i, i32 16384, i32 0 - %or33.i.i = or disjoint i32 %or22.i.i46, %cond31.i.i - %tobool34.not.i.i47 = icmp eq i32 %or33.i.i, 0 + %cmp30.i.i = icmp slt i32 %r0, 4 + %8 = icmp eq i32 %or22.i.i46, 0 + %tobool34.not.i.i47 = and i1 %cmp30.i.i, %8 br i1 %tobool34.not.i.i47, label %tcg_out_ext8u.exit, label %if.then35.i.i48 if.then35.i.i48: ; preds = %land.lhs.true26 - %8 = trunc i32 %or22.i.i46 to i8 - %conv.i2.i = or disjoint i8 %8, 64 + %9 = trunc i32 %or22.i.i46 to i8 + %conv.i2.i = or disjoint i8 %9, 64 %code_ptr.i36.i.i49 = getelementptr inbounds i8, ptr %s, i64 128 - %9 = load ptr, ptr %code_ptr.i36.i.i49, align 8 - %incdec.ptr.i37.i.i50 = getelementptr i8, ptr %9, i64 1 + %10 = load ptr, ptr %code_ptr.i36.i.i49, align 8 + %incdec.ptr.i37.i.i50 = getelementptr i8, ptr %10, i64 1 store ptr %incdec.ptr.i37.i.i50, ptr %code_ptr.i36.i.i49, align 8 - store i8 %conv.i2.i, ptr %9, align 1 + store i8 %conv.i2.i, ptr %10, align 1 br label %tcg_out_ext8u.exit tcg_out_ext8u.exit: ; preds = %land.lhs.true26, %if.then35.i.i48 %code_ptr.i38.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %10 = load ptr, ptr %code_ptr.i38.i.i, align 8 - %incdec.ptr.i39.i.i = getelementptr i8, ptr %10, i64 1 - store ptr %incdec.ptr.i39.i.i, ptr %code_ptr.i38.i.i, align 8 - store i8 15, ptr %10, align 1 %11 = load ptr, ptr %code_ptr.i38.i.i, align 8 - %incdec.ptr.i45.i.i51 = getelementptr i8, ptr %11, i64 1 + %incdec.ptr.i39.i.i = getelementptr i8, ptr %11, i64 1 + store ptr %incdec.ptr.i39.i.i, ptr %code_ptr.i38.i.i, align 8 + store i8 15, ptr %11, align 1 + %12 = load ptr, ptr %code_ptr.i38.i.i, align 8 + %incdec.ptr.i45.i.i51 = getelementptr i8, ptr %12, i64 1 store ptr %incdec.ptr.i45.i.i51, ptr %code_ptr.i38.i.i, align 8 - store i8 -74, ptr %11, align 1 + store i8 -74, ptr %12, align 1 %and.i.i52 = shl i32 %r0, 3 %and1.i.i53 = and i32 %r0, 7 %or.i.i54 = or disjoint i32 %and1.i.i53, %and.i.i52 - %12 = trunc i32 %or.i.i54 to i8 - %conv.i.i55 = or i8 %12, -64 - %13 = load ptr, ptr %code_ptr.i38.i.i, align 8 - %incdec.ptr.i.i.i56 = getelementptr i8, ptr %13, i64 1 + %13 = trunc i32 %or.i.i54 to i8 + %conv.i.i55 = or i8 %13, -64 + %14 = load ptr, ptr %code_ptr.i38.i.i, align 8 + %incdec.ptr.i.i.i56 = getelementptr i8, ptr %14, i64 1 store ptr %incdec.ptr.i.i.i56, ptr %code_ptr.i38.i.i, align 8 - store i8 %conv.i.i55, ptr %13, align 1 + store i8 %conv.i.i55, ptr %14, align 1 br label %do.end if.then34: ; preds = %if.end17 @@ -18279,40 +18276,40 @@ if.then34: ; preds = %if.end17 br i1 %tobool34.not.i.i62, label %tcg_out_ext16u.exit, label %if.then35.i.i63 if.then35.i.i63: ; preds = %if.then34 - %14 = trunc i32 %or22.i.i61 to i8 - %conv.i1.i64 = or disjoint i8 %14, 64 + %15 = trunc i32 %or22.i.i61 to i8 + %conv.i1.i64 = or disjoint i8 %15, 64 %code_ptr.i36.i.i65 = getelementptr inbounds i8, ptr %s, i64 128 - %15 = load ptr, ptr %code_ptr.i36.i.i65, align 8 - %incdec.ptr.i37.i.i66 = getelementptr i8, ptr %15, i64 1 + %16 = load ptr, ptr %code_ptr.i36.i.i65, align 8 + %incdec.ptr.i37.i.i66 = getelementptr i8, ptr %16, i64 1 store ptr %incdec.ptr.i37.i.i66, ptr %code_ptr.i36.i.i65, align 8 - store i8 %conv.i1.i64, ptr %15, align 1 + store i8 %conv.i1.i64, ptr %16, align 1 br label %tcg_out_ext16u.exit tcg_out_ext16u.exit: ; preds = %if.then34, %if.then35.i.i63 %code_ptr.i38.i.i67 = getelementptr inbounds i8, ptr %s, i64 128 - %16 = load ptr, ptr %code_ptr.i38.i.i67, align 8 - %incdec.ptr.i39.i.i68 = getelementptr i8, ptr %16, i64 1 - store ptr %incdec.ptr.i39.i.i68, ptr %code_ptr.i38.i.i67, align 8 - store i8 15, ptr %16, align 1 %17 = load ptr, ptr %code_ptr.i38.i.i67, align 8 - %incdec.ptr.i45.i.i69 = getelementptr i8, ptr %17, i64 1 + %incdec.ptr.i39.i.i68 = getelementptr i8, ptr %17, i64 1 + store ptr %incdec.ptr.i39.i.i68, ptr %code_ptr.i38.i.i67, align 8 + store i8 15, ptr %17, align 1 + %18 = load ptr, ptr %code_ptr.i38.i.i67, align 8 + %incdec.ptr.i45.i.i69 = getelementptr i8, ptr %18, i64 1 store ptr %incdec.ptr.i45.i.i69, ptr %code_ptr.i38.i.i67, align 8 - store i8 -73, ptr %17, align 1 + store i8 -73, ptr %18, align 1 %and.i.i70 = shl i32 %r0, 3 %and1.i.i71 = and i32 %r0, 7 %or.i.i72 = or disjoint i32 %and1.i.i71, %and.i.i70 - %18 = trunc i32 %or.i.i72 to i8 - %conv.i.i73 = or i8 %18, -64 - %19 = load ptr, ptr %code_ptr.i38.i.i67, align 8 - %incdec.ptr.i.i.i74 = getelementptr i8, ptr %19, i64 1 + %19 = trunc i32 %or.i.i72 to i8 + %conv.i.i73 = or i8 %19, -64 + %20 = load ptr, ptr %code_ptr.i38.i.i67, align 8 + %incdec.ptr.i.i.i74 = getelementptr i8, ptr %20, i64 1 store ptr %incdec.ptr.i.i.i74, ptr %code_ptr.i38.i.i67, align 8 - store i8 %conv.i.i73, ptr %19, align 1 + store i8 %conv.i.i73, ptr %20, align 1 br label %do.end if.end36: ; preds = %if.end17, %land.lhs.true, %if.end %rexw.1 = phi i32 [ %and, %if.end ], [ %and, %land.lhs.true ], [ %spec.select, %if.end17 ] - %20 = add i64 %val, 128 - %cmp39 = icmp ult i64 %20, 256 + %21 = add i64 %val, 128 + %cmp39 = icmp ult i64 %21, 256 br i1 %cmp39, label %if.then41, label %if.end44 if.then41: ; preds = %if.end36 @@ -18322,23 +18319,23 @@ if.then41: ; preds = %if.end36 %and.i75 = shl nuw nsw i32 %and1, 3 %and1.i76 = and i32 %r0, 7 %or.i77 = or disjoint i32 %and1.i76, %and.i75 - %21 = trunc i32 %or.i77 to i8 - %conv.i78 = or disjoint i8 %21, -64 + %22 = trunc i32 %or.i77 to i8 + %conv.i78 = or disjoint i8 %22, -64 %code_ptr.i.i79 = getelementptr inbounds i8, ptr %s, i64 128 - %22 = load ptr, ptr %code_ptr.i.i79, align 8 - %incdec.ptr.i.i80 = getelementptr i8, ptr %22, i64 1 - store ptr %incdec.ptr.i.i80, ptr %code_ptr.i.i79, align 8 - store i8 %conv.i78, ptr %22, align 1 %23 = load ptr, ptr %code_ptr.i.i79, align 8 - %incdec.ptr.i = getelementptr i8, ptr %23, i64 1 + %incdec.ptr.i.i80 = getelementptr i8, ptr %23, i64 1 + store ptr %incdec.ptr.i.i80, ptr %code_ptr.i.i79, align 8 + store i8 %conv.i78, ptr %23, align 1 + %24 = load ptr, ptr %code_ptr.i.i79, align 8 + %incdec.ptr.i = getelementptr i8, ptr %24, i64 1 store ptr %incdec.ptr.i, ptr %code_ptr.i.i79, align 8 - store i8 %conv37, ptr %23, align 1 + store i8 %conv37, ptr %24, align 1 br label %do.end if.end44: ; preds = %if.end36 %cmp45 = icmp eq i32 %rexw.1, 0 - %24 = add i64 %val, 2147483648 - %cmp50 = icmp ult i64 %24, 4294967296 + %25 = add i64 %val, 2147483648 + %cmp50 = icmp ult i64 %25, 4294967296 %or.cond = or i1 %cmp50, %cmp45 br i1 %or.cond, label %if.then52, label %do.body @@ -18348,17 +18345,17 @@ if.then52: ; preds = %if.end44 %and.i81 = shl nuw nsw i32 %and1, 3 %and1.i82 = and i32 %r0, 7 %or.i83 = or disjoint i32 %and1.i82, %and.i81 - %25 = trunc i32 %or.i83 to i8 - %conv.i84 = or disjoint i8 %25, -64 + %26 = trunc i32 %or.i83 to i8 + %conv.i84 = or disjoint i8 %26, -64 %code_ptr.i.i85 = getelementptr inbounds i8, ptr %s, i64 128 - %26 = load ptr, ptr %code_ptr.i.i85, align 8 - %incdec.ptr.i.i86 = getelementptr i8, ptr %26, i64 1 + %27 = load ptr, ptr %code_ptr.i.i85, align 8 + %incdec.ptr.i.i86 = getelementptr i8, ptr %27, i64 1 store ptr %incdec.ptr.i.i86, ptr %code_ptr.i.i85, align 8 - store i8 %conv.i84, ptr %26, align 1 + store i8 %conv.i84, ptr %27, align 1 %conv54 = trunc i64 %val to i32 - %27 = load ptr, ptr %code_ptr.i.i85, align 8 - store i32 %conv54, ptr %27, align 1 - %add.ptr.i = getelementptr i8, ptr %27, i64 4 + %28 = load ptr, ptr %code_ptr.i.i85, align 8 + store i32 %conv54, ptr %28, align 1 + %add.ptr.i = getelementptr i8, ptr %28, i64 4 store ptr %add.ptr.i, ptr %code_ptr.i.i85, align 8 br label %do.end @@ -21760,75 +21757,75 @@ tcg_out_cmp.exit127: ; preds = %if.then1.i105, %if. %conv68 = trunc i64 %dest to i32 %and23.i283 = lshr i32 %conv68, 3 %shr24.i284 = and i32 %and23.i283, 1 - %cmp30.i286 = icmp sgt i32 %conv68, 3 - %cond31.i287 = select i1 %cmp30.i286, i32 16384, i32 0 - %or33.i288 = or disjoint i32 %shr24.i284, %cond31.i287 - %tobool34.not.i289 = icmp eq i32 %or33.i288, 0 + %cmp30.i286 = icmp slt i32 %conv68, 4 + %57 = icmp eq i32 %shr24.i284, 0 + %cond31.i287 = select i1 %cmp30.i286, i32 0, i32 16384 + %tobool34.not.i289 = and i1 %cmp30.i286, %57 br i1 %tobool34.not.i289, label %if.end37.i294, label %if.then35.i290 if.then35.i290: ; preds = %tcg_out_cmp.exit127 - %57 = trunc i32 %shr24.i284 to i8 - %conv.i291 = or disjoint i8 %57, 64 + %58 = trunc i32 %shr24.i284 to i8 + %conv.i291 = or disjoint i8 %58, 64 %code_ptr.i36.i292 = getelementptr inbounds i8, ptr %s, i64 128 - %58 = load ptr, ptr %code_ptr.i36.i292, align 8 - %incdec.ptr.i37.i293 = getelementptr i8, ptr %58, i64 1 + %59 = load ptr, ptr %code_ptr.i36.i292, align 8 + %incdec.ptr.i37.i293 = getelementptr i8, ptr %59, i64 1 store ptr %incdec.ptr.i37.i293, ptr %code_ptr.i36.i292, align 8 - store i8 %conv.i291, ptr %58, align 1 + store i8 %conv.i291, ptr %59, align 1 br label %if.end37.i294 if.end37.i294: ; preds = %if.then35.i290, %tcg_out_cmp.exit127 %code_ptr.i38.i297 = getelementptr inbounds i8, ptr %s, i64 128 - %59 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i39.i298 = getelementptr i8, ptr %59, i64 1 - store ptr %incdec.ptr.i39.i298, ptr %code_ptr.i38.i297, align 8 - store i8 15, ptr %59, align 1 %60 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i45.i305 = getelementptr i8, ptr %60, i64 1 + %incdec.ptr.i39.i298 = getelementptr i8, ptr %60, i64 1 + store ptr %incdec.ptr.i39.i298, ptr %code_ptr.i38.i297, align 8 + store i8 15, ptr %60, align 1 + %61 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i45.i305 = getelementptr i8, ptr %61, i64 1 store ptr %incdec.ptr.i45.i305, ptr %code_ptr.i38.i297, align 8 - store i8 %or, ptr %60, align 1 + store i8 %or, ptr %61, align 1 %and1.i128 = and i32 %conv68, 7 - %61 = trunc i32 %and1.i128 to i8 - %conv.i129 = or disjoint i8 %61, -64 - %62 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i.i131 = getelementptr i8, ptr %62, i64 1 + %62 = trunc i32 %and1.i128 to i8 + %conv.i129 = or disjoint i8 %62, -64 + %63 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i.i131 = getelementptr i8, ptr %63, i64 1 store ptr %incdec.ptr.i.i131, ptr %code_ptr.i38.i297, align 8 - store i8 %conv.i129, ptr %62, align 1 + store i8 %conv.i129, ptr %63, align 1 br i1 %cleared.0404, label %if.end73, label %if.then70 if.then70: ; preds = %if.end37.i294 %and18.i.i = lshr i32 %conv68, 1 %shr.i.i = and i32 %and18.i.i, 4 %or22.i.i = or disjoint i32 %shr24.i284, %shr.i.i - %or33.i.i = or disjoint i32 %or22.i.i, %cond31.i287 - %tobool34.not.i.i = icmp eq i32 %or33.i.i, 0 + %64 = icmp eq i32 %or22.i.i, 0 + %tobool34.not.i.i = and i1 %cmp30.i286, %64 br i1 %tobool34.not.i.i, label %tcg_out_ext8u.exit, label %if.then35.i.i if.then35.i.i: ; preds = %if.then70 - %63 = trunc i32 %or22.i.i to i8 - %conv.i2.i = or disjoint i8 %63, 64 - %64 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i37.i.i = getelementptr i8, ptr %64, i64 1 + %65 = trunc i32 %or22.i.i to i8 + %conv.i2.i = or disjoint i8 %65, 64 + %66 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i37.i.i = getelementptr i8, ptr %66, i64 1 store ptr %incdec.ptr.i37.i.i, ptr %code_ptr.i38.i297, align 8 - store i8 %conv.i2.i, ptr %64, align 1 + store i8 %conv.i2.i, ptr %66, align 1 br label %tcg_out_ext8u.exit tcg_out_ext8u.exit: ; preds = %if.then70, %if.then35.i.i - %65 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i39.i.i = getelementptr i8, ptr %65, i64 1 + %67 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i39.i.i = getelementptr i8, ptr %67, i64 1 store ptr %incdec.ptr.i39.i.i, ptr %code_ptr.i38.i297, align 8 - store i8 15, ptr %65, align 1 - %66 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i45.i.i = getelementptr i8, ptr %66, i64 1 + store i8 15, ptr %67, align 1 + %68 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i45.i.i = getelementptr i8, ptr %68, i64 1 store ptr %incdec.ptr.i45.i.i, ptr %code_ptr.i38.i297, align 8 - store i8 -74, ptr %66, align 1 + store i8 -74, ptr %68, align 1 %and.i.i132 = shl i32 %conv68, 3 %or.i.i134 = or disjoint i32 %and1.i128, %and.i.i132 - %67 = trunc i32 %or.i.i134 to i8 - %conv.i.i135 = or i8 %67, -64 - %68 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i.i.i136 = getelementptr i8, ptr %68, i64 1 + %69 = trunc i32 %or.i.i134 to i8 + %conv.i.i135 = or i8 %69, -64 + %70 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i.i.i136 = getelementptr i8, ptr %70, i64 1 store ptr %incdec.ptr.i.i.i136, ptr %code_ptr.i38.i297, align 8 - store i8 %conv.i.i135, ptr %68, align 1 + store i8 %conv.i.i135, ptr %70, align 1 br label %if.end73 if.end73: ; preds = %tcg_out_ext8u.exit, %if.end37.i294 @@ -21841,10 +21838,10 @@ if.then75: ; preds = %if.end73 br i1 %tobool.not.i319, label %if.end.i323, label %if.then.i320 if.then.i320: ; preds = %if.then75 - %69 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i.i322 = getelementptr i8, ptr %69, i64 1 + %71 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i.i322 = getelementptr i8, ptr %71, i64 1 store ptr %incdec.ptr.i.i322, ptr %code_ptr.i38.i297, align 8 - store i8 101, ptr %69, align 1 + store i8 101, ptr %71, align 1 br label %if.end.i323 if.end.i323: ; preds = %if.then.i320, %if.then75 @@ -21856,10 +21853,10 @@ do.body.i326: ; preds = %if.end.i323 %and4.i327 = and i32 %add76, 4096 %cmp.i328 = icmp eq i32 %and4.i327, 0 tail call void @llvm.assume(i1 %cmp.i328) - %70 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i31.i330 = getelementptr i8, ptr %70, i64 1 + %72 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i31.i330 = getelementptr i8, ptr %72, i64 1 store ptr %incdec.ptr.i31.i330, ptr %code_ptr.i38.i297, align 8 - store i8 102, ptr %70, align 1 + store i8 102, ptr %72, align 1 br label %if.end7.i331 if.end7.i331: ; preds = %do.body.i326, %if.end.i323 @@ -21868,10 +21865,10 @@ if.end7.i331: ; preds = %do.body.i326, %if.e br i1 %tobool9.not.i333, label %if.else.i369, label %if.then10.i334 if.then10.i334: ; preds = %if.end7.i331 - %71 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i33.i336 = getelementptr i8, ptr %71, i64 1 + %73 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i33.i336 = getelementptr i8, ptr %73, i64 1 store ptr %incdec.ptr.i33.i336, ptr %code_ptr.i38.i297, align 8 - store i8 -13, ptr %71, align 1 + store i8 -13, ptr %73, align 1 br label %if.end15.i337 if.else.i369: ; preds = %if.end7.i331 @@ -21880,28 +21877,28 @@ if.else.i369: ; preds = %if.end7.i331 br i1 %tobool12.not.i371, label %if.end15.i337, label %if.then13.i372 if.then13.i372: ; preds = %if.else.i369 - %72 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i35.i374 = getelementptr i8, ptr %72, i64 1 + %74 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i35.i374 = getelementptr i8, ptr %74, i64 1 store ptr %incdec.ptr.i35.i374, ptr %code_ptr.i38.i297, align 8 - store i8 -14, ptr %72, align 1 + store i8 -14, ptr %74, align 1 br label %if.end15.i337 if.end15.i337: ; preds = %if.then13.i372, %if.else.i369, %if.then10.i334 %and16.i338 = lshr i32 %add76, 9 %cond.i339 = and i32 %and16.i338, 8 %or22.i342 = or disjoint i32 %shr24.i284, %cond.i339 - %73 = and i32 %cond31.i287, %add76 - %or33.i345 = or disjoint i32 %or22.i342, %73 + %75 = and i32 %cond31.i287, %add76 + %or33.i345 = or disjoint i32 %or22.i342, %75 %tobool34.not.i346 = icmp eq i32 %or33.i345, 0 br i1 %tobool34.not.i346, label %if.end37.i351, label %if.then35.i347 if.then35.i347: ; preds = %if.end15.i337 - %74 = trunc i32 %or22.i342 to i8 - %conv.i348 = or disjoint i8 %74, 64 - %75 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i37.i350 = getelementptr i8, ptr %75, i64 1 + %76 = trunc i32 %or22.i342 to i8 + %conv.i348 = or disjoint i8 %76, 64 + %77 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i37.i350 = getelementptr i8, ptr %77, i64 1 store ptr %incdec.ptr.i37.i350, ptr %code_ptr.i38.i297, align 8 - store i8 %conv.i348, ptr %75, align 1 + store i8 %conv.i348, ptr %77, align 1 br label %if.end37.i351 if.end37.i351: ; preds = %if.then35.i347, %if.end15.i337 @@ -21910,19 +21907,19 @@ if.end37.i351: ; preds = %if.then35.i347, %if br i1 %tobool39.not.i353, label %tcg_out_opc.exit375, label %if.then40.i354 if.then40.i354: ; preds = %if.end37.i351 - %76 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i39.i356 = getelementptr i8, ptr %76, i64 1 + %78 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i39.i356 = getelementptr i8, ptr %78, i64 1 store ptr %incdec.ptr.i39.i356, ptr %code_ptr.i38.i297, align 8 - store i8 15, ptr %76, align 1 + store i8 15, ptr %78, align 1 %and41.i357 = and i32 %add76, 512 %tobool42.not.i358 = icmp eq i32 %and41.i357, 0 br i1 %tobool42.not.i358, label %if.else44.i364, label %if.then43.i359 if.then43.i359: ; preds = %if.then40.i354 - %77 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i41.i360 = getelementptr i8, ptr %77, i64 1 + %79 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i41.i360 = getelementptr i8, ptr %79, i64 1 store ptr %incdec.ptr.i41.i360, ptr %code_ptr.i38.i297, align 8 - store i8 56, ptr %77, align 1 + store i8 56, ptr %79, align 1 br label %tcg_out_opc.exit375 if.else44.i364: ; preds = %if.then40.i354 @@ -21931,23 +21928,23 @@ if.else44.i364: ; preds = %if.then40.i354 br i1 %tobool46.not.i366, label %tcg_out_opc.exit375, label %if.then47.i367 if.then47.i367: ; preds = %if.else44.i364 - %78 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i43.i368 = getelementptr i8, ptr %78, i64 1 + %80 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i43.i368 = getelementptr i8, ptr %80, i64 1 store ptr %incdec.ptr.i43.i368, ptr %code_ptr.i38.i297, align 8 - store i8 58, ptr %78, align 1 + store i8 58, ptr %80, align 1 br label %tcg_out_opc.exit375 tcg_out_opc.exit375: ; preds = %if.end37.i351, %if.then43.i359, %if.else44.i364, %if.then47.i367 %conv51.i361 = trunc i32 %add76 to i8 - %79 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i45.i363 = getelementptr i8, ptr %79, i64 1 + %81 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i45.i363 = getelementptr i8, ptr %81, i64 1 store ptr %incdec.ptr.i45.i363, ptr %code_ptr.i38.i297, align 8 - store i8 %conv51.i361, ptr %79, align 1 - %conv.i139 = or disjoint i8 %61, -40 - %80 = load ptr, ptr %code_ptr.i38.i297, align 8 - %incdec.ptr.i.i141 = getelementptr i8, ptr %80, i64 1 + store i8 %conv51.i361, ptr %81, align 1 + %conv.i139 = or disjoint i8 %62, -40 + %82 = load ptr, ptr %code_ptr.i38.i297, align 8 + %incdec.ptr.i.i141 = getelementptr i8, ptr %82, i64 1 store ptr %incdec.ptr.i.i141, ptr %code_ptr.i38.i297, align 8 - store i8 %conv.i139, ptr %80, align 1 + store i8 %conv.i139, ptr %82, align 1 br label %if.end78 if.end78: ; preds = %tcg_out_opc.exit, %if.else26, %tcg_out_opc.exit184, %tcg_out_opc.exit167, %tcg_out_opc.exit375, %if.end73, %if.end48 @@ -23021,37 +23018,36 @@ gen_new_label.exit84.i: ; preds = %if.else.i.i50.i, %i store ptr %next.i60.i, ptr %sqh_last12.i61.i, align 8 %and23.i.i.i = lshr i32 %h10.sroa.0.0.copyload, 3 %shr24.i.i.i = and i32 %and23.i.i.i, 1 - %cmp30.i.i.i = icmp sgt i32 %h10.sroa.0.0.copyload, 3 - %cond31.i.i.i = select i1 %cmp30.i.i.i, i32 16384, i32 0 - %or33.i.i.i = or disjoint i32 %shr24.i.i.i, %cond31.i.i.i - %tobool34.not.i.i.i = icmp eq i32 %or33.i.i.i, 0 + %cmp30.i.i.i = icmp slt i32 %h10.sroa.0.0.copyload, 4 + %40 = icmp eq i32 %shr24.i.i.i, 0 + %tobool34.not.i.i.i = and i1 %cmp30.i.i.i, %40 br i1 %tobool34.not.i.i.i, label %tcg_out_testi.exit.i, label %if.then35.i.i.i if.then35.i.i.i: ; preds = %gen_new_label.exit84.i - %40 = trunc i32 %shr24.i.i.i to i8 - %conv.i12.i.i = or disjoint i8 %40, 64 - %41 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %incdec.ptr.i37.i.i85.i = getelementptr i8, ptr %41, i64 1 + %41 = trunc i32 %shr24.i.i.i to i8 + %conv.i12.i.i = or disjoint i8 %41, 64 + %42 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 + %incdec.ptr.i37.i.i85.i = getelementptr i8, ptr %42, i64 1 store ptr %incdec.ptr.i37.i.i85.i, ptr %code_ptr.i30.i.i.i, align 8 - store i8 %conv.i12.i.i, ptr %41, align 1 + store i8 %conv.i12.i.i, ptr %42, align 1 br label %tcg_out_testi.exit.i tcg_out_testi.exit.i: ; preds = %if.then35.i.i.i, %gen_new_label.exit84.i - %42 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %42, i64 1 + %43 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 + %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %43, i64 1 store ptr %incdec.ptr.i45.i.i.i, ptr %code_ptr.i30.i.i.i, align 8 - store i8 -10, ptr %42, align 1 - %43 = trunc i32 %h10.sroa.0.0.copyload to i8 - %44 = and i8 %43, 7 - %conv.i.i86.i = or disjoint i8 %44, -64 - %45 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %incdec.ptr.i.i.i87.i = getelementptr i8, ptr %45, i64 1 - store ptr %incdec.ptr.i.i.i87.i, ptr %code_ptr.i30.i.i.i, align 8 - store i8 %conv.i.i86.i, ptr %45, align 1 + store i8 -10, ptr %43, align 1 + %44 = trunc i32 %h10.sroa.0.0.copyload to i8 + %45 = and i8 %44, 7 + %conv.i.i86.i = or disjoint i8 %45, -64 %46 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %incdec.ptr.i.i88.i = getelementptr i8, ptr %46, i64 1 + %incdec.ptr.i.i.i87.i = getelementptr i8, ptr %46, i64 1 + store ptr %incdec.ptr.i.i.i87.i, ptr %code_ptr.i30.i.i.i, align 8 + store i8 %conv.i.i86.i, ptr %46, align 1 + %47 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 + %incdec.ptr.i.i88.i = getelementptr i8, ptr %47, i64 1 store ptr %incdec.ptr.i.i88.i, ptr %code_ptr.i30.i.i.i, align 8 - store i8 15, ptr %46, align 1 + store i8 15, ptr %47, align 1 tail call fastcc void @tcg_out_jxx(ptr noundef nonnull %s, i32 noundef 5, ptr noundef nonnull %retval.0.i.i.i, i1 noundef zeroext true) %add78.i = add i32 %h10.sroa.30.0.copyload, 1407 %conv82.i = sext i32 %h10.sroa.21.0.copyload to i64 @@ -23061,15 +23057,15 @@ tcg_out_testi.exit.i: ; preds = %if.then35.i.i.i, %g tail call fastcc void @tcg_out_sib_offset(ptr noundef nonnull %s, i32 noundef 21, i32 noundef %h10.sroa.0.0.copyload, i32 noundef %h10.sroa.12.0.copyload, i32 noundef 0, i64 noundef %conv82.i) tail call fastcc void @tcg_out_jxx(ptr noundef nonnull %s, i32 noundef -1, ptr noundef nonnull %retval.0.i.i51.i, i1 noundef zeroext true) %has_value.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i, i64 1 - %47 = load i8, ptr %has_value.i.i, align 1 - %tobool.i.i = trunc i8 %47 to i1 - %48 = xor i1 %tobool.i.i, true - tail call void @llvm.assume(i1 %48) + %48 = load i8, ptr %has_value.i.i, align 1 + %tobool.i.i = trunc i8 %48 to i1 + %49 = xor i1 %tobool.i.i, true + tail call void @llvm.assume(i1 %49) store i8 1, ptr %has_value.i.i, align 1 - %49 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %tobool.not.i.i.i = icmp eq ptr %49, null - %50 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i91.i = getelementptr i8, ptr %49, i64 %50 + %50 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 + %tobool.not.i.i.i = icmp eq ptr %50, null + %51 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i91.i = getelementptr i8, ptr %50, i64 %51 %cond.i.i.i = select i1 %tobool.not.i.i.i, ptr null, ptr %add.ptr.i.i91.i %u.i.i = getelementptr inbounds i8, ptr %retval.0.i.i.i, i64 8 store ptr %cond.i.i.i, ptr %u.i.i, align 8 @@ -23077,15 +23073,15 @@ tcg_out_testi.exit.i: ; preds = %if.then35.i.i.i, %g tail call fastcc void @tcg_out_vex_opc(ptr noundef nonnull %s, i32 noundef %add84.i, i32 noundef 21, i32 noundef 0, i32 noundef %cond.i89.i, i32 noundef %cond5.i90.i) tail call fastcc void @tcg_out_sib_offset(ptr noundef nonnull %s, i32 noundef 21, i32 noundef %h10.sroa.0.0.copyload, i32 noundef %h10.sroa.12.0.copyload, i32 noundef 0, i64 noundef %conv82.i) %has_value.i94.i = getelementptr inbounds i8, ptr %retval.0.i.i51.i, i64 1 - %51 = load i8, ptr %has_value.i94.i, align 1 - %tobool.i95.i = trunc i8 %51 to i1 - %52 = xor i1 %tobool.i95.i, true - tail call void @llvm.assume(i1 %52) + %52 = load i8, ptr %has_value.i94.i, align 1 + %tobool.i95.i = trunc i8 %52 to i1 + %53 = xor i1 %tobool.i95.i, true + tail call void @llvm.assume(i1 %53) store i8 1, ptr %has_value.i94.i, align 1 - %53 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 - %tobool.not.i.i97.i = icmp eq ptr %53, null - %54 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i.i98.i = getelementptr i8, ptr %53, i64 %54 + %54 = load ptr, ptr %code_ptr.i30.i.i.i, align 8 + %tobool.not.i.i97.i = icmp eq ptr %54, null + %55 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i.i98.i = getelementptr i8, ptr %54, i64 %55 %cond.i.i99.i = select i1 %tobool.not.i.i97.i, ptr null, ptr %add.ptr.i.i98.i %u.i100.i = getelementptr inbounds i8, ptr %retval.0.i.i51.i, i64 8 store ptr %cond.i.i99.i, ptr %u.i100.i, align 8 @@ -23107,10 +23103,10 @@ if.then: ; preds = %tcg_out_qemu_st_dir %datahi_reg = getelementptr inbounds i8, ptr %call, i64 24 store i32 %datahi, ptr %datahi_reg, align 8 %code_ptr = getelementptr inbounds i8, ptr %s, i64 128 - %55 = load ptr, ptr %code_ptr, align 8 - %tobool.not.i = icmp eq ptr %55, null - %56 = load i64, ptr @tcg_splitwx_diff, align 8 - %add.ptr.i = getelementptr i8, ptr %55, i64 %56 + %56 = load ptr, ptr %code_ptr, align 8 + %tobool.not.i = icmp eq ptr %56, null + %57 = load i64, ptr @tcg_splitwx_diff, align 8 + %add.ptr.i = getelementptr i8, ptr %56, i64 %57 %cond.i = select i1 %tobool.not.i, ptr null, ptr %add.ptr.i %raddr = getelementptr inbounds i8, ptr %call, i64 32 store ptr %cond.i, ptr %raddr, align 8 @@ -23771,53 +23767,52 @@ if.then.i122: ; preds = %if.else.i.i91, %if. store i32 -1, ptr %addrhi_reg58, align 8 %and23.i.i = lshr i32 %addrlo, 3 %shr24.i.i = and i32 %and23.i.i, 1 - %cmp30.i.i = icmp sgt i32 %addrlo, 3 - %cond31.i.i = select i1 %cmp30.i.i, i32 16384, i32 0 - %or33.i.i = or disjoint i32 %shr24.i.i, %cond31.i.i - %tobool34.not.i.i = icmp eq i32 %or33.i.i, 0 + %cmp30.i.i = icmp slt i32 %addrlo, 4 + %81 = icmp eq i32 %shr24.i.i, 0 + %tobool34.not.i.i = and i1 %cmp30.i.i, %81 br i1 %tobool34.not.i.i, label %tcg_out_testi.exit, label %if.then35.i.i if.then35.i.i: ; preds = %if.then.i122 - %81 = trunc i32 %shr24.i.i to i8 - %conv.i12.i = or disjoint i8 %81, 64 + %82 = trunc i32 %shr24.i.i to i8 + %conv.i12.i = or disjoint i8 %82, 64 %code_ptr.i36.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %82 = load ptr, ptr %code_ptr.i36.i.i, align 8 - %incdec.ptr.i37.i.i = getelementptr i8, ptr %82, i64 1 + %83 = load ptr, ptr %code_ptr.i36.i.i, align 8 + %incdec.ptr.i37.i.i = getelementptr i8, ptr %83, i64 1 store ptr %incdec.ptr.i37.i.i, ptr %code_ptr.i36.i.i, align 8 - store i8 %conv.i12.i, ptr %82, align 1 + store i8 %conv.i12.i, ptr %83, align 1 br label %tcg_out_testi.exit tcg_out_testi.exit: ; preds = %if.then.i122, %if.then35.i.i %code_ptr.i44.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %83 = load ptr, ptr %code_ptr.i44.i.i, align 8 - %incdec.ptr.i45.i.i = getelementptr i8, ptr %83, i64 1 + %84 = load ptr, ptr %code_ptr.i44.i.i, align 8 + %incdec.ptr.i45.i.i = getelementptr i8, ptr %84, i64 1 store ptr %incdec.ptr.i45.i.i, ptr %code_ptr.i44.i.i, align 8 - store i8 -10, ptr %83, align 1 - %84 = trunc i32 %addrlo to i8 - %85 = and i8 %84, 7 - %conv.i.i123 = or disjoint i8 %85, -64 - %86 = load ptr, ptr %code_ptr.i44.i.i, align 8 - %incdec.ptr.i.i.i124 = getelementptr i8, ptr %86, i64 1 + store i8 -10, ptr %84, align 1 + %85 = trunc i32 %addrlo to i8 + %86 = and i8 %85, 7 + %conv.i.i123 = or disjoint i8 %86, -64 + %87 = load ptr, ptr %code_ptr.i44.i.i, align 8 + %incdec.ptr.i.i.i124 = getelementptr i8, ptr %87, i64 1 store ptr %incdec.ptr.i.i.i124, ptr %code_ptr.i44.i.i, align 8 - store i8 %conv.i.i123, ptr %86, align 1 + store i8 %conv.i.i123, ptr %87, align 1 %conv.i125 = trunc i32 %sub to i8 - %87 = load ptr, ptr %code_ptr.i44.i.i, align 8 - %incdec.ptr.i.i126 = getelementptr i8, ptr %87, i64 1 + %88 = load ptr, ptr %code_ptr.i44.i.i, align 8 + %incdec.ptr.i.i126 = getelementptr i8, ptr %88, i64 1 store ptr %incdec.ptr.i.i126, ptr %code_ptr.i44.i.i, align 8 - store i8 %conv.i125, ptr %87, align 1 + store i8 %conv.i125, ptr %88, align 1 %.pre = load ptr, ptr %code_ptr.i44.i.i, align 8 %code_ptr.i38.i129 = getelementptr inbounds i8, ptr %s, i64 128 %incdec.ptr.i39.i130 = getelementptr i8, ptr %.pre, i64 1 store ptr %incdec.ptr.i39.i130, ptr %code_ptr.i38.i129, align 8 store i8 15, ptr %.pre, align 1 - %88 = load ptr, ptr %code_ptr.i38.i129, align 8 - %incdec.ptr.i45.i132 = getelementptr i8, ptr %88, i64 1 - store ptr %incdec.ptr.i45.i132, ptr %code_ptr.i38.i129, align 8 - store i8 -123, ptr %88, align 1 %89 = load ptr, ptr %code_ptr.i38.i129, align 8 + %incdec.ptr.i45.i132 = getelementptr i8, ptr %89, i64 1 + store ptr %incdec.ptr.i45.i132, ptr %code_ptr.i38.i129, align 8 + store i8 -123, ptr %89, align 1 + %90 = load ptr, ptr %code_ptr.i38.i129, align 8 %label_ptr60 = getelementptr inbounds i8, ptr %retval.0.i.i92, i64 40 - store ptr %89, ptr %label_ptr60, align 8 - %add.ptr63 = getelementptr i8, ptr %89, i64 4 + store ptr %90, ptr %label_ptr60, align 8 + %add.ptr63 = getelementptr i8, ptr %90, i64 4 store ptr %add.ptr63, ptr %code_ptr.i38.i129, align 8 br label %if.end65 @@ -23835,71 +23830,70 @@ entry: if.then: ; preds = %entry %and23.i = lshr i32 %r, 3 %shr24.i = and i32 %and23.i, 1 - %cmp30.i = icmp sgt i32 %r, 3 - %cond31.i = select i1 %cmp30.i, i32 16384, i32 0 - %or33.i = or disjoint i32 %shr24.i, %cond31.i - %tobool34.not.i = icmp eq i32 %or33.i, 0 + %cmp30.i = icmp slt i32 %r, 4 + %0 = icmp eq i32 %shr24.i, 0 + %tobool34.not.i = and i1 %cmp30.i, %0 br i1 %tobool34.not.i, label %tcg_out_opc.exit, label %if.then35.i if.then35.i: ; preds = %if.then - %0 = trunc i32 %shr24.i to i8 - %conv.i12 = or disjoint i8 %0, 64 + %1 = trunc i32 %shr24.i to i8 + %conv.i12 = or disjoint i8 %1, 64 %code_ptr.i36.i = getelementptr inbounds i8, ptr %s, i64 128 - %1 = load ptr, ptr %code_ptr.i36.i, align 8 - %incdec.ptr.i37.i = getelementptr i8, ptr %1, i64 1 + %2 = load ptr, ptr %code_ptr.i36.i, align 8 + %incdec.ptr.i37.i = getelementptr i8, ptr %2, i64 1 store ptr %incdec.ptr.i37.i, ptr %code_ptr.i36.i, align 8 - store i8 %conv.i12, ptr %1, align 1 + store i8 %conv.i12, ptr %2, align 1 br label %tcg_out_opc.exit tcg_out_opc.exit: ; preds = %if.then, %if.then35.i %code_ptr.i44.i = getelementptr inbounds i8, ptr %s, i64 128 - %2 = load ptr, ptr %code_ptr.i44.i, align 8 - %incdec.ptr.i45.i = getelementptr i8, ptr %2, i64 1 + %3 = load ptr, ptr %code_ptr.i44.i, align 8 + %incdec.ptr.i45.i = getelementptr i8, ptr %3, i64 1 store ptr %incdec.ptr.i45.i, ptr %code_ptr.i44.i, align 8 - store i8 -10, ptr %2, align 1 - %3 = trunc i32 %r to i8 - %4 = and i8 %3, 7 - %conv.i = or disjoint i8 %4, -64 - %5 = load ptr, ptr %code_ptr.i44.i, align 8 - %incdec.ptr.i.i = getelementptr i8, ptr %5, i64 1 + store i8 -10, ptr %3, align 1 + %4 = trunc i32 %r to i8 + %5 = and i8 %4, 7 + %conv.i = or disjoint i8 %5, -64 + %6 = load ptr, ptr %code_ptr.i44.i, align 8 + %incdec.ptr.i.i = getelementptr i8, ptr %6, i64 1 store ptr %incdec.ptr.i.i, ptr %code_ptr.i44.i, align 8 - store i8 %conv.i, ptr %5, align 1 + store i8 %conv.i, ptr %6, align 1 %conv = trunc i32 %i to i8 - %6 = load ptr, ptr %code_ptr.i44.i, align 8 - %incdec.ptr.i = getelementptr i8, ptr %6, i64 1 + %7 = load ptr, ptr %code_ptr.i44.i, align 8 + %incdec.ptr.i = getelementptr i8, ptr %7, i64 1 store ptr %incdec.ptr.i, ptr %code_ptr.i44.i, align 8 - store i8 %conv, ptr %6, align 1 + store i8 %conv, ptr %7, align 1 br label %if.end if.else: ; preds = %entry - %7 = and i32 %r, 8 - %tobool34.not.i17 = icmp eq i32 %7, 0 + %8 = and i32 %r, 8 + %tobool34.not.i17 = icmp eq i32 %8, 0 br i1 %tobool34.not.i17, label %tcg_out_opc.exit24, label %if.then35.i18 if.then35.i18: ; preds = %if.else %code_ptr.i36.i20 = getelementptr inbounds i8, ptr %s, i64 128 - %8 = load ptr, ptr %code_ptr.i36.i20, align 8 - %incdec.ptr.i37.i21 = getelementptr i8, ptr %8, i64 1 + %9 = load ptr, ptr %code_ptr.i36.i20, align 8 + %incdec.ptr.i37.i21 = getelementptr i8, ptr %9, i64 1 store ptr %incdec.ptr.i37.i21, ptr %code_ptr.i36.i20, align 8 - store i8 65, ptr %8, align 1 + store i8 65, ptr %9, align 1 br label %tcg_out_opc.exit24 tcg_out_opc.exit24: ; preds = %if.else, %if.then35.i18 %code_ptr.i44.i22 = getelementptr inbounds i8, ptr %s, i64 128 - %9 = load ptr, ptr %code_ptr.i44.i22, align 8 - %incdec.ptr.i45.i23 = getelementptr i8, ptr %9, i64 1 + %10 = load ptr, ptr %code_ptr.i44.i22, align 8 + %incdec.ptr.i45.i23 = getelementptr i8, ptr %10, i64 1 store ptr %incdec.ptr.i45.i23, ptr %code_ptr.i44.i22, align 8 - store i8 -9, ptr %9, align 1 - %10 = trunc i32 %r to i8 - %11 = and i8 %10, 7 - %conv.i8 = or disjoint i8 %11, -64 - %12 = load ptr, ptr %code_ptr.i44.i22, align 8 - %incdec.ptr.i.i10 = getelementptr i8, ptr %12, i64 1 - store ptr %incdec.ptr.i.i10, ptr %code_ptr.i44.i22, align 8 - store i8 %conv.i8, ptr %12, align 1 + store i8 -9, ptr %10, align 1 + %11 = trunc i32 %r to i8 + %12 = and i8 %11, 7 + %conv.i8 = or disjoint i8 %12, -64 %13 = load ptr, ptr %code_ptr.i44.i22, align 8 - store i32 %i, ptr %13, align 1 - %add.ptr.i = getelementptr i8, ptr %13, i64 4 + %incdec.ptr.i.i10 = getelementptr i8, ptr %13, i64 1 + store ptr %incdec.ptr.i.i10, ptr %code_ptr.i44.i22, align 8 + store i8 %conv.i8, ptr %13, align 1 + %14 = load ptr, ptr %code_ptr.i44.i22, align 8 + store i32 %i, ptr %14, align 1 + %add.ptr.i = getelementptr i8, ptr %14, i64 4 store ptr %add.ptr.i, ptr %code_ptr.i44.i22, align 8 br label %if.end @@ -24270,41 +24264,40 @@ sw.bb.i: ; preds = %entry %and23.i.i.i = lshr i32 %src, 3 %shr24.i.i.i = and i32 %and23.i.i.i, 1 %or22.i.i.i = or disjoint i32 %shr.i.i.i, %shr24.i.i.i - %cmp30.i.i.i = icmp sgt i32 %src, 3 - %cond31.i.i.i = select i1 %cmp30.i.i.i, i32 16384, i32 0 - %or33.i.i.i = or disjoint i32 %or22.i.i.i, %cond31.i.i.i - %tobool34.not.i.i.i = icmp eq i32 %or33.i.i.i, 0 + %cmp30.i.i.i = icmp slt i32 %src, 4 + %3 = icmp eq i32 %or22.i.i.i, 0 + %tobool34.not.i.i.i = and i1 %cmp30.i.i.i, %3 br i1 %tobool34.not.i.i.i, label %tcg_out_ext8u.exit.i, label %if.then35.i.i.i if.then35.i.i.i: ; preds = %sw.bb.i - %3 = trunc i32 %or22.i.i.i to i8 - %conv.i2.i.i = or disjoint i8 %3, 64 + %4 = trunc i32 %or22.i.i.i to i8 + %conv.i2.i.i = or disjoint i8 %4, 64 %code_ptr.i36.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %4 = load ptr, ptr %code_ptr.i36.i.i.i, align 8 - %incdec.ptr.i37.i.i.i = getelementptr i8, ptr %4, i64 1 + %5 = load ptr, ptr %code_ptr.i36.i.i.i, align 8 + %incdec.ptr.i37.i.i.i = getelementptr i8, ptr %5, i64 1 store ptr %incdec.ptr.i37.i.i.i, ptr %code_ptr.i36.i.i.i, align 8 - store i8 %conv.i2.i.i, ptr %4, align 1 + store i8 %conv.i2.i.i, ptr %5, align 1 br label %tcg_out_ext8u.exit.i tcg_out_ext8u.exit.i: ; preds = %if.then35.i.i.i, %sw.bb.i %code_ptr.i38.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %5 = load ptr, ptr %code_ptr.i38.i.i.i, align 8 - %incdec.ptr.i39.i.i.i = getelementptr i8, ptr %5, i64 1 - store ptr %incdec.ptr.i39.i.i.i, ptr %code_ptr.i38.i.i.i, align 8 - store i8 15, ptr %5, align 1 %6 = load ptr, ptr %code_ptr.i38.i.i.i, align 8 - %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %6, i64 1 + %incdec.ptr.i39.i.i.i = getelementptr i8, ptr %6, i64 1 + store ptr %incdec.ptr.i39.i.i.i, ptr %code_ptr.i38.i.i.i, align 8 + store i8 15, ptr %6, align 1 + %7 = load ptr, ptr %code_ptr.i38.i.i.i, align 8 + %incdec.ptr.i45.i.i.i = getelementptr i8, ptr %7, i64 1 store ptr %incdec.ptr.i45.i.i.i, ptr %code_ptr.i38.i.i.i, align 8 - store i8 -74, ptr %6, align 1 + store i8 -74, ptr %7, align 1 %and.i.i.i = shl i32 %1, 3 %and1.i.i.i = and i32 %src, 7 %or.i.i.i = or disjoint i32 %and.i.i.i, %and1.i.i.i - %7 = trunc i32 %or.i.i.i to i8 - %conv.i.i.i = or i8 %7, -64 - %8 = load ptr, ptr %code_ptr.i38.i.i.i, align 8 - %incdec.ptr.i.i.i.i = getelementptr i8, ptr %8, i64 1 + %8 = trunc i32 %or.i.i.i to i8 + %conv.i.i.i = or i8 %8, -64 + %9 = load ptr, ptr %code_ptr.i38.i.i.i, align 8 + %incdec.ptr.i.i.i.i = getelementptr i8, ptr %9, i64 1 store ptr %incdec.ptr.i.i.i.i, ptr %code_ptr.i38.i.i.i, align 8 - store i8 %conv.i.i.i, ptr %8, align 1 + store i8 %conv.i.i.i, ptr %9, align 1 br label %tcg_out_movext.exit sw.bb1.i: ; preds = %entry @@ -24314,13 +24307,13 @@ sw.bb1.i: ; preds = %entry %and.i.i40.i = shl i32 %1, 3 %and1.i.i41.i = and i32 %src, 7 %or.i.i42.i = or disjoint i32 %and.i.i40.i, %and1.i.i41.i - %9 = trunc i32 %or.i.i42.i to i8 - %conv.i.i43.i = or i8 %9, -64 + %10 = trunc i32 %or.i.i42.i to i8 + %conv.i.i43.i = or i8 %10, -64 %code_ptr.i.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %10 = load ptr, ptr %code_ptr.i.i.i.i, align 8 - %incdec.ptr.i.i.i44.i = getelementptr i8, ptr %10, i64 1 + %11 = load ptr, ptr %code_ptr.i.i.i.i, align 8 + %incdec.ptr.i.i.i44.i = getelementptr i8, ptr %11, i64 1 store ptr %incdec.ptr.i.i.i44.i, ptr %code_ptr.i.i.i.i, align 8 - store i8 %conv.i.i43.i, ptr %10, align 1 + store i8 %conv.i.i43.i, ptr %11, align 1 br label %tcg_out_movext.exit sw.bb2.i: ; preds = %entry @@ -24333,34 +24326,34 @@ sw.bb2.i: ; preds = %entry br i1 %tobool34.not.i.i50.i, label %tcg_out_ext16u.exit.i, label %if.then35.i.i51.i if.then35.i.i51.i: ; preds = %sw.bb2.i - %11 = trunc i32 %or22.i.i49.i to i8 - %conv.i1.i.i = or disjoint i8 %11, 64 + %12 = trunc i32 %or22.i.i49.i to i8 + %conv.i1.i.i = or disjoint i8 %12, 64 %code_ptr.i36.i.i52.i = getelementptr inbounds i8, ptr %s, i64 128 - %12 = load ptr, ptr %code_ptr.i36.i.i52.i, align 8 - %incdec.ptr.i37.i.i53.i = getelementptr i8, ptr %12, i64 1 + %13 = load ptr, ptr %code_ptr.i36.i.i52.i, align 8 + %incdec.ptr.i37.i.i53.i = getelementptr i8, ptr %13, i64 1 store ptr %incdec.ptr.i37.i.i53.i, ptr %code_ptr.i36.i.i52.i, align 8 - store i8 %conv.i1.i.i, ptr %12, align 1 + store i8 %conv.i1.i.i, ptr %13, align 1 br label %tcg_out_ext16u.exit.i tcg_out_ext16u.exit.i: ; preds = %if.then35.i.i51.i, %sw.bb2.i %code_ptr.i38.i.i54.i = getelementptr inbounds i8, ptr %s, i64 128 - %13 = load ptr, ptr %code_ptr.i38.i.i54.i, align 8 - %incdec.ptr.i39.i.i55.i = getelementptr i8, ptr %13, i64 1 - store ptr %incdec.ptr.i39.i.i55.i, ptr %code_ptr.i38.i.i54.i, align 8 - store i8 15, ptr %13, align 1 %14 = load ptr, ptr %code_ptr.i38.i.i54.i, align 8 - %incdec.ptr.i45.i.i56.i = getelementptr i8, ptr %14, i64 1 + %incdec.ptr.i39.i.i55.i = getelementptr i8, ptr %14, i64 1 + store ptr %incdec.ptr.i39.i.i55.i, ptr %code_ptr.i38.i.i54.i, align 8 + store i8 15, ptr %14, align 1 + %15 = load ptr, ptr %code_ptr.i38.i.i54.i, align 8 + %incdec.ptr.i45.i.i56.i = getelementptr i8, ptr %15, i64 1 store ptr %incdec.ptr.i45.i.i56.i, ptr %code_ptr.i38.i.i54.i, align 8 - store i8 -73, ptr %14, align 1 + store i8 -73, ptr %15, align 1 %and.i.i57.i = shl i32 %1, 3 %and1.i.i58.i = and i32 %src, 7 %or.i.i59.i = or disjoint i32 %and.i.i57.i, %and1.i.i58.i - %15 = trunc i32 %or.i.i59.i to i8 - %conv.i.i60.i = or i8 %15, -64 - %16 = load ptr, ptr %code_ptr.i38.i.i54.i, align 8 - %incdec.ptr.i.i.i61.i = getelementptr i8, ptr %16, i64 1 + %16 = trunc i32 %or.i.i59.i to i8 + %conv.i.i60.i = or i8 %16, -64 + %17 = load ptr, ptr %code_ptr.i38.i.i54.i, align 8 + %incdec.ptr.i.i.i61.i = getelementptr i8, ptr %17, i64 1 store ptr %incdec.ptr.i.i.i61.i, ptr %code_ptr.i38.i.i54.i, align 8 - store i8 %conv.i.i60.i, ptr %16, align 1 + store i8 %conv.i.i60.i, ptr %17, align 1 br label %tcg_out_movext.exit sw.bb3.i: ; preds = %entry @@ -24370,20 +24363,20 @@ sw.bb3.i: ; preds = %entry %and.i.i64.i = shl i32 %1, 3 %and1.i.i65.i = and i32 %src, 7 %or.i.i66.i = or disjoint i32 %and.i.i64.i, %and1.i.i65.i - %17 = trunc i32 %or.i.i66.i to i8 - %conv.i.i67.i = or i8 %17, -64 + %18 = trunc i32 %or.i.i66.i to i8 + %conv.i.i67.i = or i8 %18, -64 %code_ptr.i.i.i68.i = getelementptr inbounds i8, ptr %s, i64 128 - %18 = load ptr, ptr %code_ptr.i.i.i68.i, align 8 - %incdec.ptr.i.i.i69.i = getelementptr i8, ptr %18, i64 1 + %19 = load ptr, ptr %code_ptr.i.i.i68.i, align 8 + %incdec.ptr.i.i.i69.i = getelementptr i8, ptr %19, i64 1 store ptr %incdec.ptr.i.i.i69.i, ptr %code_ptr.i.i.i68.i, align 8 - store i8 %conv.i.i67.i, ptr %18, align 1 + store i8 %conv.i.i67.i, ptr %19, align 1 br label %tcg_out_movext.exit sw.bb4.i: ; preds = %entry, %entry %src_type = getelementptr inbounds i8, ptr %i, i64 12 - %19 = load i32, ptr %src_type, align 4 + %20 = load i32, ptr %src_type, align 4 %cmp.i = icmp eq i32 %0, 0 - %cmp5.i = icmp eq i32 %19, 0 + %cmp5.i = icmp eq i32 %20, 0 br i1 %cmp.i, label %if.then.i, label %if.else7.i if.then.i: ; preds = %sw.bb4.i @@ -24403,30 +24396,30 @@ if.else.i: ; preds = %if.then.i br i1 %tobool34.not.i.i.i.i, label %tcg_out_extrl_i64_i32.exit.i, label %if.then35.i.i.i.i if.then35.i.i.i.i: ; preds = %if.else.i - %20 = trunc i32 %or22.i.i.i.i to i8 - %conv.i1.i.i.i = or disjoint i8 %20, 64 + %21 = trunc i32 %or22.i.i.i.i to i8 + %conv.i1.i.i.i = or disjoint i8 %21, 64 %code_ptr.i36.i.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %21 = load ptr, ptr %code_ptr.i36.i.i.i.i, align 8 - %incdec.ptr.i37.i.i.i.i = getelementptr i8, ptr %21, i64 1 + %22 = load ptr, ptr %code_ptr.i36.i.i.i.i, align 8 + %incdec.ptr.i37.i.i.i.i = getelementptr i8, ptr %22, i64 1 store ptr %incdec.ptr.i37.i.i.i.i, ptr %code_ptr.i36.i.i.i.i, align 8 - store i8 %conv.i1.i.i.i, ptr %21, align 1 + store i8 %conv.i1.i.i.i, ptr %22, align 1 br label %tcg_out_extrl_i64_i32.exit.i tcg_out_extrl_i64_i32.exit.i: ; preds = %if.then35.i.i.i.i, %if.else.i %code_ptr.i44.i.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %22 = load ptr, ptr %code_ptr.i44.i.i.i.i, align 8 - %incdec.ptr.i45.i.i.i.i = getelementptr i8, ptr %22, i64 1 + %23 = load ptr, ptr %code_ptr.i44.i.i.i.i, align 8 + %incdec.ptr.i45.i.i.i.i = getelementptr i8, ptr %23, i64 1 store ptr %incdec.ptr.i45.i.i.i.i, ptr %code_ptr.i44.i.i.i.i, align 8 - store i8 -117, ptr %22, align 1 + store i8 -117, ptr %23, align 1 %and.i.i.i.i = shl i32 %1, 3 %and1.i.i.i.i = and i32 %src, 7 %or.i.i.i.i = or disjoint i32 %and.i.i.i.i, %and1.i.i.i.i - %23 = trunc i32 %or.i.i.i.i to i8 - %conv.i.i.i.i = or i8 %23, -64 - %24 = load ptr, ptr %code_ptr.i44.i.i.i.i, align 8 - %incdec.ptr.i.i.i.i.i = getelementptr i8, ptr %24, i64 1 + %24 = trunc i32 %or.i.i.i.i to i8 + %conv.i.i.i.i = or i8 %24, -64 + %25 = load ptr, ptr %code_ptr.i44.i.i.i.i, align 8 + %incdec.ptr.i.i.i.i.i = getelementptr i8, ptr %25, i64 1 store ptr %incdec.ptr.i.i.i.i.i, ptr %code_ptr.i44.i.i.i.i, align 8 - store i8 %conv.i.i.i.i, ptr %24, align 1 + store i8 %conv.i.i.i.i, ptr %25, align 1 br label %tcg_out_movext.exit if.else7.i: ; preds = %sw.bb4.i @@ -24443,26 +24436,26 @@ if.then10.i: ; preds = %if.then9.i %and23.i.i.i72.i = lshr i32 %src, 3 %shr24.i.i.i73.i = and i32 %and23.i.i.i72.i, 1 %or19.i.i.i.i = or disjoint i32 %shr.i.i.i71.i, %shr24.i.i.i73.i - %25 = trunc i32 %or19.i.i.i.i to i8 - %conv.i1.i.i74.i = or disjoint i8 %25, 72 + %26 = trunc i32 %or19.i.i.i.i to i8 + %conv.i1.i.i74.i = or disjoint i8 %26, 72 %code_ptr.i36.i.i.i75.i = getelementptr inbounds i8, ptr %s, i64 128 - %26 = load ptr, ptr %code_ptr.i36.i.i.i75.i, align 8 - %incdec.ptr.i37.i.i.i76.i = getelementptr i8, ptr %26, i64 1 - store ptr %incdec.ptr.i37.i.i.i76.i, ptr %code_ptr.i36.i.i.i75.i, align 8 - store i8 %conv.i1.i.i74.i, ptr %26, align 1 %27 = load ptr, ptr %code_ptr.i36.i.i.i75.i, align 8 - %incdec.ptr.i45.i.i.i77.i = getelementptr i8, ptr %27, i64 1 + %incdec.ptr.i37.i.i.i76.i = getelementptr i8, ptr %27, i64 1 + store ptr %incdec.ptr.i37.i.i.i76.i, ptr %code_ptr.i36.i.i.i75.i, align 8 + store i8 %conv.i1.i.i74.i, ptr %27, align 1 + %28 = load ptr, ptr %code_ptr.i36.i.i.i75.i, align 8 + %incdec.ptr.i45.i.i.i77.i = getelementptr i8, ptr %28, i64 1 store ptr %incdec.ptr.i45.i.i.i77.i, ptr %code_ptr.i36.i.i.i75.i, align 8 - store i8 99, ptr %27, align 1 + store i8 99, ptr %28, align 1 %and.i.i.i78.i = shl i32 %1, 3 %and1.i.i.i79.i = and i32 %src, 7 %or.i.i.i80.i = or disjoint i32 %and.i.i.i78.i, %and1.i.i.i79.i - %28 = trunc i32 %or.i.i.i80.i to i8 - %conv.i.i.i81.i = or i8 %28, -64 - %29 = load ptr, ptr %code_ptr.i36.i.i.i75.i, align 8 - %incdec.ptr.i.i.i.i82.i = getelementptr i8, ptr %29, i64 1 + %29 = trunc i32 %or.i.i.i80.i to i8 + %conv.i.i.i81.i = or i8 %29, -64 + %30 = load ptr, ptr %code_ptr.i36.i.i.i75.i, align 8 + %incdec.ptr.i.i.i.i82.i = getelementptr i8, ptr %30, i64 1 store ptr %incdec.ptr.i.i.i.i82.i, ptr %code_ptr.i36.i.i.i75.i, align 8 - store i8 %conv.i.i.i81.i, ptr %29, align 1 + store i8 %conv.i.i.i81.i, ptr %30, align 1 br label %tcg_out_movext.exit if.else11.i: ; preds = %if.then9.i @@ -24479,30 +24472,30 @@ if.then.i.i: ; preds = %if.else11.i br i1 %tobool34.not.i.i.i88.i, label %tcg_out_ext32u.exit.i.i, label %if.then35.i.i.i89.i if.then35.i.i.i89.i: ; preds = %if.then.i.i - %30 = trunc i32 %or22.i.i.i87.i to i8 - %conv.i1.i.i90.i = or disjoint i8 %30, 64 + %31 = trunc i32 %or22.i.i.i87.i to i8 + %conv.i1.i.i90.i = or disjoint i8 %31, 64 %code_ptr.i36.i.i.i91.i = getelementptr inbounds i8, ptr %s, i64 128 - %31 = load ptr, ptr %code_ptr.i36.i.i.i91.i, align 8 - %incdec.ptr.i37.i.i.i92.i = getelementptr i8, ptr %31, i64 1 + %32 = load ptr, ptr %code_ptr.i36.i.i.i91.i, align 8 + %incdec.ptr.i37.i.i.i92.i = getelementptr i8, ptr %32, i64 1 store ptr %incdec.ptr.i37.i.i.i92.i, ptr %code_ptr.i36.i.i.i91.i, align 8 - store i8 %conv.i1.i.i90.i, ptr %31, align 1 + store i8 %conv.i1.i.i90.i, ptr %32, align 1 br label %tcg_out_ext32u.exit.i.i tcg_out_ext32u.exit.i.i: ; preds = %if.then35.i.i.i89.i, %if.then.i.i %code_ptr.i44.i.i.i93.i = getelementptr inbounds i8, ptr %s, i64 128 - %32 = load ptr, ptr %code_ptr.i44.i.i.i93.i, align 8 - %incdec.ptr.i45.i.i.i94.i = getelementptr i8, ptr %32, i64 1 + %33 = load ptr, ptr %code_ptr.i44.i.i.i93.i, align 8 + %incdec.ptr.i45.i.i.i94.i = getelementptr i8, ptr %33, i64 1 store ptr %incdec.ptr.i45.i.i.i94.i, ptr %code_ptr.i44.i.i.i93.i, align 8 - store i8 -117, ptr %32, align 1 + store i8 -117, ptr %33, align 1 %and.i.i.i95.i = shl i32 %1, 3 %and1.i.i.i96.i = and i32 %src, 7 %or.i.i.i97.i = or disjoint i32 %and.i.i.i95.i, %and1.i.i.i96.i - %33 = trunc i32 %or.i.i.i97.i to i8 - %conv.i.i.i98.i = or i8 %33, -64 - %34 = load ptr, ptr %code_ptr.i44.i.i.i93.i, align 8 - %incdec.ptr.i.i.i.i99.i = getelementptr i8, ptr %34, i64 1 + %34 = trunc i32 %or.i.i.i97.i to i8 + %conv.i.i.i98.i = or i8 %34, -64 + %35 = load ptr, ptr %code_ptr.i44.i.i.i93.i, align 8 + %incdec.ptr.i.i.i.i99.i = getelementptr i8, ptr %35, i64 1 store ptr %incdec.ptr.i.i.i.i99.i, ptr %code_ptr.i44.i.i.i93.i, align 8 - store i8 %conv.i.i.i98.i, ptr %34, align 1 + store i8 %conv.i.i.i98.i, ptr %35, align 1 br label %tcg_out_movext.exit if.else13.i: ; preds = %if.else7.i @@ -24514,26 +24507,26 @@ if.else13.i: ; preds = %if.else7.i br i1 %tobool.not.i, label %if.else17.i, label %if.then16.i if.then16.i: ; preds = %if.else13.i - %35 = trunc i32 %or22.i.i117.i to i8 - %conv.i1.i104.i = or disjoint i8 %35, 72 + %36 = trunc i32 %or22.i.i117.i to i8 + %conv.i1.i104.i = or disjoint i8 %36, 72 %code_ptr.i36.i.i105.i = getelementptr inbounds i8, ptr %s, i64 128 - %36 = load ptr, ptr %code_ptr.i36.i.i105.i, align 8 - %incdec.ptr.i37.i.i106.i = getelementptr i8, ptr %36, i64 1 - store ptr %incdec.ptr.i37.i.i106.i, ptr %code_ptr.i36.i.i105.i, align 8 - store i8 %conv.i1.i104.i, ptr %36, align 1 %37 = load ptr, ptr %code_ptr.i36.i.i105.i, align 8 - %incdec.ptr.i45.i.i107.i = getelementptr i8, ptr %37, i64 1 + %incdec.ptr.i37.i.i106.i = getelementptr i8, ptr %37, i64 1 + store ptr %incdec.ptr.i37.i.i106.i, ptr %code_ptr.i36.i.i105.i, align 8 + store i8 %conv.i1.i104.i, ptr %37, align 1 + %38 = load ptr, ptr %code_ptr.i36.i.i105.i, align 8 + %incdec.ptr.i45.i.i107.i = getelementptr i8, ptr %38, i64 1 store ptr %incdec.ptr.i45.i.i107.i, ptr %code_ptr.i36.i.i105.i, align 8 - store i8 99, ptr %37, align 1 + store i8 99, ptr %38, align 1 %and.i.i108.i = shl i32 %1, 3 %and1.i.i109.i = and i32 %src, 7 %or.i.i110.i = or disjoint i32 %and.i.i108.i, %and1.i.i109.i - %38 = trunc i32 %or.i.i110.i to i8 - %conv.i.i111.i = or i8 %38, -64 - %39 = load ptr, ptr %code_ptr.i36.i.i105.i, align 8 - %incdec.ptr.i.i.i112.i = getelementptr i8, ptr %39, i64 1 + %39 = trunc i32 %or.i.i110.i to i8 + %conv.i.i111.i = or i8 %39, -64 + %40 = load ptr, ptr %code_ptr.i36.i.i105.i, align 8 + %incdec.ptr.i.i.i112.i = getelementptr i8, ptr %40, i64 1 store ptr %incdec.ptr.i.i.i112.i, ptr %code_ptr.i36.i.i105.i, align 8 - store i8 %conv.i.i111.i, ptr %39, align 1 + store i8 %conv.i.i111.i, ptr %40, align 1 br label %tcg_out_movext.exit if.else17.i: ; preds = %if.else13.i @@ -24541,30 +24534,30 @@ if.else17.i: ; preds = %if.else13.i br i1 %tobool34.not.i.i118.i, label %tcg_out_ext32u.exit.i, label %if.then35.i.i119.i if.then35.i.i119.i: ; preds = %if.else17.i - %40 = trunc i32 %or22.i.i117.i to i8 - %conv.i1.i120.i = or disjoint i8 %40, 64 + %41 = trunc i32 %or22.i.i117.i to i8 + %conv.i1.i120.i = or disjoint i8 %41, 64 %code_ptr.i36.i.i121.i = getelementptr inbounds i8, ptr %s, i64 128 - %41 = load ptr, ptr %code_ptr.i36.i.i121.i, align 8 - %incdec.ptr.i37.i.i122.i = getelementptr i8, ptr %41, i64 1 + %42 = load ptr, ptr %code_ptr.i36.i.i121.i, align 8 + %incdec.ptr.i37.i.i122.i = getelementptr i8, ptr %42, i64 1 store ptr %incdec.ptr.i37.i.i122.i, ptr %code_ptr.i36.i.i121.i, align 8 - store i8 %conv.i1.i120.i, ptr %41, align 1 + store i8 %conv.i1.i120.i, ptr %42, align 1 br label %tcg_out_ext32u.exit.i tcg_out_ext32u.exit.i: ; preds = %if.then35.i.i119.i, %if.else17.i %code_ptr.i44.i.i.i = getelementptr inbounds i8, ptr %s, i64 128 - %42 = load ptr, ptr %code_ptr.i44.i.i.i, align 8 - %incdec.ptr.i45.i.i123.i = getelementptr i8, ptr %42, i64 1 + %43 = load ptr, ptr %code_ptr.i44.i.i.i, align 8 + %incdec.ptr.i45.i.i123.i = getelementptr i8, ptr %43, i64 1 store ptr %incdec.ptr.i45.i.i123.i, ptr %code_ptr.i44.i.i.i, align 8 - store i8 -117, ptr %42, align 1 + store i8 -117, ptr %43, align 1 %and.i.i124.i = shl i32 %1, 3 %and1.i.i125.i = and i32 %src, 7 %or.i.i126.i = or disjoint i32 %and.i.i124.i, %and1.i.i125.i - %43 = trunc i32 %or.i.i126.i to i8 - %conv.i.i127.i = or i8 %43, -64 - %44 = load ptr, ptr %code_ptr.i44.i.i.i, align 8 - %incdec.ptr.i.i.i128.i = getelementptr i8, ptr %44, i64 1 + %44 = trunc i32 %or.i.i126.i to i8 + %conv.i.i127.i = or i8 %44, -64 + %45 = load ptr, ptr %code_ptr.i44.i.i.i, align 8 + %incdec.ptr.i.i.i128.i = getelementptr i8, ptr %45, i64 1 store ptr %incdec.ptr.i.i.i128.i, ptr %code_ptr.i44.i.i.i, align 8 - store i8 %conv.i.i127.i, ptr %44, align 1 + store i8 %conv.i.i127.i, ptr %45, align 1 br label %tcg_out_movext.exit do.end.i: ; preds = %entry @@ -24581,30 +24574,30 @@ if.then23.i: ; preds = %do.end.i br i1 %tobool34.not.i.i.i134.i, label %tcg_out_extrl_i64_i32.exit147.i, label %if.then35.i.i.i135.i if.then35.i.i.i135.i: ; preds = %if.then23.i - %45 = trunc i32 %or22.i.i.i133.i to i8 - %conv.i1.i.i136.i = or disjoint i8 %45, 64 + %46 = trunc i32 %or22.i.i.i133.i to i8 + %conv.i1.i.i136.i = or disjoint i8 %46, 64 %code_ptr.i36.i.i.i137.i = getelementptr inbounds i8, ptr %s, i64 128 - %46 = load ptr, ptr %code_ptr.i36.i.i.i137.i, align 8 - %incdec.ptr.i37.i.i.i138.i = getelementptr i8, ptr %46, i64 1 + %47 = load ptr, ptr %code_ptr.i36.i.i.i137.i, align 8 + %incdec.ptr.i37.i.i.i138.i = getelementptr i8, ptr %47, i64 1 store ptr %incdec.ptr.i37.i.i.i138.i, ptr %code_ptr.i36.i.i.i137.i, align 8 - store i8 %conv.i1.i.i136.i, ptr %46, align 1 + store i8 %conv.i1.i.i136.i, ptr %47, align 1 br label %tcg_out_extrl_i64_i32.exit147.i tcg_out_extrl_i64_i32.exit147.i: ; preds = %if.then35.i.i.i135.i, %if.then23.i %code_ptr.i44.i.i.i140.i = getelementptr inbounds i8, ptr %s, i64 128 - %47 = load ptr, ptr %code_ptr.i44.i.i.i140.i, align 8 - %incdec.ptr.i45.i.i.i141.i = getelementptr i8, ptr %47, i64 1 + %48 = load ptr, ptr %code_ptr.i44.i.i.i140.i, align 8 + %incdec.ptr.i45.i.i.i141.i = getelementptr i8, ptr %48, i64 1 store ptr %incdec.ptr.i45.i.i.i141.i, ptr %code_ptr.i44.i.i.i140.i, align 8 - store i8 -117, ptr %47, align 1 + store i8 -117, ptr %48, align 1 %and.i.i.i142.i = shl i32 %1, 3 %and1.i.i.i143.i = and i32 %src, 7 %or.i.i.i144.i = or disjoint i32 %and.i.i.i142.i, %and1.i.i.i143.i - %48 = trunc i32 %or.i.i.i144.i to i8 - %conv.i.i.i145.i = or i8 %48, -64 - %49 = load ptr, ptr %code_ptr.i44.i.i.i140.i, align 8 - %incdec.ptr.i.i.i.i146.i = getelementptr i8, ptr %49, i64 1 + %49 = trunc i32 %or.i.i.i144.i to i8 + %conv.i.i.i145.i = or i8 %49, -64 + %50 = load ptr, ptr %code_ptr.i44.i.i.i140.i, align 8 + %incdec.ptr.i.i.i.i146.i = getelementptr i8, ptr %50, i64 1 store ptr %incdec.ptr.i.i.i.i146.i, ptr %code_ptr.i44.i.i.i140.i, align 8 - store i8 %conv.i.i.i145.i, ptr %49, align 1 + store i8 %conv.i.i.i145.i, ptr %50, align 1 br label %tcg_out_movext.exit if.else24.i: ; preds = %do.end.i diff --git a/bench/redis/optimized/jemalloc.ll b/bench/redis/optimized/jemalloc.ll index ed047cee910..2135250f30e 100644 --- a/bench/redis/optimized/jemalloc.ll +++ b/bench/redis/optimized/jemalloc.ll @@ -13438,11 +13438,12 @@ if.end22: ; preds = %if.end18 %or11.i.i = or i8 %or8.i.i, %45 %or12.i.i = or i8 %or11.i.i, %cond10.i.i store i8 %or12.i.i, ptr @malloc_slow_flags, align 1 - %cmp.i.i62 = icmp ne i8 %or12.i.i, 0 + %46 = icmp ne i8 %or11.i.i, 0 + %cmp.i.i62 = or i1 %46, %tobool9.i.i %frombool.i.i = zext i1 %cmp.i.i62 to i8 store i8 %frombool.i.i, ptr @malloc_slow, align 1 - %46 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 - %dec.i.i = add i8 %46, -1 + %47 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 + %dec.i.i = add i8 %47, -1 store i8 %dec.i.i, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 %cmp.i.i64 = icmp eq i8 %dec.i.i, 0 br i1 %cmp.i.i64, label %if.then.i.i65, label %post_reentrancy.exit @@ -13455,20 +13456,20 @@ post_reentrancy.exit: ; preds = %if.end22, %if.then. store atomic i8 0, ptr getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 2, i32 0) monotonic, align 8 %call1.i66 = call i32 @pthread_mutex_unlock(ptr noundef nonnull getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 1, i32 0, i32 0)) #19 call void @malloc_tsd_boot1() #19 - %47 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) - %state.i.i = getelementptr inbounds i8, ptr %47, i64 832 - %48 = load i8, ptr %state.i.i, align 8 - %cmp6.i.not = icmp eq i8 %48, 0 + %48 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) + %state.i.i = getelementptr inbounds i8, ptr %48, i64 832 + %49 = load i8, ptr %state.i.i, align 8 + %cmp6.i.not = icmp eq i8 %49, 0 br i1 %cmp6.i.not, label %tsd_fetch_impl.exit, label %if.then11.i if.then11.i: ; preds = %post_reentrancy.exit - %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %47, i1 noundef zeroext false) #19 + %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %48, i1 noundef zeroext false) #19 br label %tsd_fetch_impl.exit tsd_fetch_impl.exit: ; preds = %post_reentrancy.exit, %if.then11.i - %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %47, %post_reentrancy.exit ] - %49 = load i8, ptr @opt_background_thread, align 1 - %tobool = trunc i8 %49 to i1 + %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %48, %post_reentrancy.exit ] + %50 = load i8, ptr @opt_background_thread, align 1 + %tobool = trunc i8 %50 to i1 br i1 %tobool, label %do.end, label %if.end32 do.end: ; preds = %tsd_fetch_impl.exit diff --git a/bench/redis/optimized/jemalloc.sym.ll b/bench/redis/optimized/jemalloc.sym.ll index 4de5e1bd1dd..d8bfb597324 100644 --- a/bench/redis/optimized/jemalloc.sym.ll +++ b/bench/redis/optimized/jemalloc.sym.ll @@ -13438,11 +13438,12 @@ if.end22: ; preds = %if.end18 %or11.i.i = or i8 %or8.i.i, %45 %or12.i.i = or i8 %or11.i.i, %cond10.i.i store i8 %or12.i.i, ptr @malloc_slow_flags, align 1 - %cmp.i.i62 = icmp ne i8 %or12.i.i, 0 + %46 = icmp ne i8 %or11.i.i, 0 + %cmp.i.i62 = or i1 %46, %tobool9.i.i %frombool.i.i = zext i1 %cmp.i.i62 to i8 store i8 %frombool.i.i, ptr @malloc_slow, align 1 - %46 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 - %dec.i.i = add i8 %46, -1 + %47 = load i8, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 + %dec.i.i = add i8 %47, -1 store i8 %dec.i.i, ptr %cant_access_tsd_items_directly_use_a_getter_or_setter_reentrancy_level.i.i.i, align 1 %cmp.i.i64 = icmp eq i8 %dec.i.i, 0 br i1 %cmp.i.i64, label %if.then.i.i65, label %post_reentrancy.exit @@ -13455,20 +13456,20 @@ post_reentrancy.exit: ; preds = %if.end22, %if.then. store atomic i8 0, ptr getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 2, i32 0) monotonic, align 8 %call1.i66 = call i32 @pthread_mutex_unlock(ptr noundef nonnull getelementptr inbounds (%struct.malloc_mutex_s, ptr @init_lock, i64 0, i32 0, i32 0, i32 1, i32 0, i32 0)) #19 call void @malloc_tsd_boot1() #19 - %47 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) - %state.i.i = getelementptr inbounds i8, ptr %47, i64 832 - %48 = load i8, ptr %state.i.i, align 8 - %cmp6.i.not = icmp eq i8 %48, 0 + %48 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @tsd_tls) + %state.i.i = getelementptr inbounds i8, ptr %48, i64 832 + %49 = load i8, ptr %state.i.i, align 8 + %cmp6.i.not = icmp eq i8 %49, 0 br i1 %cmp6.i.not, label %tsd_fetch_impl.exit, label %if.then11.i if.then11.i: ; preds = %post_reentrancy.exit - %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %47, i1 noundef zeroext false) #19 + %call13.i = call ptr @tsd_fetch_slow(ptr noundef nonnull %48, i1 noundef zeroext false) #19 br label %tsd_fetch_impl.exit tsd_fetch_impl.exit: ; preds = %post_reentrancy.exit, %if.then11.i - %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %47, %post_reentrancy.exit ] - %49 = load i8, ptr @opt_background_thread, align 1 - %tobool = trunc i8 %49 to i1 + %retval.i.0 = phi ptr [ %call13.i, %if.then11.i ], [ %48, %post_reentrancy.exit ] + %50 = load i8, ptr @opt_background_thread, align 1 + %tobool = trunc i8 %50 to i1 br i1 %tobool, label %do.end, label %if.end32 do.end: ; preds = %tsd_fetch_impl.exit diff --git a/bench/sqlite/optimized/sqlite3.ll b/bench/sqlite/optimized/sqlite3.ll index fa592c0081e..e29fa1e840a 100644 --- a/bench/sqlite/optimized/sqlite3.ll +++ b/bench/sqlite/optimized/sqlite3.ll @@ -61776,14 +61776,14 @@ sqlite3OsSync.exit.thread: ; preds = %92, %sqlite3OsSync. 111: ; preds = %108 %112 = getelementptr inbounds i8, ptr %0, i64 14 %113 = load i8, ptr %112, align 2 - %114 = zext i8 %113 to i32 - %115 = icmp eq i8 %113, 3 - %116 = select i1 %115, i32 16, i32 0 - %117 = or i32 %116, %114 - %.not.i69 = icmp eq i32 %117, 0 - br i1 %.not.i69, label %sqlite3OsSync.exit70.thread, label %sqlite3OsSync.exit70 + %114 = icmp eq i8 %113, 0 + br i1 %114, label %sqlite3OsSync.exit70.thread, label %sqlite3OsSync.exit70 sqlite3OsSync.exit70: ; preds = %111 + %.not = icmp eq i8 %113, 3 + %115 = select i1 %.not, i32 16, i32 0 + %116 = zext i8 %113 to i32 + %117 = or i32 %115, %116 %118 = load ptr, ptr %34, align 8 %119 = load ptr, ptr %118, align 8 %120 = getelementptr inbounds i8, ptr %119, i64 40