История изменений
Исправление shkolnick-kun, (текущая версия) :
На amd64 (gcc):
14 b = a;
0x55555555514e lea rax,[rbp-0x400]
0x555555555155 lea rdx,[rbp-0x200]
0x55555555515c mov ecx,0x40
0x555555555161 mov rdi,rax
0x555555555164 mov rsi,rdx
0x555555555167 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
На AVR (gcc):
1195 b = a;
=> 0x00006f3a <+44>: ldi r18, 0x20 ; 32
0x00006f3c <+46>: movw r24, r28
0x00006f3e <+48>: adiw r24, 0x01 ; 1
0x00006f40 <+50>: movw r30, r24
0x00006f42 <+52>: movw r26, r28
0x00006f44 <+54>: adiw r26, 0x21 ; 33
0x00006f46 <+56>: ld r0, Z+
0x00006f48 <+58>: st X+, r0
0x00006f4a <+60>: dec r18
0x00006f4c <+62>: brne .-8 ; 0x6f46 <main+56>
OK, оно сгенерировало саму memcpy, а не вызов…
Исходная версия shkolnick-kun, :
На amd64 (gcc):
14 b = a;
0x55555555514e lea rax,[rbp-0x400]
0x555555555155 lea rdx,[rbp-0x200]
0x55555555515c mov ecx,0x40
0x555555555161 mov rdi,rax
0x555555555164 mov rsi,rdx
0x555555555167 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
На AVR (gcc):
1195 b = a;
=> 0x00006f3a <+44>: ldi r18, 0x20 ; 32
0x00006f3c <+46>: movw r24, r28
0x00006f3e <+48>: adiw r24, 0x01 ; 1
0x00006f40 <+50>: movw r30, r24
0x00006f42 <+52>: movw r26, r28
0x00006f44 <+54>: adiw r26, 0x21 ; 33
0x00006f46 <+56>: ld r0, Z+
0x00006f48 <+58>: st X+, r0
0x00006f4a <+60>: dec r18
0x00006f4c <+62>: brne .-8 ; 0x6f46 <main+56>
OK, оно сгенерировало саму memcpyа не вызов…