blob: 726e394c9fcc7b6847f12e65d8f9d37ef48170db [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001// SPDX-License-Identifier: GPL-2.0-or-later
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00003 */
4
5#include <linux/module.h>
6#include <linux/libgcc.h>
7
8word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
9{
10 const DWunion au = {.ll = a};
11 const DWunion bu = {.ll = b};
12
13 if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
14 return 0;
15 else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
16 return 2;
17 if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
18 return 0;
19 else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
20 return 2;
21 return 1;
22}
23EXPORT_SYMBOL(__ucmpdi2);