#include <stdint.h>
int32_t foo (int32_t x)
{
return (x / 4);
}
// Result:
.file "a.c"
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__SREG__ = 0x3f
__tmp_reg__ = 0
__zero_reg__ = 1
.text
.global foo
.type foo, @function
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+1,r22
std Y+2,r23
std Y+3,r24
std Y+4,r25
ldd r24,Y+1
ldd r25,Y+2
ldd r26,Y+3
ldd r27,Y+4
tst r27
brge .L2
adiw r24,3
adc r26,__zero_reg__
adc r27,__zero_reg__
.L2:
asr r27
ror r26
ror r25
ror r24
asr r27
ror r26
ror r25
ror r24
mov r22,r24
mov r23,r25
mov r24,r26
mov r25,r27
/* epilogue start */
pop __tmp_reg__
pop __tmp_reg__
pop __tmp_reg__
pop __tmp_reg__
pop r29
pop r28
ret
.size foo, .-foo
.ident "GCC: (Gentoo 4.9.0_alpha20130707) 4.9.0-alpha20130707 20130707 (experimental)"
I2luY2x1ZGUgPHN0ZGludC5oPgoKaW50MzJfdCBmb28gKGludDMyX3QgeCkKewogICAgcmV0dXJuICh4IC8gNCk7Cn0KCgovLyBSZXN1bHQ6CgoJLmZpbGUJImEuYyIKX19TUF9IX18gPSAweDNlCl9fU1BfTF9fID0gMHgzZApfX1NSRUdfXyA9IDB4M2YKX190bXBfcmVnX18gPSAwCl9femVyb19yZWdfXyA9IDEKCS50ZXh0Ci5nbG9iYWwJZm9vCgkudHlwZQlmb28sIEBmdW5jdGlvbgpmb286CglwdXNoIHIyOAoJcHVzaCByMjkKCXJjYWxsIC4KCXJjYWxsIC4KCWluIHIyOCxfX1NQX0xfXwoJaW4gcjI5LF9fU1BfSF9fCi8qIHByb2xvZ3VlOiBmdW5jdGlvbiAqLwovKiBmcmFtZSBzaXplID0gNCAqLwovKiBzdGFjayBzaXplID0gNiAqLwouTF9fc3RhY2tfdXNhZ2UgPSA2CglzdGQgWSsxLHIyMgoJc3RkIFkrMixyMjMKCXN0ZCBZKzMscjI0CglzdGQgWSs0LHIyNQoJbGRkIHIyNCxZKzEKCWxkZCByMjUsWSsyCglsZGQgcjI2LFkrMwoJbGRkIHIyNyxZKzQKCXRzdCByMjcKCWJyZ2UgLkwyCglhZGl3IHIyNCwzCglhZGMgcjI2LF9femVyb19yZWdfXwoJYWRjIHIyNyxfX3plcm9fcmVnX18KLkwyOgoJYXNyIHIyNwoJcm9yIHIyNgoJcm9yIHIyNQoJcm9yIHIyNAoJYXNyIHIyNwoJcm9yIHIyNgoJcm9yIHIyNQoJcm9yIHIyNAoJbW92IHIyMixyMjQKCW1vdiByMjMscjI1Cgltb3YgcjI0LHIyNgoJbW92IHIyNSxyMjcKLyogZXBpbG9ndWUgc3RhcnQgKi8KCXBvcCBfX3RtcF9yZWdfXwoJcG9wIF9fdG1wX3JlZ19fCglwb3AgX190bXBfcmVnX18KCXBvcCBfX3RtcF9yZWdfXwoJcG9wIHIyOQoJcG9wIHIyOAoJcmV0Cgkuc2l6ZQlmb28sIC4tZm9vCgkuaWRlbnQJIkdDQzogKEdlbnRvbyA0LjkuMF9hbHBoYTIwMTMwNzA3KSA0LjkuMC1hbHBoYTIwMTMwNzA3IDIwMTMwNzA3IChleHBlcmltZW50YWwpIg==