define i32 @sad(i8* nocapture readonly %pix1, i8* nocapture readonly %pix2) #0 { entry: br label %vector.body vector.body: ; preds = %entry %0 = bitcast i8* %pix1 to x86_mmx* %wide.load8 = load x86_mmx* %0, align 1 %1 = bitcast i8* %pix2 to x86_mmx* %wide.load79 = load x86_mmx* %1, align 1 %2 = call x86_mmx @llvm.x86.mmx.psad.bw(x86_mmx %wide.load8, x86_mmx %wide.load79) %3 = bitcast x86_mmx %2 to i64 %4 = trunc i64 %3 to i32 %5 = getelementptr inbounds i8* %pix1, i64 8 %6 = bitcast i8* %5 to x86_mmx* %wide.load8.1 = load x86_mmx* %6, align 1 %7 = getelementptr inbounds i8* %pix2, i64 8 %8 = bitcast i8* %7 to x86_mmx* %wide.load79.1 = load x86_mmx* %8, align 1 %9 = call x86_mmx @llvm.x86.mmx.psad.bw(x86_mmx %wide.load8.1, x86_mmx %wide.load79.1) %10 = bitcast x86_mmx %9 to i64 %11 = trunc i64 %10 to i32 %12 = add i32 %11, %4 ret i32 %12 }