Blame view

lib/cmpdi2.c 501 Bytes
588cb88ce   Thomas Gleixner   treewide: Replace...
1
  // SPDX-License-Identifier: GPL-2.0-or-later
b35cd9884   Palmer Dabbelt   lib: Add shared c...
2
  /*
b35cd9884   Palmer Dabbelt   lib: Add shared c...
3
4
5
   */
  
  #include <linux/export.h>
4db2b604c   Christoph Hellwig   move libgcc.h to ...
6
  #include <linux/libgcc.h>
b35cd9884   Palmer Dabbelt   lib: Add shared c...
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  
  word_type notrace __cmpdi2(long long a, long long b)
  {
  	const DWunion au = {
  		.ll = a
  	};
  	const DWunion bu = {
  		.ll = b
  	};
  
  	if (au.s.high < bu.s.high)
  		return 0;
  	else if (au.s.high > 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(__cmpdi2);