Last active
August 29, 2015 14:03
-
-
Save kmsquire/bc7d68c9f4f70dde2e24 to your computer and use it in GitHub Desktop.
Comparison of code generated by normal forward sorting and sorting "by=x->x".
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x = rand(1000000); | |
ord = Base.Sort.ord(isless, x->x, false, Base.Order.Forward) | |
# The lines below compare the sort code generated using forward ordering, | |
# and using "by=x->x". | |
# The output of the code is below | |
@code_llvm sort!(x, 1, 1000000, QuickSort, Base.Order.Forward) | |
@code_llvm sort!(x, 1, 1000000, QuickSort, ord) | |
@code_native sort!(x, 1, 1000000, QuickSort, Base.Order.Forward) | |
@code_native sort!(x, 1, 1000000, QuickSort, ord) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
define %jl_value_t* @"julia_sort!;18847"(%jl_value_t*, i64, i64, %jl_value_t*, %jl_value_t*) { | |
top: | |
%5 = alloca [5 x %jl_value_t*], align 8 | |
%.sub = getelementptr inbounds [5 x %jl_value_t*]* %5, i64 0, i64 0 | |
%6 = getelementptr [5 x %jl_value_t*]* %5, i64 0, i64 2, !dbg !923 | |
store %jl_value_t* inttoptr (i64 6 to %jl_value_t*), %jl_value_t** %.sub, align 8 | |
%7 = getelementptr [5 x %jl_value_t*]* %5, i64 0, i64 1, !dbg !923 | |
%8 = load %jl_value_t*** @jl_pgcstack, align 8, !dbg !923 | |
%.c = bitcast %jl_value_t** %8 to %jl_value_t*, !dbg !923 | |
store %jl_value_t* %.c, %jl_value_t** %7, align 8, !dbg !923 | |
store %jl_value_t** %.sub, %jl_value_t*** @jl_pgcstack, align 8, !dbg !923 | |
store %jl_value_t* null, %jl_value_t** %6, align 8 | |
%9 = getelementptr [5 x %jl_value_t*]* %5, i64 0, i64 3 | |
store %jl_value_t* null, %jl_value_t** %9, align 8 | |
%10 = getelementptr [5 x %jl_value_t*]* %5, i64 0, i64 4 | |
store %jl_value_t* null, %jl_value_t** %10, align 8 | |
%11 = icmp slt i64 %1, %2, !dbg !924 | |
br i1 %11, label %L.preheader, label %L72, !dbg !924 | |
L.preheader: ; preds = %top | |
%12 = getelementptr inbounds %jl_value_t* %0, i64 1, i32 0, !dbg !925 | |
%13 = getelementptr inbounds %jl_value_t* %4, i64 1, i32 0, !dbg !925 | |
%14 = add i64 %2, -1, !dbg !926 | |
br label %L, !dbg !927 | |
L: ; preds = %L.preheader, %L69 | |
%lo.0 = phi i64 [ %332, %L69 ], [ %1, %L.preheader ] | |
%15 = sub i64 %2, %lo.0, !dbg !927 | |
%16 = icmp sgt i64 %15, 20, !dbg !927 | |
br i1 %16, label %L2, label %if1, !dbg !927 | |
if1: ; preds = %L | |
%17 = load %jl_value_t** inttoptr (i64 17946240 to %jl_value_t**), align 128, !dbg !927 | |
%18 = call %jl_value_t* @"julia_sort!;18848"(%jl_value_t* %0, i64 %lo.0, i64 %2, %jl_value_t* %17, %jl_value_t* %4), !dbg !927 | |
%19 = load %jl_value_t** %7, align 8, !dbg !927 | |
%20 = getelementptr inbounds %jl_value_t* %19, i64 0, i32 0, !dbg !927 | |
store %jl_value_t** %20, %jl_value_t*** @jl_pgcstack, align 8, !dbg !927 | |
ret %jl_value_t* %18, !dbg !927 | |
L2: ; preds = %L | |
%21 = load %jl_value_t** %13, align 8, !dbg !925 | |
%22 = icmp eq %jl_value_t* %21, null, !dbg !925 | |
br i1 %22, label %fail, label %pass, !dbg !925 | |
if3: ; preds = %pass7 | |
%23 = load %jl_value_t** %12, align 8, !dbg !928, !tbaa %jtbaa_arrayptr | |
%24 = getelementptr %jl_value_t* %23, i64 %35, !dbg !928 | |
%25 = bitcast %jl_value_t* %24 to double*, !dbg !928 | |
%26 = load double* %25, align 8, !dbg !928, !tbaa %jtbaa_user | |
%27 = getelementptr %jl_value_t* %23, i64 %41, !dbg !928 | |
%28 = bitcast %jl_value_t* %27 to double*, !dbg !928 | |
%29 = load double* %28, align 8, !dbg !928, !tbaa %jtbaa_user | |
store double %26, double* %28, align 8, !dbg !928, !tbaa %jtbaa_user | |
%30 = load %jl_value_t** %12, align 8, !dbg !928, !tbaa %jtbaa_arrayptr | |
%31 = getelementptr %jl_value_t* %30, i64 %35, !dbg !928 | |
%32 = bitcast %jl_value_t* %31 to double*, !dbg !928 | |
store double %29, double* %32, align 8, !dbg !928, !tbaa %jtbaa_user | |
br label %L8, !dbg !928 | |
fail: ; preds = %L2 | |
%33 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !925, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %33, i32 249), !dbg !925 | |
unreachable, !dbg !925 | |
pass: ; preds = %L2 | |
%34 = load %jl_value_t** %12, align 8, !dbg !925, !tbaa %jtbaa_arrayptr | |
%35 = add i64 %lo.0, -1, !dbg !925 | |
%36 = getelementptr %jl_value_t* %34, i64 %35, !dbg !925 | |
%37 = bitcast %jl_value_t* %36 to double*, !dbg !925 | |
%38 = load double* %37, align 8, !dbg !925, !tbaa %jtbaa_user | |
%39 = add i64 %lo.0, %2, !dbg !935 | |
%40 = lshr i64 %39, 1, !dbg !935 | |
%41 = add i64 %40, -1, !dbg !925 | |
%42 = getelementptr %jl_value_t* %34, i64 %41, !dbg !925 | |
%43 = bitcast %jl_value_t* %42 to double*, !dbg !925 | |
%44 = load double* %43, align 8, !dbg !925, !tbaa %jtbaa_user | |
store %jl_value_t* %21, %jl_value_t** %6, align 8, !dbg !925 | |
%45 = getelementptr inbounds %jl_value_t* %21, i64 1, i32 0, !dbg !925 | |
%46 = load %jl_value_t** %45, align 8, !dbg !925, !tbaa %jtbaa_func | |
%47 = bitcast %jl_value_t* %46 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !925 | |
%48 = call %jl_value_t* @alloc_2w(), !dbg !925 | |
%49 = getelementptr inbounds %jl_value_t* %48, i64 0, i32 0, !dbg !925 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %49, align 8, !dbg !925 | |
%50 = getelementptr inbounds %jl_value_t* %48, i64 1, i32 0, !dbg !925 | |
%51 = bitcast %jl_value_t** %50 to double*, !dbg !925 | |
store double %44, double* %51, align 8, !dbg !925 | |
store %jl_value_t* %48, %jl_value_t** %9, align 8, !dbg !925 | |
%52 = call %jl_value_t* %47(%jl_value_t* %21, %jl_value_t** %9, i32 1), !dbg !925 | |
store %jl_value_t* %52, %jl_value_t** %6, align 8, !dbg !925 | |
%53 = load %jl_value_t** %13, align 8, !dbg !925 | |
%54 = icmp eq %jl_value_t* %53, null, !dbg !925 | |
br i1 %54, label %fail4, label %pass5, !dbg !925 | |
fail4: ; preds = %pass | |
%55 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !925, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %55, i32 249), !dbg !925 | |
unreachable, !dbg !925 | |
pass5: ; preds = %pass | |
store %jl_value_t* %53, %jl_value_t** %9, align 8, !dbg !925 | |
%56 = getelementptr inbounds %jl_value_t* %53, i64 1, i32 0, !dbg !925 | |
%57 = load %jl_value_t** %56, align 8, !dbg !925, !tbaa %jtbaa_func | |
%58 = bitcast %jl_value_t* %57 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !925 | |
%59 = call %jl_value_t* @alloc_2w(), !dbg !925 | |
%60 = getelementptr inbounds %jl_value_t* %59, i64 0, i32 0, !dbg !925 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %60, align 8, !dbg !925 | |
%61 = getelementptr inbounds %jl_value_t* %59, i64 1, i32 0, !dbg !925 | |
%62 = bitcast %jl_value_t** %61 to double*, !dbg !925 | |
store double %38, double* %62, align 8, !dbg !925 | |
store %jl_value_t* %59, %jl_value_t** %10, align 8, !dbg !925 | |
%63 = call %jl_value_t* %58(%jl_value_t* %53, %jl_value_t** %10, i32 1), !dbg !925 | |
store %jl_value_t* %63, %jl_value_t** %9, align 8, !dbg !925 | |
%64 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !925 | |
%65 = getelementptr inbounds %jl_value_t* %64, i64 0, i32 0, !dbg !925 | |
%66 = load %jl_value_t** %65, align 8, !dbg !925 | |
%67 = icmp eq %jl_value_t* %66, inttoptr (i64 16355872 to %jl_value_t*), !dbg !925 | |
br i1 %67, label %pass7, label %fail6, !dbg !925 | |
fail6: ; preds = %pass5 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %64), !dbg !925 | |
unreachable | |
pass7: ; preds = %pass5 | |
%68 = icmp eq %jl_value_t* %64, inttoptr (i64 16449232 to %jl_value_t*), !dbg !925 | |
br i1 %68, label %L8, label %if3, !dbg !925 | |
L8: ; preds = %if3, %pass7 | |
%69 = load %jl_value_t** %13, align 8, !dbg !926 | |
%70 = icmp eq %jl_value_t* %69, null, !dbg !926 | |
br i1 %70, label %fail10, label %pass11, !dbg !926 | |
if9: ; preds = %pass15 | |
%71 = load %jl_value_t** %12, align 8, !dbg !937, !tbaa %jtbaa_arrayptr | |
%72 = getelementptr %jl_value_t* %71, i64 %41, !dbg !937 | |
%73 = bitcast %jl_value_t* %72 to double*, !dbg !937 | |
%74 = load double* %73, align 8, !dbg !937, !tbaa %jtbaa_user | |
%75 = getelementptr %jl_value_t* %71, i64 %14, !dbg !937 | |
%76 = bitcast %jl_value_t* %75 to double*, !dbg !937 | |
%77 = load double* %76, align 8, !dbg !937, !tbaa %jtbaa_user | |
store double %74, double* %76, align 8, !dbg !937, !tbaa %jtbaa_user | |
%78 = load %jl_value_t** %12, align 8, !dbg !937, !tbaa %jtbaa_arrayptr | |
%79 = getelementptr %jl_value_t* %78, i64 %41, !dbg !937 | |
%80 = bitcast %jl_value_t* %79 to double*, !dbg !937 | |
store double %77, double* %80, align 8, !dbg !937, !tbaa %jtbaa_user | |
br label %L16, !dbg !937 | |
fail10: ; preds = %L8 | |
%81 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !926, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %81, i32 252), !dbg !926 | |
unreachable, !dbg !926 | |
pass11: ; preds = %L8 | |
%82 = load %jl_value_t** %12, align 8, !dbg !926, !tbaa %jtbaa_arrayptr | |
%83 = getelementptr %jl_value_t* %82, i64 %41, !dbg !926 | |
%84 = bitcast %jl_value_t* %83 to double*, !dbg !926 | |
%85 = load double* %84, align 8, !dbg !926, !tbaa %jtbaa_user | |
%86 = getelementptr %jl_value_t* %82, i64 %14, !dbg !926 | |
%87 = bitcast %jl_value_t* %86 to double*, !dbg !926 | |
%88 = load double* %87, align 8, !dbg !926, !tbaa %jtbaa_user | |
store %jl_value_t* %69, %jl_value_t** %6, align 8, !dbg !926 | |
%89 = getelementptr inbounds %jl_value_t* %69, i64 1, i32 0, !dbg !926 | |
%90 = load %jl_value_t** %89, align 8, !dbg !926, !tbaa %jtbaa_func | |
%91 = bitcast %jl_value_t* %90 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !926 | |
%92 = call %jl_value_t* @alloc_2w(), !dbg !926 | |
%93 = getelementptr inbounds %jl_value_t* %92, i64 0, i32 0, !dbg !926 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %93, align 8, !dbg !926 | |
%94 = getelementptr inbounds %jl_value_t* %92, i64 1, i32 0, !dbg !926 | |
%95 = bitcast %jl_value_t** %94 to double*, !dbg !926 | |
store double %88, double* %95, align 8, !dbg !926 | |
store %jl_value_t* %92, %jl_value_t** %9, align 8, !dbg !926 | |
%96 = call %jl_value_t* %91(%jl_value_t* %69, %jl_value_t** %9, i32 1), !dbg !926 | |
store %jl_value_t* %96, %jl_value_t** %6, align 8, !dbg !926 | |
%97 = load %jl_value_t** %13, align 8, !dbg !926 | |
%98 = icmp eq %jl_value_t* %97, null, !dbg !926 | |
br i1 %98, label %fail12, label %pass13, !dbg !926 | |
fail12: ; preds = %pass11 | |
%99 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !926, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %99, i32 252), !dbg !926 | |
unreachable, !dbg !926 | |
pass13: ; preds = %pass11 | |
store %jl_value_t* %97, %jl_value_t** %9, align 8, !dbg !926 | |
%100 = getelementptr inbounds %jl_value_t* %97, i64 1, i32 0, !dbg !926 | |
%101 = load %jl_value_t** %100, align 8, !dbg !926, !tbaa %jtbaa_func | |
%102 = bitcast %jl_value_t* %101 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !926 | |
%103 = call %jl_value_t* @alloc_2w(), !dbg !926 | |
%104 = getelementptr inbounds %jl_value_t* %103, i64 0, i32 0, !dbg !926 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %104, align 8, !dbg !926 | |
%105 = getelementptr inbounds %jl_value_t* %103, i64 1, i32 0, !dbg !926 | |
%106 = bitcast %jl_value_t** %105 to double*, !dbg !926 | |
store double %85, double* %106, align 8, !dbg !926 | |
store %jl_value_t* %103, %jl_value_t** %10, align 8, !dbg !926 | |
%107 = call %jl_value_t* %102(%jl_value_t* %97, %jl_value_t** %10, i32 1), !dbg !926 | |
store %jl_value_t* %107, %jl_value_t** %9, align 8, !dbg !926 | |
%108 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !926 | |
%109 = getelementptr inbounds %jl_value_t* %108, i64 0, i32 0, !dbg !926 | |
%110 = load %jl_value_t** %109, align 8, !dbg !926 | |
%111 = icmp eq %jl_value_t* %110, inttoptr (i64 16355872 to %jl_value_t*), !dbg !926 | |
br i1 %111, label %pass15, label %fail14, !dbg !926 | |
fail14: ; preds = %pass13 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %108), !dbg !926 | |
unreachable | |
pass15: ; preds = %pass13 | |
%112 = icmp eq %jl_value_t* %108, inttoptr (i64 16449232 to %jl_value_t*), !dbg !926 | |
br i1 %112, label %L16, label %if9, !dbg !926 | |
L16: ; preds = %if9, %pass15 | |
%113 = load %jl_value_t** %13, align 8, !dbg !938 | |
%114 = icmp eq %jl_value_t* %113, null, !dbg !938 | |
br i1 %114, label %fail18, label %pass19, !dbg !938 | |
if17: ; preds = %pass23 | |
%115 = load %jl_value_t** %12, align 8, !dbg !939, !tbaa %jtbaa_arrayptr | |
%116 = getelementptr %jl_value_t* %115, i64 %35, !dbg !939 | |
%117 = bitcast %jl_value_t* %116 to double*, !dbg !939 | |
%118 = load double* %117, align 8, !dbg !939, !tbaa %jtbaa_user | |
%119 = getelementptr %jl_value_t* %115, i64 %41, !dbg !939 | |
%120 = bitcast %jl_value_t* %119 to double*, !dbg !939 | |
%121 = load double* %120, align 8, !dbg !939, !tbaa %jtbaa_user | |
store double %118, double* %120, align 8, !dbg !939, !tbaa %jtbaa_user | |
%122 = load %jl_value_t** %12, align 8, !dbg !939, !tbaa %jtbaa_arrayptr | |
%123 = getelementptr %jl_value_t* %122, i64 %35, !dbg !939 | |
%124 = bitcast %jl_value_t* %123 to double*, !dbg !939 | |
store double %121, double* %124, align 8, !dbg !939, !tbaa %jtbaa_user | |
br label %L24, !dbg !939 | |
fail18: ; preds = %L16 | |
%125 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !938, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %125, i32 255), !dbg !938 | |
unreachable, !dbg !938 | |
pass19: ; preds = %L16 | |
%126 = load %jl_value_t** %12, align 8, !dbg !938, !tbaa %jtbaa_arrayptr | |
%127 = getelementptr %jl_value_t* %126, i64 %35, !dbg !938 | |
%128 = bitcast %jl_value_t* %127 to double*, !dbg !938 | |
%129 = load double* %128, align 8, !dbg !938, !tbaa %jtbaa_user | |
%130 = getelementptr %jl_value_t* %126, i64 %41, !dbg !938 | |
%131 = bitcast %jl_value_t* %130 to double*, !dbg !938 | |
%132 = load double* %131, align 8, !dbg !938, !tbaa %jtbaa_user | |
store %jl_value_t* %113, %jl_value_t** %6, align 8, !dbg !938 | |
%133 = getelementptr inbounds %jl_value_t* %113, i64 1, i32 0, !dbg !938 | |
%134 = load %jl_value_t** %133, align 8, !dbg !938, !tbaa %jtbaa_func | |
%135 = bitcast %jl_value_t* %134 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !938 | |
%136 = call %jl_value_t* @alloc_2w(), !dbg !938 | |
%137 = getelementptr inbounds %jl_value_t* %136, i64 0, i32 0, !dbg !938 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %137, align 8, !dbg !938 | |
%138 = getelementptr inbounds %jl_value_t* %136, i64 1, i32 0, !dbg !938 | |
%139 = bitcast %jl_value_t** %138 to double*, !dbg !938 | |
store double %132, double* %139, align 8, !dbg !938 | |
store %jl_value_t* %136, %jl_value_t** %9, align 8, !dbg !938 | |
%140 = call %jl_value_t* %135(%jl_value_t* %113, %jl_value_t** %9, i32 1), !dbg !938 | |
store %jl_value_t* %140, %jl_value_t** %6, align 8, !dbg !938 | |
%141 = load %jl_value_t** %13, align 8, !dbg !938 | |
%142 = icmp eq %jl_value_t* %141, null, !dbg !938 | |
br i1 %142, label %fail20, label %pass21, !dbg !938 | |
fail20: ; preds = %pass19 | |
%143 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !938, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %143, i32 255), !dbg !938 | |
unreachable, !dbg !938 | |
pass21: ; preds = %pass19 | |
store %jl_value_t* %141, %jl_value_t** %9, align 8, !dbg !938 | |
%144 = getelementptr inbounds %jl_value_t* %141, i64 1, i32 0, !dbg !938 | |
%145 = load %jl_value_t** %144, align 8, !dbg !938, !tbaa %jtbaa_func | |
%146 = bitcast %jl_value_t* %145 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !938 | |
%147 = call %jl_value_t* @alloc_2w(), !dbg !938 | |
%148 = getelementptr inbounds %jl_value_t* %147, i64 0, i32 0, !dbg !938 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %148, align 8, !dbg !938 | |
%149 = getelementptr inbounds %jl_value_t* %147, i64 1, i32 0, !dbg !938 | |
%150 = bitcast %jl_value_t** %149 to double*, !dbg !938 | |
store double %129, double* %150, align 8, !dbg !938 | |
store %jl_value_t* %147, %jl_value_t** %10, align 8, !dbg !938 | |
%151 = call %jl_value_t* %146(%jl_value_t* %141, %jl_value_t** %10, i32 1), !dbg !938 | |
store %jl_value_t* %151, %jl_value_t** %9, align 8, !dbg !938 | |
%152 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !938 | |
%153 = getelementptr inbounds %jl_value_t* %152, i64 0, i32 0, !dbg !938 | |
%154 = load %jl_value_t** %153, align 8, !dbg !938 | |
%155 = icmp eq %jl_value_t* %154, inttoptr (i64 16355872 to %jl_value_t*), !dbg !938 | |
br i1 %155, label %pass23, label %fail22, !dbg !938 | |
fail22: ; preds = %pass21 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %152), !dbg !938 | |
unreachable | |
pass23: ; preds = %pass21 | |
%156 = icmp eq %jl_value_t* %152, inttoptr (i64 16449232 to %jl_value_t*), !dbg !938 | |
br i1 %156, label %L24, label %if17, !dbg !938 | |
L24: ; preds = %if17, %pass23 | |
%157 = load %jl_value_t** %12, align 8, !dbg !940, !tbaa %jtbaa_arrayptr | |
%158 = getelementptr %jl_value_t* %157, i64 %35, !dbg !940 | |
%159 = bitcast %jl_value_t* %158 to double*, !dbg !940 | |
%160 = load double* %159, align 8, !dbg !940, !tbaa %jtbaa_user | |
%161 = getelementptr %jl_value_t* %157, i64 %41, !dbg !940 | |
%162 = bitcast %jl_value_t* %161 to double*, !dbg !940 | |
%163 = load double* %162, align 8, !dbg !940, !tbaa %jtbaa_user | |
store double %160, double* %162, align 8, !dbg !940, !tbaa %jtbaa_user | |
%164 = load %jl_value_t** %12, align 8, !dbg !940, !tbaa %jtbaa_arrayptr | |
%165 = getelementptr %jl_value_t* %164, i64 %35, !dbg !940 | |
%166 = bitcast %jl_value_t* %165 to double*, !dbg !940 | |
store double %163, double* %166, align 8, !dbg !940, !tbaa %jtbaa_user | |
%167 = load %jl_value_t** %13, align 8, !dbg !941 | |
%168 = icmp eq %jl_value_t* %167, null, !dbg !941 | |
br i1 %168, label %fail28, label %pass29.lr.ph, !dbg !941 | |
pass29.lr.ph: ; preds = %L24 | |
%169 = load %jl_value_t** %12, align 8, !dbg !942, !tbaa %jtbaa_arrayptr | |
%170 = getelementptr %jl_value_t* %169, i64 %35, !dbg !942 | |
%171 = bitcast %jl_value_t* %170 to double*, !dbg !942 | |
%172 = load double* %171, align 8, !dbg !942, !tbaa %jtbaa_user | |
br label %pass29, !dbg !941 | |
fail28: ; preds = %L24, %L63 | |
%173 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !941, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %173, i32 263), !dbg !941 | |
unreachable, !dbg !941 | |
pass29: ; preds = %pass29.lr.ph, %L63 | |
%174 = phi %jl_value_t* [ %167, %pass29.lr.ph ], [ %317, %L63 ] | |
%.in = phi i64 [ %2, %pass29.lr.ph ], [ %j.2, %L63 ] | |
%.in174 = phi i64 [ %lo.0, %pass29.lr.ph ], [ %i.2, %L63 ] | |
%j.0173 = phi i64 [ %2, %pass29.lr.ph ], [ %j.2, %L63 ] | |
%i.0172 = phi i64 [ %lo.0, %pass29.lr.ph ], [ %i.2, %L63 ] | |
%175 = load %jl_value_t** %12, align 8, !dbg !941, !tbaa %jtbaa_arrayptr | |
%176 = getelementptr %jl_value_t* %175, i64 %i.0172, !dbg !941 | |
%177 = bitcast %jl_value_t* %176 to double*, !dbg !941 | |
%178 = load double* %177, align 8, !dbg !941, !tbaa %jtbaa_user | |
store %jl_value_t* %174, %jl_value_t** %6, align 8, !dbg !941 | |
%179 = getelementptr inbounds %jl_value_t* %174, i64 1, i32 0, !dbg !941 | |
%180 = load %jl_value_t** %179, align 8, !dbg !941, !tbaa %jtbaa_func | |
%181 = bitcast %jl_value_t* %180 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !941 | |
%182 = call %jl_value_t* @alloc_2w(), !dbg !941 | |
%183 = getelementptr inbounds %jl_value_t* %182, i64 0, i32 0, !dbg !941 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %183, align 8, !dbg !941 | |
%184 = getelementptr inbounds %jl_value_t* %182, i64 1, i32 0, !dbg !941 | |
%185 = bitcast %jl_value_t** %184 to double*, !dbg !941 | |
store double %178, double* %185, align 8, !dbg !941 | |
store %jl_value_t* %182, %jl_value_t** %9, align 8, !dbg !941 | |
%186 = call %jl_value_t* %181(%jl_value_t* %174, %jl_value_t** %9, i32 1), !dbg !941 | |
store %jl_value_t* %186, %jl_value_t** %6, align 8, !dbg !941 | |
%187 = load %jl_value_t** %13, align 8, !dbg !941 | |
%188 = icmp eq %jl_value_t* %187, null, !dbg !941 | |
br i1 %188, label %fail30, label %pass31, !dbg !941 | |
fail30: ; preds = %pass29 | |
%189 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !941, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %189, i32 263), !dbg !941 | |
unreachable, !dbg !941 | |
pass31: ; preds = %pass29 | |
store %jl_value_t* %187, %jl_value_t** %9, align 8, !dbg !941 | |
%190 = getelementptr inbounds %jl_value_t* %187, i64 1, i32 0, !dbg !941 | |
%191 = load %jl_value_t** %190, align 8, !dbg !941, !tbaa %jtbaa_func | |
%192 = bitcast %jl_value_t* %191 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !941 | |
%193 = call %jl_value_t* @alloc_2w(), !dbg !941 | |
%194 = getelementptr inbounds %jl_value_t* %193, i64 0, i32 0, !dbg !941 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %194, align 8, !dbg !941 | |
%195 = getelementptr inbounds %jl_value_t* %193, i64 1, i32 0, !dbg !941 | |
%196 = bitcast %jl_value_t** %195 to double*, !dbg !941 | |
store double %172, double* %196, align 8, !dbg !941 | |
store %jl_value_t* %193, %jl_value_t** %10, align 8, !dbg !941 | |
%197 = call %jl_value_t* %192(%jl_value_t* %187, %jl_value_t** %10, i32 1), !dbg !941 | |
store %jl_value_t* %197, %jl_value_t** %9, align 8, !dbg !941 | |
%198 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !941 | |
%199 = getelementptr inbounds %jl_value_t* %198, i64 0, i32 0, !dbg !941 | |
%200 = load %jl_value_t** %199, align 8, !dbg !941 | |
%201 = icmp eq %jl_value_t* %200, inttoptr (i64 16355872 to %jl_value_t*), !dbg !941 | |
br i1 %201, label %pass33, label %fail32, !dbg !941 | |
fail32: ; preds = %pass31 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %198), !dbg !941 | |
unreachable | |
pass33: ; preds = %pass31 | |
%202 = add i64 %.in174, 1, !dbg !943 | |
%203 = icmp eq %jl_value_t* %198, inttoptr (i64 16449232 to %jl_value_t*), !dbg !941 | |
br i1 %203, label %L43, label %L34, !dbg !941 | |
L34: ; preds = %pass33, %pass42 | |
%i.1 = phi i64 [ %235, %pass42 ], [ %202, %pass33 ] | |
%204 = load %jl_value_t** %13, align 8, !dbg !941 | |
%205 = icmp eq %jl_value_t* %204, null, !dbg !941 | |
br i1 %205, label %fail37, label %pass38, !dbg !941 | |
fail37: ; preds = %L34 | |
%206 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !941, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %206, i32 263), !dbg !941 | |
unreachable, !dbg !941 | |
pass38: ; preds = %L34 | |
%207 = load %jl_value_t** %12, align 8, !dbg !941, !tbaa %jtbaa_arrayptr | |
%208 = getelementptr %jl_value_t* %207, i64 %i.1, !dbg !941 | |
%209 = bitcast %jl_value_t* %208 to double*, !dbg !941 | |
%210 = load double* %209, align 8, !dbg !941, !tbaa %jtbaa_user | |
store %jl_value_t* %204, %jl_value_t** %6, align 8, !dbg !941 | |
%211 = getelementptr inbounds %jl_value_t* %204, i64 1, i32 0, !dbg !941 | |
%212 = load %jl_value_t** %211, align 8, !dbg !941, !tbaa %jtbaa_func | |
%213 = bitcast %jl_value_t* %212 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !941 | |
%214 = call %jl_value_t* @alloc_2w(), !dbg !941 | |
%215 = getelementptr inbounds %jl_value_t* %214, i64 0, i32 0, !dbg !941 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %215, align 8, !dbg !941 | |
%216 = getelementptr inbounds %jl_value_t* %214, i64 1, i32 0, !dbg !941 | |
%217 = bitcast %jl_value_t** %216 to double*, !dbg !941 | |
store double %210, double* %217, align 8, !dbg !941 | |
store %jl_value_t* %214, %jl_value_t** %9, align 8, !dbg !941 | |
%218 = call %jl_value_t* %213(%jl_value_t* %204, %jl_value_t** %9, i32 1), !dbg !941 | |
store %jl_value_t* %218, %jl_value_t** %6, align 8, !dbg !941 | |
%219 = load %jl_value_t** %13, align 8, !dbg !941 | |
%220 = icmp eq %jl_value_t* %219, null, !dbg !941 | |
br i1 %220, label %fail39, label %pass40, !dbg !941 | |
fail39: ; preds = %pass38 | |
%221 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !941, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %221, i32 263), !dbg !941 | |
unreachable, !dbg !941 | |
pass40: ; preds = %pass38 | |
store %jl_value_t* %219, %jl_value_t** %9, align 8, !dbg !941 | |
%222 = getelementptr inbounds %jl_value_t* %219, i64 1, i32 0, !dbg !941 | |
%223 = load %jl_value_t** %222, align 8, !dbg !941, !tbaa %jtbaa_func | |
%224 = bitcast %jl_value_t* %223 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !941 | |
%225 = call %jl_value_t* @alloc_2w(), !dbg !941 | |
%226 = getelementptr inbounds %jl_value_t* %225, i64 0, i32 0, !dbg !941 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %226, align 8, !dbg !941 | |
%227 = getelementptr inbounds %jl_value_t* %225, i64 1, i32 0, !dbg !941 | |
%228 = bitcast %jl_value_t** %227 to double*, !dbg !941 | |
store double %172, double* %228, align 8, !dbg !941 | |
store %jl_value_t* %225, %jl_value_t** %10, align 8, !dbg !941 | |
%229 = call %jl_value_t* %224(%jl_value_t* %219, %jl_value_t** %10, i32 1), !dbg !941 | |
store %jl_value_t* %229, %jl_value_t** %9, align 8, !dbg !941 | |
%230 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !941 | |
store %jl_value_t* %230, %jl_value_t** %6, align 8, !dbg !941 | |
%231 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 35355776 to %jl_value_t*), %jl_value_t** %6, i32 1), !dbg !941 | |
%232 = getelementptr inbounds %jl_value_t* %231, i64 0, i32 0, !dbg !941 | |
%233 = load %jl_value_t** %232, align 8, !dbg !941 | |
%234 = icmp eq %jl_value_t* %233, inttoptr (i64 16355872 to %jl_value_t*), !dbg !941 | |
br i1 %234, label %pass42, label %fail41, !dbg !941 | |
fail41: ; preds = %pass40 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %231), !dbg !941 | |
unreachable | |
pass42: ; preds = %pass40 | |
%235 = add i64 %i.1, 1, !dbg !941 | |
%236 = icmp eq %jl_value_t* %231, inttoptr (i64 16449232 to %jl_value_t*), !dbg !941 | |
br i1 %236, label %L34, label %L43, !dbg !941 | |
L43: ; preds = %pass42, %pass33 | |
%i.2 = phi i64 [ %202, %pass33 ], [ %235, %pass42 ] | |
%237 = load %jl_value_t** %13, align 8, !dbg !944 | |
%238 = icmp eq %jl_value_t* %237, null, !dbg !944 | |
br i1 %238, label %fail45, label %pass46, !dbg !944 | |
fail45: ; preds = %L43 | |
%239 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !944, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %239, i32 264), !dbg !944 | |
unreachable, !dbg !944 | |
pass46: ; preds = %L43 | |
%240 = add i64 %j.0173, -2, !dbg !944 | |
%241 = load %jl_value_t** %12, align 8, !dbg !944, !tbaa %jtbaa_arrayptr | |
%242 = getelementptr %jl_value_t* %241, i64 %240, !dbg !944 | |
%243 = bitcast %jl_value_t* %242 to double*, !dbg !944 | |
%244 = load double* %243, align 8, !dbg !944, !tbaa %jtbaa_user | |
store %jl_value_t* %237, %jl_value_t** %6, align 8, !dbg !944 | |
%245 = getelementptr inbounds %jl_value_t* %237, i64 1, i32 0, !dbg !944 | |
%246 = load %jl_value_t** %245, align 8, !dbg !944, !tbaa %jtbaa_func | |
%247 = bitcast %jl_value_t* %246 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !944 | |
%248 = call %jl_value_t* @alloc_2w(), !dbg !944 | |
%249 = getelementptr inbounds %jl_value_t* %248, i64 0, i32 0, !dbg !944 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %249, align 8, !dbg !944 | |
%250 = getelementptr inbounds %jl_value_t* %248, i64 1, i32 0, !dbg !944 | |
%251 = bitcast %jl_value_t** %250 to double*, !dbg !944 | |
store double %172, double* %251, align 8, !dbg !944 | |
store %jl_value_t* %248, %jl_value_t** %9, align 8, !dbg !944 | |
%252 = call %jl_value_t* %247(%jl_value_t* %237, %jl_value_t** %9, i32 1), !dbg !944 | |
store %jl_value_t* %252, %jl_value_t** %6, align 8, !dbg !944 | |
%253 = load %jl_value_t** %13, align 8, !dbg !944 | |
%254 = icmp eq %jl_value_t* %253, null, !dbg !944 | |
br i1 %254, label %fail47, label %pass48, !dbg !944 | |
fail47: ; preds = %pass46 | |
%255 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !944, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %255, i32 264), !dbg !944 | |
unreachable, !dbg !944 | |
pass48: ; preds = %pass46 | |
store %jl_value_t* %253, %jl_value_t** %9, align 8, !dbg !944 | |
%256 = getelementptr inbounds %jl_value_t* %253, i64 1, i32 0, !dbg !944 | |
%257 = load %jl_value_t** %256, align 8, !dbg !944, !tbaa %jtbaa_func | |
%258 = bitcast %jl_value_t* %257 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !944 | |
%259 = call %jl_value_t* @alloc_2w(), !dbg !944 | |
%260 = getelementptr inbounds %jl_value_t* %259, i64 0, i32 0, !dbg !944 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %260, align 8, !dbg !944 | |
%261 = getelementptr inbounds %jl_value_t* %259, i64 1, i32 0, !dbg !944 | |
%262 = bitcast %jl_value_t** %261 to double*, !dbg !944 | |
store double %244, double* %262, align 8, !dbg !944 | |
store %jl_value_t* %259, %jl_value_t** %10, align 8, !dbg !944 | |
%263 = call %jl_value_t* %258(%jl_value_t* %253, %jl_value_t** %10, i32 1), !dbg !944 | |
store %jl_value_t* %263, %jl_value_t** %9, align 8, !dbg !944 | |
%264 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !944 | |
%265 = getelementptr inbounds %jl_value_t* %264, i64 0, i32 0, !dbg !944 | |
%266 = load %jl_value_t** %265, align 8, !dbg !944 | |
%267 = icmp eq %jl_value_t* %266, inttoptr (i64 16355872 to %jl_value_t*), !dbg !944 | |
br i1 %267, label %pass50, label %fail49, !dbg !944 | |
fail49: ; preds = %pass48 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %264), !dbg !944 | |
unreachable | |
pass50: ; preds = %pass48 | |
%268 = add i64 %.in, -1, !dbg !943 | |
%269 = icmp eq %jl_value_t* %264, inttoptr (i64 16449232 to %jl_value_t*), !dbg !944 | |
br i1 %269, label %L60, label %L51, !dbg !944 | |
L51: ; preds = %pass50, %pass59 | |
%j.1 = phi i64 [ %302, %pass59 ], [ %268, %pass50 ] | |
%270 = load %jl_value_t** %13, align 8, !dbg !944 | |
%271 = icmp eq %jl_value_t* %270, null, !dbg !944 | |
br i1 %271, label %fail54, label %pass55, !dbg !944 | |
fail54: ; preds = %L51 | |
%272 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !944, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %272, i32 264), !dbg !944 | |
unreachable, !dbg !944 | |
pass55: ; preds = %L51 | |
%273 = add i64 %j.1, -2, !dbg !944 | |
%274 = load %jl_value_t** %12, align 8, !dbg !944, !tbaa %jtbaa_arrayptr | |
%275 = getelementptr %jl_value_t* %274, i64 %273, !dbg !944 | |
%276 = bitcast %jl_value_t* %275 to double*, !dbg !944 | |
%277 = load double* %276, align 8, !dbg !944, !tbaa %jtbaa_user | |
store %jl_value_t* %270, %jl_value_t** %6, align 8, !dbg !944 | |
%278 = getelementptr inbounds %jl_value_t* %270, i64 1, i32 0, !dbg !944 | |
%279 = load %jl_value_t** %278, align 8, !dbg !944, !tbaa %jtbaa_func | |
%280 = bitcast %jl_value_t* %279 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !944 | |
%281 = call %jl_value_t* @alloc_2w(), !dbg !944 | |
%282 = getelementptr inbounds %jl_value_t* %281, i64 0, i32 0, !dbg !944 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %282, align 8, !dbg !944 | |
%283 = getelementptr inbounds %jl_value_t* %281, i64 1, i32 0, !dbg !944 | |
%284 = bitcast %jl_value_t** %283 to double*, !dbg !944 | |
store double %172, double* %284, align 8, !dbg !944 | |
store %jl_value_t* %281, %jl_value_t** %9, align 8, !dbg !944 | |
%285 = call %jl_value_t* %280(%jl_value_t* %270, %jl_value_t** %9, i32 1), !dbg !944 | |
store %jl_value_t* %285, %jl_value_t** %6, align 8, !dbg !944 | |
%286 = load %jl_value_t** %13, align 8, !dbg !944 | |
%287 = icmp eq %jl_value_t* %286, null, !dbg !944 | |
br i1 %287, label %fail56, label %pass57, !dbg !944 | |
fail56: ; preds = %pass55 | |
%288 = load %jl_value_t** @jl_undefref_exception, align 8, !dbg !944, !tbaa %jtbaa_const | |
call void @jl_throw_with_superfluous_argument(%jl_value_t* %288, i32 264), !dbg !944 | |
unreachable, !dbg !944 | |
pass57: ; preds = %pass55 | |
store %jl_value_t* %286, %jl_value_t** %9, align 8, !dbg !944 | |
%289 = getelementptr inbounds %jl_value_t* %286, i64 1, i32 0, !dbg !944 | |
%290 = load %jl_value_t** %289, align 8, !dbg !944, !tbaa %jtbaa_func | |
%291 = bitcast %jl_value_t* %290 to %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*, !dbg !944 | |
%292 = call %jl_value_t* @alloc_2w(), !dbg !944 | |
%293 = getelementptr inbounds %jl_value_t* %292, i64 0, i32 0, !dbg !944 | |
store %jl_value_t* inttoptr (i64 16366064 to %jl_value_t*), %jl_value_t** %293, align 8, !dbg !944 | |
%294 = getelementptr inbounds %jl_value_t* %292, i64 1, i32 0, !dbg !944 | |
%295 = bitcast %jl_value_t** %294 to double*, !dbg !944 | |
store double %277, double* %295, align 8, !dbg !944 | |
store %jl_value_t* %292, %jl_value_t** %10, align 8, !dbg !944 | |
%296 = call %jl_value_t* %291(%jl_value_t* %286, %jl_value_t** %10, i32 1), !dbg !944 | |
store %jl_value_t* %296, %jl_value_t** %9, align 8, !dbg !944 | |
%297 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 29426160 to %jl_value_t*), %jl_value_t** %6, i32 2), !dbg !944 | |
store %jl_value_t* %297, %jl_value_t** %6, align 8, !dbg !944 | |
%298 = call %jl_value_t* @jl_apply_generic(%jl_value_t* inttoptr (i64 35355776 to %jl_value_t*), %jl_value_t** %6, i32 1), !dbg !944 | |
%299 = getelementptr inbounds %jl_value_t* %298, i64 0, i32 0, !dbg !944 | |
%300 = load %jl_value_t** %299, align 8, !dbg !944 | |
%301 = icmp eq %jl_value_t* %300, inttoptr (i64 16355872 to %jl_value_t*), !dbg !944 | |
br i1 %301, label %pass59, label %fail58, !dbg !944 | |
fail58: ; preds = %pass57 | |
call void @jl_type_error_rt(i8* getelementptr inbounds ([6 x i8]* @_j_str33, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @_j_str2, i64 0, i64 0), %jl_value_t* inttoptr (i64 16355872 to %jl_value_t*), %jl_value_t* %298), !dbg !944 | |
unreachable | |
pass59: ; preds = %pass57 | |
%302 = add i64 %j.1, -1, !dbg !944 | |
%303 = icmp eq %jl_value_t* %298, inttoptr (i64 16449232 to %jl_value_t*), !dbg !944 | |
br i1 %303, label %L51, label %L60, !dbg !944 | |
L60: ; preds = %pass59, %pass50 | |
%j.2 = phi i64 [ %268, %pass50 ], [ %302, %pass59 ] | |
%304 = icmp sgt i64 %j.2, %i.2, !dbg !945 | |
br i1 %304, label %L63, label %L66, !dbg !945 | |
L63: ; preds = %L60 | |
%305 = add i64 %j.2, -1, !dbg !946 | |
%306 = load %jl_value_t** %12, align 8, !dbg !946, !tbaa %jtbaa_arrayptr | |
%307 = getelementptr %jl_value_t* %306, i64 %305, !dbg !946 | |
%308 = bitcast %jl_value_t* %307 to double*, !dbg !946 | |
%309 = load double* %308, align 8, !dbg !946, !tbaa %jtbaa_user | |
%310 = add i64 %i.2, -1, !dbg !946 | |
%311 = getelementptr %jl_value_t* %306, i64 %310, !dbg !946 | |
%312 = bitcast %jl_value_t* %311 to double*, !dbg !946 | |
%313 = load double* %312, align 8, !dbg !946, !tbaa %jtbaa_user | |
store double %309, double* %312, align 8, !dbg !946, !tbaa %jtbaa_user | |
%314 = load %jl_value_t** %12, align 8, !dbg !946, !tbaa %jtbaa_arrayptr | |
%315 = getelementptr %jl_value_t* %314, i64 %305, !dbg !946 | |
%316 = bitcast %jl_value_t* %315 to double*, !dbg !946 | |
store double %313, double* %316, align 8, !dbg !946, !tbaa %jtbaa_user | |
%317 = load %jl_value_t** %13, align 8, !dbg !941 | |
%318 = icmp eq %jl_value_t* %317, null, !dbg !941 | |
br i1 %318, label %fail28, label %pass29, !dbg !941 | |
L66: ; preds = %L60 | |
%319 = load %jl_value_t** %12, align 8, !dbg !947, !tbaa %jtbaa_arrayptr | |
%320 = getelementptr %jl_value_t* %319, i64 %35, !dbg !947 | |
%321 = bitcast %jl_value_t* %320 to double*, !dbg !947 | |
%322 = load double* %321, align 8, !dbg !947, !tbaa %jtbaa_user | |
%323 = add i64 %j.2, -1, !dbg !947 | |
%324 = getelementptr %jl_value_t* %319, i64 %323, !dbg !947 | |
%325 = bitcast %jl_value_t* %324 to double*, !dbg !947 | |
%326 = load double* %325, align 8, !dbg !947, !tbaa %jtbaa_user | |
store double %322, double* %325, align 8, !dbg !947, !tbaa %jtbaa_user | |
%327 = load %jl_value_t** %12, align 8, !dbg !947, !tbaa %jtbaa_arrayptr | |
%328 = getelementptr %jl_value_t* %327, i64 %35, !dbg !947 | |
%329 = bitcast %jl_value_t* %328 to double*, !dbg !947 | |
store double %326, double* %329, align 8, !dbg !947, !tbaa %jtbaa_user | |
%330 = icmp slt i64 %lo.0, %323, !dbg !948 | |
br i1 %330, label %if67, label %L69, !dbg !948 | |
if67: ; preds = %L66 | |
%331 = call %jl_value_t* @"julia_sort!;18847"(%jl_value_t* %0, i64 %lo.0, i64 %323, %jl_value_t* %3, %jl_value_t* %4), !dbg !948 | |
br label %L69, !dbg !948 | |
L69: ; preds = %L66, %if67 | |
%332 = add i64 %j.2, 1, !dbg !949 | |
%333 = icmp slt i64 %332, %2, !dbg !949 | |
br i1 %333, label %L, label %L72, !dbg !949 | |
L72: ; preds = %L69, %top | |
%334 = load %jl_value_t** %7, align 8, !dbg !950 | |
%335 = getelementptr inbounds %jl_value_t* %334, i64 0, i32 0, !dbg !950 | |
store %jl_value_t** %335, %jl_value_t*** @jl_pgcstack, align 8, !dbg !950 | |
ret %jl_value_t* %0, !dbg !950 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
define %jl_value_t* @"julia_sort!;18879"(%jl_value_t*, i64, i64, %jl_value_t*, %jl_value_t*) { | |
top: | |
%5 = icmp slt i64 %1, %2, !dbg !1028 | |
br i1 %5, label %L.preheader, label %L32, !dbg !1028 | |
L.preheader: ; preds = %top | |
%6 = getelementptr inbounds %jl_value_t* %0, i64 1, i32 0, !dbg !1029 | |
%7 = add i64 %2, -1, !dbg !1030 | |
br label %L, !dbg !1031 | |
L: ; preds = %L.preheader, %L29 | |
%lo.0 = phi i64 [ %204, %L29 ], [ %1, %L.preheader ] | |
%8 = sub i64 %2, %lo.0, !dbg !1031 | |
%9 = icmp sgt i64 %8, 20, !dbg !1031 | |
br i1 %9, label %L2, label %if1, !dbg !1031 | |
if1: ; preds = %L | |
%10 = load %jl_value_t** inttoptr (i64 17946240 to %jl_value_t**), align 128, !dbg !1031 | |
%11 = call %jl_value_t* @"julia_sort!;18880"(%jl_value_t* %0, i64 %lo.0, i64 %2, %jl_value_t* %10, %jl_value_t* %4), !dbg !1031 | |
ret %jl_value_t* %11, !dbg !1031 | |
L2: ; preds = %L | |
%12 = add i64 %lo.0, %2, !dbg !1032 | |
%13 = lshr i64 %12, 1, !dbg !1032 | |
%14 = add i64 %13, -1, !dbg !1029 | |
%15 = load %jl_value_t** %6, align 8, !dbg !1029, !tbaa %jtbaa_arrayptr | |
%16 = getelementptr %jl_value_t* %15, i64 %14, !dbg !1029 | |
%17 = bitcast %jl_value_t* %16 to double*, !dbg !1029 | |
%18 = load double* %17, align 8, !dbg !1029, !tbaa %jtbaa_user | |
%19 = add i64 %lo.0, -1, !dbg !1029 | |
%20 = getelementptr %jl_value_t* %15, i64 %19, !dbg !1029 | |
%21 = bitcast %jl_value_t* %20 to double*, !dbg !1029 | |
%22 = load double* %21, align 8, !dbg !1029, !tbaa %jtbaa_user | |
%23 = bitcast double %18 to i64, !dbg !1029 | |
%24 = bitcast double %22 to i64, !dbg !1029 | |
%25 = icmp ugt i64 %23, %24, !dbg !1029 | |
%26 = icmp slt i64 %23, 0, !dbg !1029 | |
%27 = and i1 %26, %25, !dbg !1029 | |
%28 = icmp slt i64 %23, %24, !dbg !1029 | |
%29 = icmp sgt i64 %23, -1, !dbg !1029 | |
%30 = and i1 %29, %28, !dbg !1029 | |
%31 = or i1 %30, %27, !dbg !1029 | |
%32 = fcmp ord double %18, %22, !dbg !1029 | |
%33 = and i1 %32, %31, !dbg !1029 | |
%34 = fcmp uno double %22, 0.000000e+00, !dbg !1029 | |
%35 = fcmp ord double %18, 0.000000e+00, !dbg !1029 | |
%36 = and i1 %35, %34, !dbg !1029 | |
%37 = or i1 %36, %33, !dbg !1029 | |
br i1 %37, label %if3, label %L4, !dbg !1029 | |
if3: ; preds = %L2 | |
store double %22, double* %17, align 8, !dbg !1038, !tbaa %jtbaa_user | |
%38 = load %jl_value_t** %6, align 8, !dbg !1038, !tbaa %jtbaa_arrayptr | |
%39 = getelementptr %jl_value_t* %38, i64 %19, !dbg !1038 | |
%40 = bitcast %jl_value_t* %39 to double*, !dbg !1038 | |
store double %18, double* %40, align 8, !dbg !1038, !tbaa %jtbaa_user | |
br label %L4, !dbg !1038 | |
L4: ; preds = %L2, %if3 | |
%41 = load %jl_value_t** %6, align 8, !dbg !1030, !tbaa %jtbaa_arrayptr | |
%42 = getelementptr %jl_value_t* %41, i64 %7, !dbg !1030 | |
%43 = bitcast %jl_value_t* %42 to double*, !dbg !1030 | |
%44 = load double* %43, align 8, !dbg !1030, !tbaa %jtbaa_user | |
%45 = getelementptr %jl_value_t* %41, i64 %14, !dbg !1030 | |
%46 = bitcast %jl_value_t* %45 to double*, !dbg !1030 | |
%47 = load double* %46, align 8, !dbg !1030, !tbaa %jtbaa_user | |
%48 = bitcast double %44 to i64, !dbg !1030 | |
%49 = bitcast double %47 to i64, !dbg !1030 | |
%50 = icmp ugt i64 %48, %49, !dbg !1030 | |
%51 = icmp slt i64 %48, 0, !dbg !1030 | |
%52 = and i1 %51, %50, !dbg !1030 | |
%53 = icmp slt i64 %48, %49, !dbg !1030 | |
%54 = icmp sgt i64 %48, -1, !dbg !1030 | |
%55 = and i1 %54, %53, !dbg !1030 | |
%56 = or i1 %55, %52, !dbg !1030 | |
%57 = fcmp ord double %44, %47, !dbg !1030 | |
%58 = and i1 %57, %56, !dbg !1030 | |
%59 = fcmp uno double %47, 0.000000e+00, !dbg !1030 | |
%60 = fcmp ord double %44, 0.000000e+00, !dbg !1030 | |
%61 = and i1 %60, %59, !dbg !1030 | |
%62 = or i1 %61, %58, !dbg !1030 | |
br i1 %62, label %if5, label %L6, !dbg !1030 | |
if5: ; preds = %L4 | |
store double %47, double* %43, align 8, !dbg !1039, !tbaa %jtbaa_user | |
%63 = load %jl_value_t** %6, align 8, !dbg !1039, !tbaa %jtbaa_arrayptr | |
%64 = getelementptr %jl_value_t* %63, i64 %14, !dbg !1039 | |
%65 = bitcast %jl_value_t* %64 to double*, !dbg !1039 | |
store double %44, double* %65, align 8, !dbg !1039, !tbaa %jtbaa_user | |
br label %L6, !dbg !1039 | |
L6: ; preds = %L4, %if5 | |
%66 = load %jl_value_t** %6, align 8, !dbg !1040, !tbaa %jtbaa_arrayptr | |
%67 = getelementptr %jl_value_t* %66, i64 %14, !dbg !1040 | |
%68 = bitcast %jl_value_t* %67 to double*, !dbg !1040 | |
%69 = load double* %68, align 8, !dbg !1040, !tbaa %jtbaa_user | |
%70 = getelementptr %jl_value_t* %66, i64 %19, !dbg !1040 | |
%71 = bitcast %jl_value_t* %70 to double*, !dbg !1040 | |
%72 = load double* %71, align 8, !dbg !1040, !tbaa %jtbaa_user | |
%73 = bitcast double %69 to i64, !dbg !1040 | |
%74 = bitcast double %72 to i64, !dbg !1040 | |
%75 = icmp ugt i64 %73, %74, !dbg !1040 | |
%76 = icmp slt i64 %73, 0, !dbg !1040 | |
%77 = and i1 %76, %75, !dbg !1040 | |
%78 = icmp slt i64 %73, %74, !dbg !1040 | |
%79 = icmp sgt i64 %73, -1, !dbg !1040 | |
%80 = and i1 %79, %78, !dbg !1040 | |
%81 = or i1 %80, %77, !dbg !1040 | |
%82 = fcmp ord double %69, %72, !dbg !1040 | |
%83 = and i1 %82, %81, !dbg !1040 | |
%84 = fcmp uno double %72, 0.000000e+00, !dbg !1040 | |
%85 = fcmp ord double %69, 0.000000e+00, !dbg !1040 | |
%86 = and i1 %85, %84, !dbg !1040 | |
%87 = or i1 %86, %83, !dbg !1040 | |
br i1 %87, label %if7, label %L8, !dbg !1040 | |
if7: ; preds = %L6 | |
store double %72, double* %68, align 8, !dbg !1041, !tbaa %jtbaa_user | |
%88 = load %jl_value_t** %6, align 8, !dbg !1041, !tbaa %jtbaa_arrayptr | |
%89 = getelementptr %jl_value_t* %88, i64 %19, !dbg !1041 | |
%90 = bitcast %jl_value_t* %89 to double*, !dbg !1041 | |
store double %69, double* %90, align 8, !dbg !1041, !tbaa %jtbaa_user | |
br label %L8, !dbg !1041 | |
L8: ; preds = %L6, %if7 | |
%91 = load %jl_value_t** %6, align 8, !dbg !1042, !tbaa %jtbaa_arrayptr | |
%92 = getelementptr %jl_value_t* %91, i64 %19, !dbg !1042 | |
%93 = bitcast %jl_value_t* %92 to double*, !dbg !1042 | |
%94 = load double* %93, align 8, !dbg !1042, !tbaa %jtbaa_user | |
%95 = getelementptr %jl_value_t* %91, i64 %14, !dbg !1042 | |
%96 = bitcast %jl_value_t* %95 to double*, !dbg !1042 | |
%97 = load double* %96, align 8, !dbg !1042, !tbaa %jtbaa_user | |
store double %94, double* %96, align 8, !dbg !1042, !tbaa %jtbaa_user | |
%98 = load %jl_value_t** %6, align 8, !dbg !1042, !tbaa %jtbaa_arrayptr | |
%99 = getelementptr %jl_value_t* %98, i64 %19, !dbg !1042 | |
%100 = bitcast %jl_value_t* %99 to double*, !dbg !1042 | |
store double %97, double* %100, align 8, !dbg !1042, !tbaa %jtbaa_user | |
%101 = load %jl_value_t** %6, align 8, !dbg !1043, !tbaa %jtbaa_arrayptr | |
%102 = getelementptr %jl_value_t* %101, i64 %19, !dbg !1043 | |
%103 = bitcast %jl_value_t* %102 to double*, !dbg !1043 | |
%104 = load double* %103, align 8, !dbg !1043, !tbaa %jtbaa_user | |
%105 = bitcast double %104 to i64, !dbg !1044 | |
%106 = fcmp uno double %104, 0.000000e+00, !dbg !1044 | |
%107 = icmp slt i64 %105, 0, !dbg !1045 | |
%108 = icmp sgt i64 %105, -1, !dbg !1045 | |
%109 = fcmp ord double %104, 0.000000e+00, !dbg !1045 | |
br label %L10, !dbg !1046 | |
L10: ; preds = %L23, %L8 | |
%i.0 = phi i64 [ %lo.0, %L8 ], [ %i.2, %L23 ] | |
%j.0 = phi i64 [ %2, %L8 ], [ %j.2, %L23 ] | |
%110 = add i64 %i.0, 1, !dbg !1047 | |
%111 = getelementptr %jl_value_t* %101, i64 %i.0, !dbg !1044 | |
%112 = bitcast %jl_value_t* %111 to double*, !dbg !1044 | |
%113 = load double* %112, align 8, !dbg !1044, !tbaa %jtbaa_user | |
%114 = bitcast double %113 to i64, !dbg !1044 | |
%115 = icmp ugt i64 %114, %105, !dbg !1044 | |
%116 = icmp slt i64 %114, 0, !dbg !1044 | |
%117 = and i1 %116, %115, !dbg !1044 | |
%118 = icmp slt i64 %114, %105, !dbg !1044 | |
%119 = icmp sgt i64 %114, -1, !dbg !1044 | |
%120 = and i1 %119, %118, !dbg !1044 | |
%121 = or i1 %120, %117, !dbg !1044 | |
%122 = fcmp ord double %113, %104, !dbg !1044 | |
%123 = and i1 %122, %121, !dbg !1044 | |
%124 = fcmp ord double %113, 0.000000e+00, !dbg !1044 | |
%125 = and i1 %124, %106, !dbg !1044 | |
%126 = or i1 %125, %123, !dbg !1044 | |
br i1 %126, label %L12.preheader, label %L15, !dbg !1044 | |
L12.preheader: ; preds = %L10 | |
%127 = load %jl_value_t** %6, align 8, !dbg !1044, !tbaa %jtbaa_arrayptr | |
br label %L12, !dbg !1044 | |
L12: ; preds = %L12.preheader, %L12 | |
%i.1 = phi i64 [ %128, %L12 ], [ %110, %L12.preheader ] | |
%128 = add i64 %i.1, 1, !dbg !1044 | |
%129 = getelementptr %jl_value_t* %127, i64 %i.1, !dbg !1044 | |
%130 = bitcast %jl_value_t* %129 to double*, !dbg !1044 | |
%131 = load double* %130, align 8, !dbg !1044, !tbaa %jtbaa_user | |
%132 = bitcast double %131 to i64, !dbg !1044 | |
%133 = icmp ugt i64 %132, %105, !dbg !1044 | |
%134 = icmp slt i64 %132, 0, !dbg !1044 | |
%135 = and i1 %134, %133, !dbg !1044 | |
%136 = icmp slt i64 %132, %105, !dbg !1044 | |
%137 = icmp sgt i64 %132, -1, !dbg !1044 | |
%138 = and i1 %137, %136, !dbg !1044 | |
%139 = or i1 %138, %135, !dbg !1044 | |
%140 = fcmp ord double %131, %104, !dbg !1044 | |
%141 = and i1 %140, %139, !dbg !1044 | |
%142 = fcmp ord double %131, 0.000000e+00, !dbg !1044 | |
%143 = and i1 %142, %106, !dbg !1044 | |
%144 = or i1 %143, %141, !dbg !1044 | |
br i1 %144, label %L12, label %L15, !dbg !1044 | |
L15: ; preds = %L12, %L10 | |
%i.2 = phi i64 [ %110, %L10 ], [ %128, %L12 ] | |
%145 = add i64 %j.0, -1, !dbg !1047 | |
%146 = add i64 %j.0, -2, !dbg !1045 | |
%147 = getelementptr %jl_value_t* %101, i64 %146, !dbg !1045 | |
%148 = bitcast %jl_value_t* %147 to double*, !dbg !1045 | |
%149 = load double* %148, align 8, !dbg !1045, !tbaa %jtbaa_user | |
%150 = bitcast double %149 to i64, !dbg !1045 | |
%151 = icmp ugt i64 %105, %150, !dbg !1045 | |
%152 = and i1 %107, %151, !dbg !1045 | |
%153 = icmp slt i64 %105, %150, !dbg !1045 | |
%154 = and i1 %108, %153, !dbg !1045 | |
%155 = or i1 %154, %152, !dbg !1045 | |
%156 = fcmp ord double %104, %149, !dbg !1045 | |
%157 = and i1 %156, %155, !dbg !1045 | |
%158 = fcmp uno double %149, 0.000000e+00, !dbg !1045 | |
%159 = and i1 %109, %158, !dbg !1045 | |
%160 = or i1 %159, %157, !dbg !1045 | |
br i1 %160, label %L17.preheader, label %L20, !dbg !1045 | |
L17.preheader: ; preds = %L15 | |
%161 = load %jl_value_t** %6, align 8, !dbg !1045, !tbaa %jtbaa_arrayptr | |
br label %L17, !dbg !1045 | |
L17: ; preds = %L17.preheader, %L17 | |
%j.1 = phi i64 [ %162, %L17 ], [ %145, %L17.preheader ] | |
%162 = add i64 %j.1, -1, !dbg !1045 | |
%163 = add i64 %j.1, -2, !dbg !1045 | |
%164 = getelementptr %jl_value_t* %161, i64 %163, !dbg !1045 | |
%165 = bitcast %jl_value_t* %164 to double*, !dbg !1045 | |
%166 = load double* %165, align 8, !dbg !1045, !tbaa %jtbaa_user | |
%167 = bitcast double %166 to i64, !dbg !1045 | |
%168 = icmp ugt i64 %105, %167, !dbg !1045 | |
%169 = and i1 %107, %168, !dbg !1045 | |
%170 = icmp slt i64 %105, %167, !dbg !1045 | |
%171 = and i1 %108, %170, !dbg !1045 | |
%172 = or i1 %171, %169, !dbg !1045 | |
%173 = fcmp ord double %104, %166, !dbg !1045 | |
%174 = and i1 %173, %172, !dbg !1045 | |
%175 = fcmp uno double %166, 0.000000e+00, !dbg !1045 | |
%176 = and i1 %109, %175, !dbg !1045 | |
%177 = or i1 %176, %174, !dbg !1045 | |
br i1 %177, label %L17, label %L20, !dbg !1045 | |
L20: ; preds = %L17, %L15 | |
%j.2 = phi i64 [ %145, %L15 ], [ %162, %L17 ] | |
%178 = icmp sgt i64 %j.2, %i.2, !dbg !1048 | |
br i1 %178, label %L23, label %L26, !dbg !1048 | |
L23: ; preds = %L20 | |
%179 = add i64 %j.2, -1, !dbg !1049 | |
%180 = load %jl_value_t** %6, align 8, !dbg !1049, !tbaa %jtbaa_arrayptr | |
%181 = getelementptr %jl_value_t* %180, i64 %179, !dbg !1049 | |
%182 = bitcast %jl_value_t* %181 to double*, !dbg !1049 | |
%183 = load double* %182, align 8, !dbg !1049, !tbaa %jtbaa_user | |
%184 = add i64 %i.2, -1, !dbg !1049 | |
%185 = getelementptr %jl_value_t* %180, i64 %184, !dbg !1049 | |
%186 = bitcast %jl_value_t* %185 to double*, !dbg !1049 | |
%187 = load double* %186, align 8, !dbg !1049, !tbaa %jtbaa_user | |
store double %183, double* %186, align 8, !dbg !1049, !tbaa %jtbaa_user | |
%188 = load %jl_value_t** %6, align 8, !dbg !1049, !tbaa %jtbaa_arrayptr | |
%189 = getelementptr %jl_value_t* %188, i64 %179, !dbg !1049 | |
%190 = bitcast %jl_value_t* %189 to double*, !dbg !1049 | |
store double %187, double* %190, align 8, !dbg !1049, !tbaa %jtbaa_user | |
br label %L10, !dbg !1049 | |
L26: ; preds = %L20 | |
%191 = load %jl_value_t** %6, align 8, !dbg !1050, !tbaa %jtbaa_arrayptr | |
%192 = getelementptr %jl_value_t* %191, i64 %19, !dbg !1050 | |
%193 = bitcast %jl_value_t* %192 to double*, !dbg !1050 | |
%194 = load double* %193, align 8, !dbg !1050, !tbaa %jtbaa_user | |
%195 = add i64 %j.2, -1, !dbg !1050 | |
%196 = getelementptr %jl_value_t* %191, i64 %195, !dbg !1050 | |
%197 = bitcast %jl_value_t* %196 to double*, !dbg !1050 | |
%198 = load double* %197, align 8, !dbg !1050, !tbaa %jtbaa_user | |
store double %194, double* %197, align 8, !dbg !1050, !tbaa %jtbaa_user | |
%199 = load %jl_value_t** %6, align 8, !dbg !1050, !tbaa %jtbaa_arrayptr | |
%200 = getelementptr %jl_value_t* %199, i64 %19, !dbg !1050 | |
%201 = bitcast %jl_value_t* %200 to double*, !dbg !1050 | |
store double %198, double* %201, align 8, !dbg !1050, !tbaa %jtbaa_user | |
%202 = icmp slt i64 %lo.0, %195, !dbg !1051 | |
br i1 %202, label %if27, label %L29, !dbg !1051 | |
if27: ; preds = %L26 | |
%203 = call %jl_value_t* @"julia_sort!;18879"(%jl_value_t* %0, i64 %lo.0, i64 %195, %jl_value_t* %3, %jl_value_t* %4), !dbg !1051 | |
br label %L29, !dbg !1051 | |
L29: ; preds = %L26, %if27 | |
%204 = add i64 %j.2, 1, !dbg !1052 | |
%205 = icmp slt i64 %204, %2, !dbg !1052 | |
br i1 %205, label %L, label %L32, !dbg !1052 | |
L32: ; preds = %L29, %top | |
ret %jl_value_t* %0, !dbg !1053 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.text | |
Filename: sort.jl | |
Source line: 246 | |
push RBP | |
mov RBP, RSP | |
push R15 | |
push R14 | |
push R13 | |
push R12 | |
push RBX | |
sub RSP, 120 | |
mov R14, R8 | |
mov QWORD PTR [RBP - 144], RCX | |
mov QWORD PTR [RBP - 136], RDX | |
mov R13, RDI | |
mov QWORD PTR [RBP - 112], R13 | |
mov QWORD PTR [RBP - 80], 6 | |
Source line: 246 | |
movabs RCX, 140500490038576 | |
mov RAX, QWORD PTR [RCX] | |
mov QWORD PTR [RBP - 72], RAX | |
lea RAX, QWORD PTR [RBP - 80] | |
mov QWORD PTR [RCX], RAX | |
xorps XMM0, XMM0 | |
movups XMMWORD PTR [RBP - 64], XMM0 | |
mov QWORD PTR [RBP - 48], 0 | |
cmp RSI, RDX | |
jge 2034 | |
Source line: 247 | |
mov RAX, RDX | |
sub RAX, RSI | |
cmp RAX, 20 | |
jle 2043 | |
Source line: 249 | |
mov R12, QWORD PTR [R14 + 8] | |
test R12, R12 | |
je 2088 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RSI - 8] | |
movsd QWORD PTR [RBP - 96], XMM0 | |
movabs R15, 140500474673376 | |
Source line: 248 | |
lea RCX, QWORD PTR [RSI + RDX] | |
mov QWORD PTR [RBP - 128], RSI | |
mov R13, RDX | |
shr RCX | |
Source line: 249 | |
mov QWORD PTR [RBP - 88], RCX | |
movsd XMM0, QWORD PTR [RAX + 8*RCX - 8] | |
movsd QWORD PTR [RBP - 104], XMM0 | |
mov QWORD PTR [RBP - 64], R12 | |
mov RBX, QWORD PTR [R12 + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, R12 | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call RBX | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 1970 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R12, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 96] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R12 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RSI, QWORD PTR [RBP - 64] | |
mov EDX, 2 | |
Source line: 249 | |
movabs RAX, 140500474312064 | |
call RAX | |
cmp QWORD PTR [RAX], 16355872 | |
jne 2000 | |
cmp RAX, 16449232 | |
mov RDX, QWORD PTR [RBP - 128] | |
mov RSI, QWORD PTR [RBP - 88] | |
je 36 | |
mov RCX, QWORD PTR [RBP - 112] | |
Source line: 250 | |
mov RAX, QWORD PTR [RCX + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RSI - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RDX - 8] | |
movsd QWORD PTR [RAX + 8*RSI - 8], XMM1 | |
mov RAX, QWORD PTR [RCX + 8] | |
movsd QWORD PTR [RAX + 8*RDX - 8], XMM0 | |
Source line: 252 | |
mov R12, QWORD PTR [R14 + 8] | |
test R12, R12 | |
je 1840 | |
mov RAX, QWORD PTR [RBP - 112] | |
mov RAX, QWORD PTR [RAX + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RSI - 8] | |
movsd QWORD PTR [RBP - 96], XMM0 | |
movsd XMM0, QWORD PTR [RAX + 8*R13 - 8] | |
movsd QWORD PTR [RBP - 104], XMM0 | |
mov QWORD PTR [RBP - 64], R12 | |
mov RBX, QWORD PTR [R12 + 8] | |
Source line: 249 | |
movabs R13, 140500474673376 | |
Source line: 252 | |
call R13 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, R12 | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call RBX | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 1735 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R12, QWORD PTR [RBX + 8] | |
call R13 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 96] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R12 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RSI, QWORD PTR [RBP - 64] | |
mov EDX, 2 | |
Source line: 249 | |
movabs RAX, 140500474312064 | |
Source line: 252 | |
call RAX | |
cmp QWORD PTR [RAX], 16355872 | |
jne 1735 | |
cmp RAX, 16449232 | |
mov R13, QWORD PTR [RBP - 136] | |
mov RDX, QWORD PTR [RBP - 88] | |
je 38 | |
mov RCX, QWORD PTR [RBP - 112] | |
Source line: 253 | |
mov RAX, QWORD PTR [RCX + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*R13 - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RDX - 8] | |
movsd QWORD PTR [RAX + 8*R13 - 8], XMM1 | |
mov RAX, QWORD PTR [RCX + 8] | |
movsd QWORD PTR [RAX + 8*RDX - 8], XMM0 | |
Source line: 255 | |
mov R12, QWORD PTR [R14 + 8] | |
test R12, R12 | |
mov RCX, QWORD PTR [RBP - 128] | |
je 1596 | |
mov R13, QWORD PTR [RBP - 112] | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RCX - 8] | |
movsd QWORD PTR [RBP - 96], XMM0 | |
movsd XMM0, QWORD PTR [RAX + 8*RDX - 8] | |
movsd QWORD PTR [RBP - 104], XMM0 | |
mov QWORD PTR [RBP - 64], R12 | |
mov RBX, QWORD PTR [R12 + 8] | |
Source line: 249 | |
movabs R15, 140500474673376 | |
Source line: 255 | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, R12 | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call RBX | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 1492 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R12, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 96] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R12 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RSI, QWORD PTR [RBP - 64] | |
mov EDX, 2 | |
Source line: 249 | |
movabs RAX, 140500474312064 | |
Source line: 255 | |
call RAX | |
cmp QWORD PTR [RAX], 16355872 | |
jne 1462 | |
cmp RAX, 16449232 | |
mov RCX, QWORD PTR [RBP - 128] | |
mov RDX, QWORD PTR [RBP - 88] | |
je 32 | |
Source line: 256 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RDX - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RCX - 8] | |
movsd QWORD PTR [RAX + 8*RDX - 8], XMM1 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd QWORD PTR [RAX + 8*RCX - 8], XMM0 | |
Source line: 258 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RDX - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RCX - 8] | |
movsd QWORD PTR [RAX + 8*RDX - 8], XMM1 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd QWORD PTR [RAX + 8*RCX - 8], XMM0 | |
Source line: 263 | |
mov R12, QWORD PTR [R14 + 8] | |
test R12, R12 | |
Source line: 249 | |
movabs R15, 140500474673376 | |
je 1394 | |
Source line: 260 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RCX - 8] | |
movsd QWORD PTR [RBP - 104], XMM0 | |
mov RBX, QWORD PTR [RBP - 136] | |
mov QWORD PTR [RBP - 88], RCX | |
mov QWORD PTR [RBP - 96], RBX | |
Source line: 263 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RCX] | |
movsd QWORD PTR [RBP - 120], XMM0 | |
mov QWORD PTR [RBP - 64], R12 | |
mov RBX, QWORD PTR [R12 + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 120] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, R12 | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call RBX | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 1286 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R12, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R12 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RSI, QWORD PTR [RBP - 64] | |
mov EDX, 2 | |
Source line: 249 | |
movabs RAX, 140500474312064 | |
Source line: 263 | |
call RAX | |
cmp QWORD PTR [RAX], 16355872 | |
jne 1156 | |
mov RDX, QWORD PTR [RBP - 88] | |
Source line: 262 | |
lea RCX, QWORD PTR [RDX + 1] | |
Source line: 263 | |
cmp RAX, 16449232 | |
je 262 | |
lea R12, QWORD PTR [8*RDX + 8] | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 1154 | |
mov QWORD PTR [RBP - 88], RCX | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + R12] | |
movsd QWORD PTR [RBP - 120], XMM0 | |
mov QWORD PTR [RBP - 64], RBX | |
mov R13, R14 | |
mov R14, QWORD PTR [RBX + 8] | |
Source line: 249 | |
movabs R15, 140500474673376 | |
Source line: 263 | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 120] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R13 + 8] | |
test RBX, RBX | |
je 1058 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R14, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RBX, QWORD PTR [RBP - 64] | |
Source line: 263 | |
mov RSI, RBX | |
mov EDX, 2 | |
Source line: 249 | |
movabs R14, 140500474312064 | |
Source line: 263 | |
call R14 | |
mov QWORD PTR [RBP - 64], RAX | |
mov EDI, 35355776 | |
mov RSI, RBX | |
mov EDX, 1 | |
call R14 | |
cmp QWORD PTR [RAX], 16355872 | |
jne 904 | |
add R12, 8 | |
mov RCX, QWORD PTR [RBP - 88] | |
inc RCX | |
cmp RAX, 16449232 | |
mov R14, R13 | |
mov R13, QWORD PTR [RBP - 112] | |
je -254 | |
Source line: 264 | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 830 | |
mov QWORD PTR [RBP - 88], RCX | |
mov RAX, QWORD PTR [R13 + 8] | |
mov RCX, QWORD PTR [RBP - 96] | |
movsd XMM0, QWORD PTR [RAX + 8*RCX - 16] | |
movsd QWORD PTR [RBP - 120], XMM0 | |
mov QWORD PTR [RBP - 64], RBX | |
mov R12, R14 | |
mov R14, QWORD PTR [RBX + 8] | |
Source line: 249 | |
movabs R15, 140500474673376 | |
Source line: 264 | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R12 + 8] | |
test RBX, RBX | |
je 729 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R14, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 120] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RSI, QWORD PTR [RBP - 64] | |
mov EDX, 2 | |
Source line: 249 | |
movabs RAX, 140500474312064 | |
Source line: 264 | |
call RAX | |
cmp QWORD PTR [RAX], 16355872 | |
jne 669 | |
mov RDX, QWORD PTR [RBP - 96] | |
Source line: 262 | |
lea RCX, QWORD PTR [RDX - 1] | |
Source line: 264 | |
cmp RAX, 16449232 | |
mov R14, R12 | |
jne 8 | |
mov RBX, RCX | |
jmpq 265 | |
lea R12, QWORD PTR [8*RDX - 24] | |
mov RBX, RCX | |
mov QWORD PTR [RBP - 96], RBX | |
mov RBX, QWORD PTR [R14 + 8] | |
test RBX, RBX | |
je 579 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + R12] | |
movsd QWORD PTR [RBP - 120], XMM0 | |
mov QWORD PTR [RBP - 64], RBX | |
mov R13, R14 | |
mov R14, QWORD PTR [RBX + 8] | |
Source line: 249 | |
movabs R15, 140500474673376 | |
Source line: 264 | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 104] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 56], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 56] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 64], RAX | |
mov RBX, QWORD PTR [R13 + 8] | |
test RBX, RBX | |
je 487 | |
mov QWORD PTR [RBP - 56], RBX | |
mov R14, QWORD PTR [RBX + 8] | |
call R15 | |
mov QWORD PTR [RAX], 16366064 | |
movsd XMM0, QWORD PTR [RBP - 120] | |
movsd QWORD PTR [RAX + 8], XMM0 | |
mov QWORD PTR [RBP - 48], RAX | |
mov RDI, RBX | |
lea RSI, QWORD PTR [RBP - 48] | |
mov EDX, 1 | |
call R14 | |
mov QWORD PTR [RBP - 56], RAX | |
mov EDI, 29426160 | |
Source line: 246 | |
lea RBX, QWORD PTR [RBP - 64] | |
Source line: 264 | |
mov RSI, RBX | |
mov EDX, 2 | |
Source line: 249 | |
movabs R14, 140500474312064 | |
Source line: 264 | |
call R14 | |
mov QWORD PTR [RBP - 64], RAX | |
mov EDI, 35355776 | |
mov RSI, RBX | |
mov EDX, 1 | |
call R14 | |
cmp QWORD PTR [RAX], 16355872 | |
jne 403 | |
add R12, -8 | |
mov RBX, QWORD PTR [RBP - 96] | |
dec RBX | |
cmp RAX, 16449232 | |
mov R14, R13 | |
mov R13, QWORD PTR [RBP - 112] | |
je -254 | |
mov RCX, QWORD PTR [RBP - 88] | |
Source line: 265 | |
cmp RBX, RCX | |
jle 60 | |
Source line: 266 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RCX - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RBX - 8] | |
movsd QWORD PTR [RAX + 8*RCX - 8], XMM1 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd QWORD PTR [RAX + 8*RBX - 8], XMM0 | |
Source line: 263 | |
mov R12, QWORD PTR [R14 + 8] | |
test R12, R12 | |
Source line: 249 | |
movabs R15, 140500474673376 | |
jne -1028 | |
jmpq 339 | |
Source line: 268 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*RBX - 8] | |
mov RSI, QWORD PTR [RBP - 128] | |
movsd XMM1, QWORD PTR [RAX + 8*RSI - 8] | |
movsd QWORD PTR [RAX + 8*RBX - 8], XMM1 | |
mov RAX, QWORD PTR [R13 + 8] | |
movsd QWORD PTR [RAX + 8*RSI - 8], XMM0 | |
lea RDX, QWORD PTR [RBX - 1] | |
cmp RSI, RDX | |
jge 25 | |
Source line: 269 | |
mov RDI, R13 | |
mov RCX, QWORD PTR [RBP - 144] | |
mov R8, R14 | |
movabs RAX, 140500440550768 | |
call RAX | |
Source line: 270 | |
inc RBX | |
mov RDX, QWORD PTR [RBP - 136] | |
cmp RBX, RDX | |
mov RSI, RBX | |
jl -2034 | |
Source line: 272 | |
mov RAX, QWORD PTR [RBP - 72] | |
Source line: 246 | |
movabs RCX, 140500490038576 | |
Source line: 272 | |
mov QWORD PTR [RCX], RAX | |
mov RAX, R13 | |
jmpq 43 | |
Source line: 247 | |
mov RCX, QWORD PTR [17946240] | |
movabs RAX, 140500440358160 | |
mov RDI, R13 | |
mov R8, R14 | |
call RAX | |
movabs RCX, 140500490038576 | |
mov RDX, QWORD PTR [RBP - 72] | |
mov QWORD PTR [RCX], RDX | |
Source line: 272 | |
add RSP, 120 | |
pop RBX | |
pop R12 | |
pop R13 | |
pop R14 | |
pop R15 | |
pop RBP | |
ret | |
Source line: 249 | |
movabs RAX, 140500489336368 | |
mov RDI, QWORD PTR [RAX] | |
movabs RAX, 140500474609808 | |
mov ESI, 249 | |
call RAX | |
Source line: 252 | |
movabs RAX, 140500489336368 | |
mov RDI, QWORD PTR [RAX] | |
movabs RAX, 140500474609808 | |
mov ESI, 252 | |
call RAX | |
Source line: 255 | |
movabs RAX, 140500489336368 | |
mov RDI, QWORD PTR [RAX] | |
movabs RAX, 140500474609808 | |
mov ESI, 255 | |
call RAX | |
Source line: 264 | |
movabs RAX, 140500489336368 | |
mov RDI, QWORD PTR [RAX] | |
movabs RAX, 140500474609808 | |
mov ESI, 264 | |
call RAX | |
Source line: 249 | |
movabs RBX, 140500474336400 | |
movabs RDI, 140500440224229 | |
movabs RSI, 140500440223796 | |
mov EDX, 16355872 | |
mov RCX, RAX | |
call RBX | |
Source line: 263 | |
movabs RAX, 140500489336368 | |
mov RDI, QWORD PTR [RAX] | |
movabs RAX, 140500474609808 | |
mov ESI, 263 | |
call RAX |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.text | |
Filename: sort.jl | |
Source line: 247 | |
push RBP | |
mov RBP, RSP | |
push R15 | |
push R14 | |
push R13 | |
push R12 | |
push RBX | |
sub RSP, 24 | |
mov QWORD PTR [RBP - 48], R8 | |
mov QWORD PTR [RBP - 64], RCX | |
mov R15, RDX | |
mov QWORD PTR [RBP - 56], R15 | |
mov R12, RDI | |
cmp RSI, R15 | |
jge 920 | |
Source line: 247 | |
mov RAX, R15 | |
sub RAX, RSI | |
cmp RAX, 20 | |
jle 922 | |
Source line: 248 | |
lea RAX, QWORD PTR [RSI + R15] | |
shr RAX | |
Source line: 249 | |
mov R11, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [R11 + 8*RAX - 8] | |
movq RCX, XMM0 | |
test RCX, RCX | |
setns DL | |
sets BL | |
movsd XMM1, QWORD PTR [R11 + 8*RSI - 8] | |
movq RDI, XMM1 | |
cmp RCX, RDI | |
setl R8B | |
seta R9B | |
ucomisd XMM0, XMM1 | |
setnp DIL | |
ucomisd XMM1, XMM1 | |
setp R10B | |
ucomisd XMM0, XMM0 | |
setnp CL | |
test CL, R10B | |
jne 17 | |
and BL, R9B | |
and DL, R8B | |
or DL, BL | |
and DIL, DL | |
je 18 | |
Source line: 250 | |
movsd QWORD PTR [R11 + 8*RAX - 8], XMM1 | |
mov RCX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RCX + 8*RSI - 8], XMM0 | |
Source line: 252 | |
mov R11, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [R11 + 8*R15 - 8] | |
movq RCX, XMM0 | |
test RCX, RCX | |
setns DL | |
sets BL | |
movsd XMM1, QWORD PTR [R11 + 8*RAX - 8] | |
movq RDI, XMM1 | |
cmp RCX, RDI | |
setl R8B | |
seta R9B | |
ucomisd XMM0, XMM1 | |
setnp DIL | |
ucomisd XMM1, XMM1 | |
setp R10B | |
ucomisd XMM0, XMM0 | |
setnp CL | |
test CL, R10B | |
jne 17 | |
and BL, R9B | |
and DL, R8B | |
or DL, BL | |
and DIL, DL | |
je 18 | |
Source line: 253 | |
movsd QWORD PTR [R11 + 8*R15 - 8], XMM1 | |
mov RCX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RCX + 8*RAX - 8], XMM0 | |
Source line: 255 | |
mov R11, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [R11 + 8*RAX - 8] | |
movq RCX, XMM0 | |
test RCX, RCX | |
setns DL | |
sets BL | |
movsd XMM1, QWORD PTR [R11 + 8*RSI - 8] | |
movq RDI, XMM1 | |
cmp RCX, RDI | |
setl R8B | |
seta R9B | |
ucomisd XMM0, XMM1 | |
setnp DIL | |
ucomisd XMM1, XMM1 | |
setp R10B | |
ucomisd XMM0, XMM0 | |
setnp CL | |
test CL, R10B | |
jne 17 | |
and BL, R9B | |
and DL, R8B | |
or DL, BL | |
and DIL, DL | |
je 18 | |
Source line: 256 | |
movsd QWORD PTR [R11 + 8*RAX - 8], XMM1 | |
mov RCX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RCX + 8*RSI - 8], XMM0 | |
Source line: 258 | |
mov RCX, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [RCX + 8*RAX - 8] | |
movsd XMM1, QWORD PTR [RCX + 8*RSI - 8] | |
movsd QWORD PTR [RCX + 8*RAX - 8], XMM1 | |
mov RAX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RAX + 8*RSI - 8], XMM0 | |
Source line: 260 | |
mov R8, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [R8 + 8*RSI - 8] | |
Source line: 263 | |
movq R14, XMM0 | |
mov RDI, RSI | |
mov R9, R15 | |
jmpq 44 | |
Source line: 266 | |
mov RAX, QWORD PTR [R12 + 8] | |
movsd XMM1, QWORD PTR [RAX + 8*R15 - 8] | |
movsd XMM2, QWORD PTR [RAX + 8*R13 - 8] | |
movsd QWORD PTR [RAX + 8*R15 - 8], XMM2 | |
mov RAX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RAX + 8*R13 - 8], XMM1 | |
mov RDI, R15 | |
mov R9, R13 | |
Source line: 263 | |
movsd XMM1, QWORD PTR [R8 + 8*RDI] | |
movq RCX, XMM1 | |
test RCX, RCX | |
setns BL | |
sets AL | |
cmp RCX, R14 | |
setl R11B | |
seta R13B | |
ucomisd XMM0, XMM1 | |
setnp R10B | |
ucomisd XMM1, XMM1 | |
setnp CL | |
Source line: 262 | |
lea R15, QWORD PTR [RDI + 1] | |
ucomisd XMM0, XMM0 | |
setp DL | |
Source line: 263 | |
test CL, DL | |
jne 17 | |
and AL, R13B | |
and BL, R11B | |
or BL, AL | |
and R10B, BL | |
je 89 | |
mov RAX, QWORD PTR [R12 + 8] | |
lea RDI, QWORD PTR [RAX + 8*RDI + 8] | |
movsd XMM1, QWORD PTR [RDI] | |
movq RCX, XMM1 | |
test RCX, RCX | |
setns BL | |
sets AL | |
cmp RCX, R14 | |
setl DL | |
seta CL | |
and CL, AL | |
and DL, BL | |
or DL, CL | |
ucomisd XMM0, XMM1 | |
setnp BL | |
and BL, DL | |
add RDI, 8 | |
inc R15 | |
ucomisd XMM0, XMM0 | |
setp AL | |
ucomisd XMM1, XMM1 | |
setnp CL | |
test CL, AL | |
jne -71 | |
test BL, BL | |
jne -79 | |
Source line: 264 | |
movsd XMM1, QWORD PTR [R8 + 8*R9 - 16] | |
movq RCX, XMM1 | |
test R14, R14 | |
setns AL | |
sets BL | |
cmp R14, RCX | |
setl R10B | |
seta R11B | |
ucomisd XMM0, XMM1 | |
setnp DL | |
ucomisd XMM1, XMM1 | |
setp DIL | |
Source line: 262 | |
lea R13, QWORD PTR [R9 - 1] | |
ucomisd XMM0, XMM0 | |
setnp CL | |
Source line: 264 | |
test CL, DIL | |
jne 16 | |
and BL, R11B | |
and AL, R10B | |
or AL, BL | |
and DL, AL | |
je 89 | |
mov RAX, QWORD PTR [R12 + 8] | |
lea RDI, QWORD PTR [RAX + 8*R9 - 24] | |
test R14, R14 | |
setns BL | |
sets CL | |
movsd XMM1, QWORD PTR [RDI] | |
movq RAX, XMM1 | |
cmp R14, RAX | |
setl DL | |
seta AL | |
and AL, CL | |
and DL, BL | |
or DL, AL | |
ucomisd XMM0, XMM1 | |
setnp BL | |
and BL, DL | |
add RDI, -8 | |
dec R13 | |
ucomisd XMM0, XMM0 | |
setnp AL | |
ucomisd XMM1, XMM1 | |
setp CL | |
test AL, CL | |
jne -71 | |
test BL, BL | |
jne -79 | |
Source line: 265 | |
cmp R13, R15 | |
jg -396 | |
Source line: 268 | |
mov RAX, QWORD PTR [R12 + 8] | |
movsd XMM0, QWORD PTR [RAX + 8*R13 - 8] | |
movsd XMM1, QWORD PTR [RAX + 8*RSI - 8] | |
movsd QWORD PTR [RAX + 8*R13 - 8], XMM1 | |
mov RAX, QWORD PTR [R12 + 8] | |
movsd QWORD PTR [RAX + 8*RSI - 8], XMM0 | |
lea RDX, QWORD PTR [R13 - 1] | |
cmp RSI, RDX | |
mov R15, QWORD PTR [RBP - 56] | |
jge 23 | |
Source line: 269 | |
mov RDI, R12 | |
mov RCX, QWORD PTR [RBP - 64] | |
mov R8, QWORD PTR [RBP - 48] | |
movabs RAX, 140500440561696 | |
call RAX | |
Source line: 270 | |
inc R13 | |
cmp R13, R15 | |
mov RSI, R13 | |
jl -920 | |
Source line: 272 | |
mov RAX, R12 | |
add RSP, 24 | |
pop RBX | |
pop R12 | |
pop R13 | |
pop R14 | |
pop R15 | |
pop RBP | |
ret | |
Source line: 247 | |
mov RCX, QWORD PTR [17946240] | |
movabs RAX, 140500440358352 | |
mov RDI, R12 | |
mov RDX, R15 | |
mov R8, QWORD PTR [RBP - 48] | |
call RAX | |
jmpq -50 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment