tomtor wrote: ``` 000001f6 <avr_modern_demo::serial::Serial::write_int>: 1f6: ef 92 push r14 1f8: 0f 93 push r16 1fa: 1f 93 push r17 1fc: 8a 30 cpi r24, 0x0A ; 10 1fe: 91 05 cpc r25, r1 200: c0 f0 brcs .+48 ; 0x232 <.Lname69+0x8> 202: 2d ec ldi r18, 0xCD ; 205 204: 3c ec ldi r19, 0xCC ; 204 206: 40 e0 ldi r20, 0x00 ; 0 208: 50 e0 ldi r21, 0x00 ; 0 20a: bc 01 movw r22, r24 20c: e8 2e mov r14, r24 20e: ca 01 movw r24, r20 210: 0e 94 cd 02 call 0x59a ; 0x59a <__mulsi3> 214: 8c 01 movw r16, r24 216: 16 95 lsr r17 218: 07 95 ror r16 21a: 16 95 lsr r17 21c: 07 95 ror r16 21e: 16 95 lsr r17 220: 07 95 ror r16 222: c8 01 movw r24, r16 224: 0e 94 fb 00 call 0x1f6 ; 0x1f6 <avr_modern_demo::serial::Serial::write_int> 228: 86 ef ldi r24, 0xF6 ; 246 22a: 08 02 muls r16, r24 22c: 11 24 eor r1, r1 22e: 80 2d mov r24, r0 230: 8e 0d add r24, r14 232: 90 91 04 08 lds r25, 0x0804 ; 0x800804 <anon.0e9a9fafcd14a44665a97d696f684c31.7+0x7f7a23> 236: 90 72 andi r25, 0x20 ; 32 238: 90 30 cpi r25, 0x00 ; 0 23a: d9 f3 breq .-10 ; 0x232 <.Lname69+0x8> 23c: 80 63 ori r24, 0x30 ; 48 23e: 80 93 02 08 sts 0x0802, r24 ; 0x800802 <anon.0e9a9fafcd14a44665a97d696f684c31.7+0x7f7a21> 242: 1f 91 pop r17 244: 0f 91 pop r16 246: ef 90 pop r14 248: 08 95 ret ```
``` 000001f8 <avr_modern_demo::serial::Serial::write_int>: 1f8: ef 92 push r14 1fa: ff 92 push r15 1fc: 0f 93 push r16 1fe: 1f 93 push r17 200: 8a 30 cpi r24, 0x0A ; 10 202: 91 05 cpc r25, r1 204: 08 f4 brcc .+2 ; 0x208 <.Lname65+0x7> 206: 2c c0 rjmp .+88 ; 0x260 <.Lname73+0xa> 208: 2d ec ldi r18, 0xCD ; 205 20a: 3c ec ldi r19, 0xCC ; 204 20c: 40 e0 ldi r20, 0x00 ; 0 20e: 50 e0 ldi r21, 0x00 ; 0 210: 7c 01 movw r14, r24 212: bc 01 movw r22, r24 214: ca 01 movw r24, r20 216: 0e 94 e3 02 call 0x5c6 ; 0x5c6 <__mulsi3> 21a: 8c 01 movw r16, r24 21c: 16 95 lsr r17 21e: 07 95 ror r16 220: 16 95 lsr r17 222: 07 95 ror r16 224: 16 95 lsr r17 226: 07 95 ror r16 228: c8 01 movw r24, r16 22a: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <avr_modern_demo::serial::Serial::write_int> 22e: 80 91 04 08 lds r24, 0x0804 ; 0x800804 <anon.b5803c54398eee9364225baa7d2d2398.7+0x7f79f7> 232: 80 72 andi r24, 0x20 ; 32 234: 80 30 cpi r24, 0x00 ; 0 236: d9 f3 breq .-10 ; 0x22e <.Lname69+0x4> 238: 86 ef ldi r24, 0xF6 ; 246 23a: 18 02 muls r17, r24 23c: 90 2d mov r25, r0 23e: 11 24 eor r1, r1 240: 08 9f mul r16, r24 242: 81 2d mov r24, r1 244: 11 24 eor r1, r1 246: 80 1b sub r24, r16 248: 89 0f add r24, r25 24a: 28 2f mov r18, r24 24c: 33 27 eor r19, r19 24e: 32 2f mov r19, r18 250: 22 27 eor r18, r18 252: 80 2d mov r24, r0 254: 99 27 eor r25, r25 256: 82 2b or r24, r18 258: 93 2b or r25, r19 25a: 8e 0d add r24, r14 25c: 9f 1d adc r25, r15 25e: 05 c0 rjmp .+10 ; 0x26a <.Lname74+0x9> 260: 20 91 04 08 lds r18, 0x0804 ; 0x800804 <anon.b5803c54398eee9364225baa7d2d2398.7+0x7f79f7> 264: 20 72 andi r18, 0x20 ; 32 266: 20 30 cpi r18, 0x00 ; 0 268: d9 f3 breq .-10 ; 0x260 <.Lname73+0xa> 26a: 80 63 ori r24, 0x30 ; 48 26c: 80 93 02 08 sts 0x0802, r24 ; 0x800802 <anon.b5803c54398eee9364225baa7d2d2398.7+0x7f79f5> 270: 1f 91 pop r17 272: 0f 91 pop r16 274: ff 90 pop r15 276: ef 90 pop r14 278: 08 95 ret ``` ``` pub fn write_int(&self, i: u16) { if i > 9 { self.write_int(i / 10); self.write_int(i % 10); } else { self.write_c(b'0' + i as u8); } } ``` https://github.com/llvm/llvm-project/pull/152028 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits