1 --- gcc-4.1.2/gcc/config/arm/ieee754-df-original.S 2007-06-25 10:22:06.000000000 +1000
2 +++ gcc-4.1.2/gcc/config/arm/ieee754-df.S 2007-06-25 10:27:17.000000000 +1000
6 bicle xh, xh, #0x7fffffff
11 RETLDM "r4, r5, r6" le
13 @ Find out proper shift value.
15 adc xh, r2, xh, lsr r4
16 orrs lr, lr, r3, lsl #1
17 biceq xl, xl, r3, lsr #31
24 @ shift result right of 21 to 31 bits, or left 11 to 1 bits after
27 orrs lr, lr, r3, lsl #1
28 biceq xl, xl, r3, lsr #31
35 @ Shift value right of 32 to 64 bits, or 0 to 32 bits after a switch
37 add xl, xl, r3, lsr #31
38 orrs lr, lr, r3, lsl #1
39 biceq xl, xl, r3, lsr #31
46 @ One or both arguments are denormalized.
49 bic xh, xh, #0x7fffffff
57 1: @ One or both args are INF or NAN.
59 orr xh, xh, #0x7f000000
60 orr xh, xh, #0x00f00000
70 orr xh, xh, #0x7f000000
71 orr xh, xh, #0x00f80000
79 --- gcc-4.1.2/gcc/config/arm/ieee754-sf-original.S 2007-06-25 10:18:52.000000000 +1000
80 +++ gcc-4.1.2/gcc/config/arm/ieee754-sf.S 2007-06-25 10:40:25.000000000 +1000
82 @ Check if denormalized result is possible, otherwise return signed 0.
84 bicle r0, r0, #0x7fffffff
90 @ Shift value right, round, etc.
93 orrs r3, r3, ip, lsl #1
94 biceq r0, r0, ip, lsr #31
100 @ One or both arguments are denormalized.
104 bic r0, r0, #0x7fffffff
110 1: @ One or both args are INF or NAN.
111 @@ -595,12 +604,18 @@
112 and r0, r0, #0x80000000
113 orr r0, r0, #0x7f000000
114 orr r0, r0, #0x00800000
120 @ Return a quiet NAN.
122 orr r0, r0, #0x7f000000
123 orr r0, r0, #0x00c00000
133 orrgt r0, r0, r2, lsl #23
139 orr r0, r0, #0x00800000