コード例 #1
0
ditype __muldi3(ditype u, ditype v)
{
	diunion w;
	diunion uu, vv;

	uu.ll = u, vv.ll = v;
	w.ll = __umulsidi3(uu.s.low, vv.s.low);
	w.s.high += ((usitype) uu.s.low * (usitype) vv.s.high
		     + (usitype) uu.s.high * (usitype) vv.s.low);

	return w.ll;
}
コード例 #2
0
DItype __muldi3(DItype u, DItype v)
{
	DIunion w;
	DIunion uu, vv;

	uu.ll = u, vv.ll = v;
	/*  panic("kernel panic for __muldi3"); */
	w.ll = __umulsidi3(uu.s.low, vv.s.low);
	w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
		     + (USItype) uu.s.high * (USItype) vv.s.low);

	return w.ll;
}
コード例 #3
0
ファイル: muldi3.c プロジェクト: ipwndev/DSLinux-Mirror
s64 __muldi3(s64 u, s64 v)
{
	DIunion w;
	DIunion uu, vv;

	uu.ll = u, vv.ll = v;

	w.ll = __umulsidi3(uu.s.low, vv.s.low);
	w.s.high += ((u32) uu.s.low * (u32) vv.s.high
		     + (u32) uu.s.high * (u32) vv.s.low);

	return w.ll;
}
コード例 #4
0
ファイル: muldi3.c プロジェクト: CogSystems/u-boot
DItype __muldi3 (DItype u, DItype v)
{
	DIunion w;
	DIunion uu, vv;

	uu.ll = u,
	vv.ll = v;

	w.ll = __umulsidi3 (uu.s.low, vv.s.low);
	w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
		+ (USItype) uu.s.high * (USItype) vv.s.low);

	return w.ll;
}