1
2 union u
3 {
4 struct
5 {
6 short int msw;
7 unsigned short lsw;
8 } w;
9 long l;
10 };
11
12 union us
13 {
14 struct
15 {
16 short int msw;
17 unsigned short lsw;
18 } w;
19 long l;
20 };
21
22 int
__cmpsi2(long arga,short int msw_b,unsigned short int lsw_b)23 __cmpsi2(long arga,
24 short int msw_b, unsigned short int lsw_b)
25 {
26 union u u;
27 u.l = arga;
28
29 if (u.w.msw != msw_b)
30 {
31 if (u.w.msw < msw_b) return 0;
32 return 2;
33 }
34 if (u.w.lsw != lsw_b)
35 {
36 if (u.w.lsw < lsw_b) return 0;
37 return 2;
38 }
39 return 1;
40 }
41
42
43 int
__ucmpsi2(unsigned long arga,unsigned short int msw_b,unsigned short int lsw_b)44 __ucmpsi2(unsigned long arga,
45 unsigned short int msw_b, unsigned short int lsw_b)
46 {
47 union us u;
48 u.l = arga;
49
50 if (u.w.msw != msw_b)
51 {
52 if (u.w.msw < msw_b) return 0;
53 return 2;
54 }
55 if (u.w.lsw != lsw_b)
56 {
57 if (u.w.lsw < lsw_b) return 0;
58 return 2;
59 }
60 return 1;
61 }
62
63
64 union pu
65 {
66 struct {
67 char ignore;
68 signed char msb;
69 unsigned short lsw;
70 } w;
71 long l;
72 };
73
74 union pun
75 {
76 struct {
77 char ignore;
78 unsigned char msb;
79 unsigned short lsw;
80 } w;
81 long l;
82 };
83
84
85 int
__cmppsi2(long arga,long argb)86 __cmppsi2(long arga, long argb)
87 {
88 union pu a;
89 union pu b;
90 a.l = arga;
91 b.l = argb;
92
93 if (a.w.msb != b.w.msb)
94 {
95 if (a.w.msb < b.w.msb) return 0;
96 return 2;
97 }
98 if (a.w.lsw != b.w.lsw)
99 {
100 if (a.w.lsw < b.w.lsw) return 0;
101 return 2;
102 }
103 return 1;
104 }
105
106
107 int
__ucmppsi2(long arga,long argb)108 __ucmppsi2(long arga, long argb)
109 {
110 union pun a;
111 union pun b;
112 a.l = arga;
113 b.l = argb;
114
115 if (a.w.msb != b.w.msb)
116 {
117 if (a.w.msb < b.w.msb) return 0;
118 return 2;
119 }
120 if (a.w.lsw != b.w.lsw)
121 {
122 if (a.w.lsw < b.w.lsw) return 0;
123 return 2;
124 }
125 return 1;
126 }
127