| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383 |
- ;Testname=unoptimized; Arguments=-O0 -fbin -ofloatexp.bin; Files=stdout stderr floatexp.bin
- ;Testname=optimized; Arguments=-Ox -fbin -ofloatexp.bin; Files=stdout stderr floatexp.bin
- bits 64
- ;
- ; Test of floating-point formats
- ;
- ; 8-bit
- mov al,__float8__(1.0)
- mov al,__float8__(+1.0)
- mov al,__float8__(-1.0)
- mov al,__float8__(0.0)
- mov al,__float8__(+0.0)
- mov al,__float8__(-0.0)
- mov al,__float8__(1.83203125)
- mov al,__float8__(+1.83203125)
- mov al,__float8__(-1.83203125)
- mov al,__float8__(1.83203125e1)
- mov al,__float8__(+1.83203125e1)
- mov al,__float8__(-1.83203125e1)
- mov al,__float8__(1.83203125e-1)
- mov al,__float8__(+1.83203125e-1)
- mov al,__float8__(-1.83203125e-1)
- mov al,__float8__(1.13203125e-2) ; Denormal!
- mov al,__float8__(+1.13203125e-2) ; Denormal!
- mov al,__float8__(-1.13203125e-2) ; Denormal!
- mov al,__float8__(__Infinity__)
- mov al,__float8__(+__Infinity__)
- mov al,__float8__(-__Infinity__)
- mov al,__float8__(__NaN__)
- mov al,__float8__(__QNaN__)
- mov al,__float8__(__SNaN__)
- ; 16-bit
- mov ax,__float16__(1.0)
- mov ax,__float16__(+1.0)
- mov ax,__float16__(-1.0)
- mov ax,__float16__(0.0)
- mov ax,__float16__(+0.0)
- mov ax,__float16__(-0.0)
- mov ax,__float16__(1.83203125)
- mov ax,__float16__(+1.83203125)
- mov ax,__float16__(-1.83203125)
- mov ax,__float16__(1.83203125e3)
- mov ax,__float16__(+1.83203125e3)
- mov ax,__float16__(-1.83203125e3)
- mov ax,__float16__(1.83203125e-3)
- mov ax,__float16__(+1.83203125e-3)
- mov ax,__float16__(-1.83203125e-3)
- mov ax,__float16__(1.83203125e-6) ; Denormal!
- mov ax,__float16__(+1.83203125e-6) ; Denormal!
- mov ax,__float16__(-1.83203125e-6) ; Denormal!
- mov ax,__float16__(__Infinity__)
- mov ax,__float16__(+__Infinity__)
- mov ax,__float16__(-__Infinity__)
- mov ax,__float16__(__NaN__)
- mov ax,__float16__(__QNaN__)
- mov ax,__float16__(__SNaN__)
- ; 32-bit
- mov eax,__float32__(1.0)
- mov eax,__float32__(+1.0)
- mov eax,__float32__(-1.0)
- mov eax,__float32__(0.0)
- mov eax,__float32__(+0.0)
- mov eax,__float32__(-0.0)
- mov eax,__float32__(1.83203125)
- mov eax,__float32__(+1.83203125)
- mov eax,__float32__(-1.83203125)
- mov eax,__float32__(1.83203125e15)
- mov eax,__float32__(+1.83203125e15)
- mov eax,__float32__(-1.83203125e15)
- mov eax,__float32__(1.83203125e-15)
- mov eax,__float32__(+1.83203125e-15)
- mov eax,__float32__(-1.83203125e-15)
- mov eax,__float32__(1.83203125e-40) ; Denormal!
- mov eax,__float32__(+1.83203125e-40) ; Denormal!
- mov eax,__float32__(-1.83203125e-40) ; Denormal!
- mov eax,__float32__(__Infinity__)
- mov eax,__float32__(+__Infinity__)
- mov eax,__float32__(-__Infinity__)
- mov eax,__float32__(__NaN__)
- mov eax,__float32__(__QNaN__)
- mov eax,__float32__(__SNaN__)
- ; 64-bit
- mov rax,__float64__(1.0)
- mov rax,__float64__(+1.0)
- mov rax,__float64__(-1.0)
- mov rax,__float64__(0.0)
- mov rax,__float64__(+0.0)
- mov rax,__float64__(-0.0)
- mov rax,__float64__(1.83203125)
- mov rax,__float64__(+1.83203125)
- mov rax,__float64__(-1.83203125)
- mov rax,__float64__(1.83203125e300)
- mov rax,__float64__(+1.83203125e300)
- mov rax,__float64__(-1.83203125e300)
- mov rax,__float64__(1.83203125e-300)
- mov rax,__float64__(+1.83203125e-300)
- mov rax,__float64__(-1.83203125e-300)
- mov rax,__float64__(1.83203125e-320) ; Denormal!
- mov rax,__float64__(+1.83203125e-320) ; Denormal!
- mov rax,__float64__(-1.83203125e-320) ; Denormal!
- mov rax,__float64__(__Infinity__)
- mov rax,__float64__(+__Infinity__)
- mov rax,__float64__(-__Infinity__)
- mov rax,__float64__(__NaN__)
- mov rax,__float64__(__QNaN__)
- mov rax,__float64__(__SNaN__)
- ; 80-bit
- mov rax,__float80m__(1.0)
- mov ax,__float80e__(1.0)
- mov rax,__float80m__(+1.0)
- mov ax,__float80e__(+1.0)
- mov rax,__float80m__(-1.0)
- mov ax,__float80e__(-1.0)
- mov rax,__float80m__(0.0)
- mov ax,__float80e__(0.0)
- mov rax,__float80m__(+0.0)
- mov ax,__float80e__(+0.0)
- mov rax,__float80m__(-0.0)
- mov ax,__float80e__(-0.0)
- mov rax,__float80m__(1.83203125)
- mov ax,__float80e__(1.83203125)
- mov rax,__float80m__(+1.83203125)
- mov ax,__float80e__(+1.83203125)
- mov rax,__float80m__(-1.83203125)
- mov ax,__float80e__(-1.83203125)
- mov rax,__float80m__(1.83203125e+4000)
- mov ax,__float80e__(1.83203125e+4000)
- mov rax,__float80m__(+1.83203125e+4000)
- mov ax,__float80e__(+1.83203125e+4000)
- mov rax,__float80m__(-1.83203125e+4000)
- mov ax,__float80e__(-1.83203125e+4000)
- mov rax,__float80m__(1.83203125e-4000)
- mov ax,__float80e__(1.83203125e-4000)
- mov rax,__float80m__(+1.83203125e-4000)
- mov ax,__float80e__(+1.83203125e-4000)
- mov rax,__float80m__(-1.83203125e-4000)
- mov ax,__float80e__(-1.83203125e-4000)
- mov rax,__float80m__(1.83203125e-4940) ; Denormal!
- mov ax,__float80e__(1.83203125e-4940) ; Denormal!
- mov rax,__float80m__(+1.83203125e-4940) ; Denormal!
- mov ax,__float80e__(+1.83203125e-4940) ; Denormal!
- mov rax,__float80m__(-1.83203125e-4940) ; Denormal!
- mov ax,__float80e__(-1.83203125e-4940) ; Denormal!
- mov rax,__float80m__(__Infinity__)
- mov ax,__float80e__(__Infinity__)
- mov rax,__float80m__(+__Infinity__)
- mov ax,__float80e__(+__Infinity__)
- mov rax,__float80m__(-__Infinity__)
- mov ax,__float80e__(-__Infinity__)
- mov rax,__float80m__(__NaN__)
- mov ax,__float80e__(__NaN__)
- mov rax,__float80m__(__QNaN__)
- mov ax,__float80e__(__QNaN__)
- mov rax,__float80m__(__SNaN__)
- mov ax,__float80e__(__SNaN__)
- ; 128-bit
- mov rax,__float128l__(1.0)
- mov rax,__float128h__(1.0)
- mov rax,__float128l__(+1.0)
- mov rax,__float128h__(+1.0)
- mov rax,__float128l__(-1.0)
- mov rax,__float128h__(-1.0)
- mov rax,__float128l__(0.0)
- mov rax,__float128h__(0.0)
- mov rax,__float128l__(+0.0)
- mov rax,__float128h__(+0.0)
- mov rax,__float128l__(-0.0)
- mov rax,__float128h__(-0.0)
- mov rax,__float128l__(1.83203125)
- mov rax,__float128h__(1.83203125)
- mov rax,__float128l__(+1.83203125)
- mov rax,__float128h__(+1.83203125)
- mov rax,__float128l__(-1.83203125)
- mov rax,__float128h__(-1.83203125)
- mov rax,__float128l__(1.83203125e+4000)
- mov rax,__float128h__(1.83203125e+4000)
- mov rax,__float128l__(+1.83203125e+4000)
- mov rax,__float128h__(+1.83203125e+4000)
- mov rax,__float128l__(-1.83203125e+4000)
- mov rax,__float128h__(-1.83203125e+4000)
- mov rax,__float128l__(1.83203125e-4000)
- mov rax,__float128h__(1.83203125e-4000)
- mov rax,__float128l__(+1.83203125e-4000)
- mov rax,__float128h__(+1.83203125e-4000)
- mov rax,__float128l__(-1.83203125e-4000)
- mov rax,__float128h__(-1.83203125e-4000)
- mov rax,__float128l__(1.83203125e-4940) ; Denormal!
- mov rax,__float128h__(1.83203125e-4940) ; Denormal!
- mov rax,__float128l__(+1.83203125e-4940) ; Denormal!
- mov rax,__float128h__(+1.83203125e-4940) ; Denormal!
- mov rax,__float128l__(-1.83203125e-4940) ; Denormal!
- mov rax,__float128h__(-1.83203125e-4940) ; Denormal!
- mov rax,__float128l__(__Infinity__)
- mov rax,__float128h__(__Infinity__)
- mov rax,__float128l__(+__Infinity__)
- mov rax,__float128h__(+__Infinity__)
- mov rax,__float128l__(-__Infinity__)
- mov rax,__float128h__(-__Infinity__)
- mov rax,__float128l__(__NaN__)
- mov rax,__float128h__(__NaN__)
- mov rax,__float128l__(__QNaN__)
- mov rax,__float128h__(__QNaN__)
- mov rax,__float128l__(__SNaN__)
- mov rax,__float128h__(__SNaN__)
- ;
- ; Test hexadecimal floating-point numbers
- ;
-
- ; 16-bit
- mov ax,__float16__(1.0)
- mov ax,__float16__(0x1.0)
- mov ax,__float16__(2.0)
- mov ax,__float16__(0x2.0)
- mov ax,__float16__(0x1.0p+1)
- mov ax,__float16__(0x1.0p-1)
- mov ax,__float16__(0x0.0)
- mov ax,__float16__(0x1.23456789)
- mov ax,__float16__(0x0.123456789)
- mov ax,__float16__(0x0.0000123456789)
- mov ax,__float16__(0x1.23456789p10)
- mov ax,__float16__(0x1.23456789p+10)
- mov ax,__float16__(0x1.23456789p-10)
- mov ax,__float16__(0x0.123456789p10)
- mov ax,__float16__(0x0.123456789p+10)
- mov ax,__float16__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov ax,__float16__(0x0.0000123456789)
- mov ax,__float16__(0x0.0000123456789p+10)
- mov ax,__float16__(0x0.0000123456789p-10)
- ; 32-bit
- mov eax,__float32__(1.0)
- mov eax,__float32__(0x1.0)
- mov eax,__float32__(2.0)
- mov eax,__float32__(0x2.0)
- mov eax,__float32__(0x1.0p+1)
- mov eax,__float32__(0x1.0p-1)
- mov eax,__float32__(0x0.0)
- mov eax,__float32__(0x1.23456789)
- mov eax,__float32__(0x0.123456789)
- mov eax,__float32__(0x0.0000123456789)
- mov eax,__float32__(0x1.23456789p10)
- mov eax,__float32__(0x1.23456789p+10)
- mov eax,__float32__(0x1.23456789p-10)
- mov eax,__float32__(0x0.123456789p10)
- mov eax,__float32__(0x0.123456789p+10)
- mov eax,__float32__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov eax,__float32__(0x0.0000123456789)
- mov eax,__float32__(0x0.0000123456789p+10)
- mov eax,__float32__(0x0.0000123456789p-10)
- mov eax,__float32__(0x123456789.0)
- mov eax,__float32__(0x0000123456789.0)
- mov eax,__float32__(0x123456789.0p+0)
- mov eax,__float32__(0x123456789.0p+64)
- ; 64-bit
- mov rax,__float64__(1.0)
- mov rax,__float64__(0x1.0)
- mov rax,__float64__(2.0)
- mov rax,__float64__(0x2.0)
- mov rax,__float64__(0x1.0p+1)
- mov rax,__float64__(0x1.0p-1)
- mov rax,__float64__(0x0.0)
- mov rax,__float64__(0x1.23456789)
- mov rax,__float64__(0x0.123456789)
- mov rax,__float64__(0x0.0000123456789)
- mov rax,__float64__(0x1.23456789p10)
- mov rax,__float64__(0x1.23456789p+10)
- mov rax,__float64__(0x1.23456789p-10)
- mov rax,__float64__(0x0.123456789p10)
- mov rax,__float64__(0x0.123456789p+10)
- mov rax,__float64__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov rax,__float64__(0x0.0000123456789)
- mov rax,__float64__(0x0.0000123456789p+10)
- mov rax,__float64__(0x0.0000123456789p-10)
- mov rax,__float64__(0x123456789.0)
- mov rax,__float64__(0x0000123456789.0)
- mov rax,__float64__(0x123456789.0p+0)
- mov rax,__float64__(0x123456789.0p+300)
-
- ; 80-bit
- mov rax,__float80m__(1.0)
- mov ax,__float80e__(1.0)
- mov rax,__float80m__(0x1.0)
- mov ax,__float80e__(0x1.0)
- mov rax,__float80m__(2.0)
- mov ax,__float80e__(2.0)
- mov rax,__float80m__(0x2.0)
- mov ax,__float80e__(0x2.0)
- mov rax,__float80m__(0x1.0p+1)
- mov ax,__float80e__(0x1.0p+1)
- mov rax,__float80m__(0x1.0p-1)
- mov ax,__float80e__(0x1.0p-1)
- mov rax,__float80m__(0x0.0)
- mov ax,__float80e__(0x0.0)
- mov rax,__float80m__(0x1.23456789)
- mov ax,__float80e__(0x1.23456789)
- mov rax,__float80m__(0x0.123456789)
- mov ax,__float80e__(0x0.123456789)
- mov rax,__float80m__(0x0.0000123456789)
- mov ax,__float80e__(0x0.0000123456789)
- mov rax,__float80m__(0x1.23456789p10)
- mov ax,__float80e__(0x1.23456789p10)
- mov rax,__float80m__(0x1.23456789p+10)
- mov ax,__float80e__(0x1.23456789p+10)
- mov rax,__float80m__(0x1.23456789p-10)
- mov ax,__float80e__(0x1.23456789p-10)
- mov rax,__float80m__(0x0.123456789p10)
- mov ax,__float80e__(0x0.123456789p10)
- mov rax,__float80m__(0x0.123456789p+10)
- mov ax,__float80e__(0x0.123456789p+10)
- mov rax,__float80m__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov ax,__float80e__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov rax,__float80m__(0x0.0000123456789)
- mov ax,__float80e__(0x0.0000123456789)
- mov rax,__float80m__(0x0.0000123456789p+10)
- mov ax,__float80e__(0x0.0000123456789p+10)
- mov rax,__float80m__(0x0.0000123456789p-10)
- mov ax,__float80e__(0x0.0000123456789p-10)
- mov rax,__float80m__(0x123456789.0)
- mov ax,__float80e__(0x123456789.0)
- mov rax,__float80m__(0x0000123456789.0)
- mov ax,__float80e__(0x0000123456789.0)
- mov rax,__float80m__(0x123456789.0p+0)
- mov ax,__float80e__(0x123456789.0p+0)
- mov rax,__float80m__(0x123456789.0p+1024)
- mov ax,__float80e__(0x123456789.0p+1024)
- ; 128-bit
- mov rax,__float128l__(1.0)
- mov rax,__float128h__(1.0)
- mov rax,__float128l__(0x1.0)
- mov rax,__float128h__(0x1.0)
- mov rax,__float128l__(2.0)
- mov rax,__float128h__(2.0)
- mov rax,__float128l__(0x2.0)
- mov rax,__float128h__(0x2.0)
- mov rax,__float128l__(0x1.0p+1)
- mov rax,__float128h__(0x1.0p+1)
- mov rax,__float128l__(0x1.0p-1)
- mov rax,__float128h__(0x1.0p-1)
- mov rax,__float128l__(0x0.0)
- mov rax,__float128h__(0x0.0)
- mov rax,__float128l__(0x1.23456789)
- mov rax,__float128h__(0x1.23456789)
- mov rax,__float128l__(0x0.123456789)
- mov rax,__float128h__(0x0.123456789)
- mov rax,__float128l__(0x0.0000123456789)
- mov rax,__float128h__(0x0.0000123456789)
- mov rax,__float128l__(0x1.23456789p10)
- mov rax,__float128h__(0x1.23456789p10)
- mov rax,__float128l__(0x1.23456789p+10)
- mov rax,__float128h__(0x1.23456789p+10)
- mov rax,__float128l__(0x1.23456789p-10)
- mov rax,__float128h__(0x1.23456789p-10)
- mov rax,__float128l__(0x0.123456789p10)
- mov rax,__float128h__(0x0.123456789p10)
- mov rax,__float128l__(0x0.123456789p+10)
- mov rax,__float128h__(0x0.123456789p+10)
- mov rax,__float128l__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov rax,__float128h__(0x0.123456789abcdef0123456789abcdef012345p-10)
- mov rax,__float128l__(0x0.0000123456789)
- mov rax,__float128h__(0x0.0000123456789)
- mov rax,__float128l__(0x0.0000123456789p+10)
- mov rax,__float128h__(0x0.0000123456789p+10)
- mov rax,__float128l__(0x0.0000123456789p-10)
- mov rax,__float128h__(0x0.0000123456789p-10)
- mov rax,__float128l__(0x123456789.0)
- mov rax,__float128h__(0x123456789.0)
- mov rax,__float128l__(0x0000123456789.0)
- mov rax,__float128h__(0x0000123456789.0)
- mov rax,__float128l__(0x123456789.0p+0)
- mov rax,__float128h__(0x123456789.0p+0)
- mov rax,__float128l__(0x123456789.0p+1024)
- mov rax,__float128h__(0x123456789.0p+1024)
|