lshrdi3.c

来自「linux 内核源代码」· C语言 代码 · 共 30 行

C
30
字号
#include <linux/module.h>#include "libgcc.h"long long __lshrdi3(long long u, word_type b){	DWunion uu, w;	word_type bm;	if (b == 0)		return u;	uu.ll = u;	bm = 32 - b;	if (bm <= 0) {		w.s.high = 0;		w.s.low = (unsigned int) uu.s.high >> -bm;	} else {		const unsigned int carries = (unsigned int) uu.s.high << bm;		w.s.high = (unsigned int) uu.s.high >> b;		w.s.low = ((unsigned int) uu.s.low >> b) | carries;	}	return w.ll;}EXPORT_SYMBOL(__lshrdi3);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?