1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/procedure-callingconvention-stack-13.cfg
jespergravgaard 6253bdce28 Improved out
2020-10-05 22:58:02 +02:00

30 lines
829 B
INI

__stackcall byte pow2(byte pow2::n)
pow2: scope:[pow2] from
[0] pow2::n#0 = stackidx(byte,pow2::OFFSET_STACK_N)
[1] if(pow2::n#0==0) goto pow2::@return
to:pow2::@1
pow2::@1: scope:[pow2] from pow2
[2] pow2::$1 = pow2::n#0 - 1
[3] stackpush(byte) = pow2::$1
[4] callexecute pow2
[5] pow2::c#0 = stackpull(byte)
[6] pow2::return#1 = pow2::c#0 + pow2::c#0
to:pow2::@return
pow2::@return: scope:[pow2] from pow2 pow2::@1
[7] pow2::return#2 = phi( pow2/1, pow2::@1/pow2::return#1 )
[8] stackidx(byte,pow2::OFFSET_STACK_RETURN) = pow2::return#2
[9] return
to:@return
void main()
main: scope:[main] from
[10] stackpush(byte) = 6
[11] callexecute pow2
[12] main::$0 = stackpull(byte)
[13] *SCREEN = main::$0
to:main::@return
main::@return: scope:[main] from main
[14] return
to:@return