; ModuleID = 'udivmod64_x86.bc' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32-S128" %struct.div_state_ = type { i64, i64 } define i64 @udivmod64(i64 %dividend, i64 %divisor, i64* %remainder) nounwind ssp { %1 = alloca i64, align 4 %2 = alloca i64, align 8 %3 = alloca i64, align 8 %4 = alloca i64*, align 4 %state = alloca %struct.div_state_, align 4 %quotient = alloca i64, align 8 %i = alloca i32, align 4 %skipahead = alloca i32, align 4 store i64 %dividend, i64* %2, align 8 store i64 %divisor, i64* %3, align 8 store i64* %remainder, i64** %4, align 4 %5 = getelementptr inbounds %struct.div_state_* %state, i32 0, i32 0 store i64 0, i64* %5, align 4 %6 = getelementptr inbounds %struct.div_state_* %state, i32 0, i32 1 %7 = load i64* %2, align 8 store i64 %7, i64* %6, align 4 store i64 0, i64* %quotient, align 8 %8 = load i64* %3, align 8 %9 = icmp eq i64 %8, 0 br i1 %9, label %10, label %11 ;