File tree Expand file tree Collapse file tree 2 files changed +19
-6
lines changed Expand file tree Collapse file tree 2 files changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -99,60 +99,74 @@ fn unord<F: Float>(a: F, b: F) -> bool {
9999}
100100
101101intrinsics ! {
102+ #[ avr_skip]
102103 pub extern "C" fn __lesf2( a: f32 , b: f32 ) -> i32 {
103104 cmp( a, b) . to_le_abi( )
104105 }
105106
107+ #[ avr_skip]
106108 pub extern "C" fn __gesf2( a: f32 , b: f32 ) -> i32 {
107109 cmp( a, b) . to_ge_abi( )
108110 }
109111
112+ #[ avr_skip]
110113 #[ arm_aeabi_alias = __aeabi_fcmpun]
111114 pub extern "C" fn __unordsf2( a: f32 , b: f32 ) -> i32 {
112115 unord( a, b) as i32
113116 }
114117
118+ #[ avr_skip]
115119 pub extern "C" fn __eqsf2( a: f32 , b: f32 ) -> i32 {
116120 cmp( a, b) . to_le_abi( )
117121 }
118122
123+ #[ avr_skip]
119124 pub extern "C" fn __ltsf2( a: f32 , b: f32 ) -> i32 {
120125 cmp( a, b) . to_le_abi( )
121126 }
122127
128+ #[ avr_skip]
123129 pub extern "C" fn __nesf2( a: f32 , b: f32 ) -> i32 {
124130 cmp( a, b) . to_le_abi( )
125131 }
126132
133+ #[ avr_skip]
127134 pub extern "C" fn __gtsf2( a: f32 , b: f32 ) -> i32 {
128135 cmp( a, b) . to_ge_abi( )
129136 }
130137
138+ #[ avr_skip]
131139 pub extern "C" fn __ledf2( a: f64 , b: f64 ) -> i32 {
132140 cmp( a, b) . to_le_abi( )
133141 }
134142
143+ #[ avr_skip]
135144 pub extern "C" fn __gedf2( a: f64 , b: f64 ) -> i32 {
136145 cmp( a, b) . to_ge_abi( )
137146 }
138147
148+ #[ avr_skip]
139149 #[ arm_aeabi_alias = __aeabi_dcmpun]
140150 pub extern "C" fn __unorddf2( a: f64 , b: f64 ) -> i32 {
141151 unord( a, b) as i32
142152 }
143153
154+ #[ avr_skip]
144155 pub extern "C" fn __eqdf2( a: f64 , b: f64 ) -> i32 {
145156 cmp( a, b) . to_le_abi( )
146157 }
147158
159+ #[ avr_skip]
148160 pub extern "C" fn __ltdf2( a: f64 , b: f64 ) -> i32 {
149161 cmp( a, b) . to_le_abi( )
150162 }
151163
164+ #[ avr_skip]
152165 pub extern "C" fn __nedf2( a: f64 , b: f64 ) -> i32 {
153166 cmp( a, b) . to_le_abi( )
154167 }
155168
169+ #[ avr_skip]
156170 pub extern "C" fn __gtdf2( a: f64 , b: f64 ) -> i32 {
157171 cmp( a, b) . to_ge_abi( )
158172 }
Original file line number Diff line number Diff line change @@ -437,12 +437,11 @@ macro_rules! intrinsics {
437437 intrinsics!( $( $rest) * ) ;
438438 ) ;
439439
440- // For division and modulo, AVR uses a custom calling convention¹ that does
441- // not match our definitions here. Ideally we would just use hand-written
442- // naked functions, but that's quite a lot of code to port² - so for the
443- // time being we are just ignoring the problematic functions, letting
444- // avr-gcc (which is required to compile to AVR anyway) link them from
445- // libgcc.
440+ // For some intrinsics, AVR uses a custom calling convention¹ that does not
441+ // match our definitions here. Ideally we would just use hand-written naked
442+ // functions, but that's quite a lot of code to port² - so for the time
443+ // being we are just ignoring the problematic functions, letting avr-gcc
444+ // (which is required to compile to AVR anyway) link them from libgcc.
446445 //
447446 // ¹ https://gcc.gnu.org/wiki/avr-gcc (see "Exceptions to the Calling
448447 // Convention")
You can’t perform that action at this time.
0 commit comments