| 1 | |
| 2 | |
| 3 |
|
| 4 |
|
| 5 | #include <linux/export.h>
|
| 6 |
|
| 7 | #include <linux/libgcc.h>
|
| 8 |
|
| 9 | word_type notrace __cmpdi2(long long a, long long b)
|
| 10 | {
|
| 11 | const DWunion au = {
|
| 12 | .ll = a
|
| 13 | };
|
| 14 | const DWunion bu = {
|
| 15 | .ll = b
|
| 16 | };
|
| 17 |
|
| 18 | if (au.s.high < bu.s.high)
|
| 19 | return 0;
|
| 20 | else if (au.s.high > bu.s.high)
|
| 21 | return 2;
|
| 22 |
|
| 23 | if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
|
| 24 | return 0;
|
| 25 | else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
|
| 26 | return 2;
|
| 27 |
|
| 28 | return 1;
|
| 29 | }
|
| 30 | EXPORT_SYMBOL(__cmpdi2);
|