| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- ;Testname=O0; Arguments=-O0 -fbin -ooptimization.bin; Files=stdout stderr optimization.bin
- ;Testname=O1; Arguments=-O1 -fbin -ooptimization.bin; Files=stdout stderr optimization.bin
- ;Testname=Ox; Arguments=-Ox -fbin -ooptimization.bin; Files=stdout stderr optimization.bin
- BITS 32
- ; Simple
- jmp foo
- times 124 nop
- foo:
- ; Must start short to converge optimally
- jmp car
- times 127 nop
- car:
- ; Always near
- jmp cdr
- times 128 nop
- cdr:
- ; Simple
- add eax, quux2 - quux1
- quux1:
- times 127 nop
- quux2:
- ; Must start short
- corge1:
- add eax, corge2 - corge1
- times 127 - 3 nop
- corge2:
- ; Simple
- lea eax, [bolug2-bolug1]
- bolug1:
- times 127 nop
- bolug2:
- ; Must start short
- calog1:
- lea eax, [calog2-calog1]
- times 127 - 3 nop
- calog2:
- ; Simple
- lea eax, [eax+dolug2-dolug1]
- dolug1:
- times 127 nop
- dolug2:
- ; Must start short
- ealog1:
- lea eax, [eax+ealog2-ealog1]
- times 127 - 3 nop
- ealog2:
- ; Must stay long!
- lea eax, [eax+folug2-folug1]
- folug1:
- times 128 nop
- folug2:
- ; Must stay long!
- galog1:
- lea eax, [eax+galog2-galog1]
- times 128 - 3 nop
- galog2:
- ; Sbyte tests...
- onetwentysix equ 126
- onetwentynine equ 129
-
- add eax,onetwentyseven ; sbyte (forward)
- add eax,onetwentyeight ; not sbyte (forward)
- add eax,onetwentyseven ; sbyte (forward)
- add eax,onetwentysix ; sbyte (backward)
- add eax,onetwentynine ; not sbyte (backward)
- add ecx,onetwentyseven ; sbyte (forward)
- add ecx,onetwentyeight ; not sbyte (forward)
- add ecx,onetwentyseven ; sbyte (forward)
- add ecx,onetwentysix ; sbyte (backward)
- add ecx,onetwentynine ; not sbyte (backward)
-
- onetwentyseven equ 127
- onetwentyeight equ 128
- ; Simple
- add eax, holug2-holug1
- holug1:
- times 127 nop
- holug2:
- ; Must start short
- ialog1:
- add eax, ialog2-ialog1
- times 127 - 3 nop
- ialog2:
-
- ; Do not confuse forward references and segmentless addresses!
- jmp 12345
|