1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/module.h> 3 #include <linux/libgcc.h> 4 5 union ull_union { 6 unsigned long long ull; 7 struct { 8 unsigned int high; 9 unsigned int low; 10 } ui; 11 }; 12 13 word_type __ucmpdi2(unsigned long long a, unsigned long long b) 14 { 15 union ull_union au = {.ull = a}; 16 union ull_union bu = {.ull = b}; 17 18 if (au.ui.high < bu.ui.high) 19 return 0; 20 else if (au.ui.high > bu.ui.high) 21 return 2; 22 if (au.ui.low < bu.ui.low) 23 return 0; 24 else if (au.ui.low > bu.ui.low) 25 return 2; 26 return 1; 27 } 28