https://github.com/torvalds/linux
Revision 7876320f88802b22d4e2daf7eb027dd14175a0f8 authored by Linus Torvalds on 16 September 2018, 18:52:37 UTC, committed by Linus Torvalds on 16 September 2018, 18:52:37 UTC
1 parent 8a104f8
Raw File
Tip revision: 7876320f88802b22d4e2daf7eb027dd14175a0f8 authored by Linus Torvalds on 16 September 2018, 18:52:37 UTC
Linux 4.19-rc4
Tip revision: 7876320
ucmpdi2.c
/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, see the file COPYING, or write
 * to the Free Software Foundation, Inc.
 */

#include <linux/module.h>
#include <linux/libgcc.h>

word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
{
	const DWunion au = {.ll = a};
	const DWunion bu = {.ll = b};

	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
		return 0;
	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
		return 2;
	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
		return 0;
	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
		return 2;
	return 1;
}
EXPORT_SYMBOL(__ucmpdi2);
back to top