summary refs log tree commit diff
path: root/test/loop.ssa
blob: c8c4ee004792fa629a7c5650f5fc20a0f60e74df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# simple looping program
# sums all integers from 100 to 0

function $test() {
@start

@loop
	%s  =w phi @start   0, @loop %s1
	%n  =w phi @start 100, @loop %n1
	%s1 =w add %s, %n
	%n1 =w sub %n, 1
	jnz %n1, @loop, @end

@end
	storew %s1, $a
	ret
}

# >>> driver
# extern void test(void);
# int a;
# int main() { test(); return !(a == 5050); }
# <<<