| // SPDX-License-Identifier: GPL-2.0 | |
| #include <linux/module.h> | |
| union ull_union { | |
| unsigned long long ull; | |
| struct { | |
| unsigned int high; | |
| unsigned int low; | |
| } ui; | |
| }; | |
| int __ucmpdi2(unsigned long long a, unsigned long long b) | |
| { | |
| union ull_union au = {.ull = a}; | |
| union ull_union bu = {.ull = b}; | |
| if (au.ui.high < bu.ui.high) | |
| return 0; | |
| else if (au.ui.high > bu.ui.high) | |
| return 2; | |
| if (au.ui.low < bu.ui.low) | |
| return 0; | |
| else if (au.ui.low > bu.ui.low) | |
| return 2; | |
| return 1; | |
| } |