File: eucl.ssa

package info (click to toggle)
qbe 1.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,004 kB
  • sloc: ansic: 13,368; yacc: 843; ml: 466; sh: 379; python: 232; makefile: 100
file content (25 lines) | stat: -rw-r--r-- 375 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# euclide's algorithm in ssa
# it is a fairly interesting
# ssa program because of the
# swap of b and a

export
function $test() {
@start

@loop
	%a =w phi @start 380, @loop %r
	%b =w phi @start 747, @loop %a
	%r =w rem %b, %a
	jnz %r, @loop, @end

@end
	storew %a, $a
	ret
}

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