summaryrefslogtreecommitdiff
path: root/test/convergence.asm
blob: 02ef2e1f35312dcdf33ec63acd7a15a2a15e4906 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
;Testname=O0; Arguments=-O0 -fbin -oconvergence.bin; Files=stdout stderr convergence.bin
;Testname=O1; Arguments=-O1 -fbin -oconvergence.bin; Files=stdout stderr convergence.bin
;Testname=Ox; Arguments=-Ox -fbin -oconvergence.bin; Files=stdout stderr convergence.bin

BITS 32

jmp foo
times 124 nop
foo:

jmp bar
times 125 nop
bar:

db 0

jmp baz
times 126 nop
baz:

jmp car
times 127 nop
car:

add eax, quux2 - quux1
quux1:
times 127 nop
quux2:

; currently fails - short add possible but converges to long form
corge1:
add eax, corge2 - corge1
times 124 nop
corge2:

; this needs to actually *work*...
jmp 12345