#include <stdint.h>
struct foo { char x[5]; };
int copy_foo (struct foo *dst, struct foo *src)
{
*dst = *src;
}
.file "a.c"
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__SREG__ = 0x3f
__RAMPZ__ = 0x3b
__tmp_reg__ = 0
__zero_reg__ = 1
.text
.global copy_foo
.type copy_foo, @function
copy_foo:
push r28
push r29
rcall .
rcall .
in r28,__SP_L__
in r29,__SP_H__
/* prologue: function */
/* frame size = 4 */
/* stack size = 6 */
.L__stack_usage = 6
std Y+2,r25
std Y+1,r24
std Y+4,r23
std Y+3,r22
ldd r24,Y+1
ldd r25,Y+2
ldd r18,Y+3
ldd r19,Y+4
ldi r20,lo8(5)
movw r30,r18
movw r26,r24
0:
ld r0,Z+
st X+,r0
dec r20
brne 0b
/* epilogue start */
pop __tmp_reg__
pop __tmp_reg__
pop __tmp_reg__
pop __tmp_reg__
pop r29
pop r28
ret
.size copy_foo, .-copy_foo
.ident "GCC: (Gentoo 4.8.1 p1.0, pie-0.5.6) 4.8.1"
I2luY2x1ZGUgPHN0ZGludC5oPgoKc3RydWN0IGZvbyB7IGNoYXIgeFs1XTsgfTsKCmludCBjb3B5X2ZvbyAoc3RydWN0IGZvbyAqZHN0LCBzdHJ1Y3QgZm9vICpzcmMpCnsKICAgICpkc3QgPSAqc3JjOwp9CgoKCiAgICAgICAgLmZpbGUgICAiYS5jIgpfX1NQX0hfXyA9IDB4M2UKX19TUF9MX18gPSAweDNkCl9fU1JFR19fID0gMHgzZgpfX1JBTVBaX18gPSAweDNiCl9fdG1wX3JlZ19fID0gMApfX3plcm9fcmVnX18gPSAxCiAgICAgICAgLnRleHQKLmdsb2JhbCBjb3B5X2ZvbwogICAgICAgIC50eXBlICAgY29weV9mb28sIEBmdW5jdGlvbgpjb3B5X2ZvbzoKICAgICAgICBwdXNoIHIyOAogICAgICAgIHB1c2ggcjI5CiAgICAgICAgcmNhbGwgLgogICAgICAgIHJjYWxsIC4KICAgICAgICBpbiByMjgsX19TUF9MX18KICAgICAgICBpbiByMjksX19TUF9IX18KLyogcHJvbG9ndWU6IGZ1bmN0aW9uICovCi8qIGZyYW1lIHNpemUgPSA0ICovCi8qIHN0YWNrIHNpemUgPSA2ICovCi5MX19zdGFja191c2FnZSA9IDYKICAgICAgICBzdGQgWSsyLHIyNQogICAgICAgIHN0ZCBZKzEscjI0CiAgICAgICAgc3RkIFkrNCxyMjMKICAgICAgICBzdGQgWSszLHIyMgogICAgICAgIGxkZCByMjQsWSsxCiAgICAgICAgbGRkIHIyNSxZKzIKICAgICAgICBsZGQgcjE4LFkrMwogICAgICAgIGxkZCByMTksWSs0CiAgICAgICAgbGRpIHIyMCxsbzgoNSkKICAgICAgICBtb3Z3IHIzMCxyMTgKICAgICAgICBtb3Z3IHIyNixyMjQKICAgICAgICAwOgogICAgICAgIGxkIHIwLForCiAgICAgICAgc3QgWCsscjAKICAgICAgICBkZWMgcjIwCiAgICAgICAgYnJuZSAwYgovKiBlcGlsb2d1ZSBzdGFydCAqLwogICAgICAgIHBvcCBfX3RtcF9yZWdfXwogICAgICAgIHBvcCBfX3RtcF9yZWdfXwogICAgICAgIHBvcCBfX3RtcF9yZWdfXwogICAgICAgIHBvcCBfX3RtcF9yZWdfXwogICAgICAgIHBvcCByMjkKICAgICAgICBwb3AgcjI4CiAgICAgICAgcmV0CiAgICAgICAgLnNpemUgICBjb3B5X2ZvbywgLi1jb3B5X2ZvbwogICAgICAgIC5pZGVudCAgIkdDQzogKEdlbnRvbyA0LjguMSBwMS4wLCBwaWUtMC41LjYpIDQuOC4xIg==