| 1 | # Reported 93/05/09 by Jim Wilson: IEEE single-precision FLT_MIN value gets |
| 2 | # assembled incorrectly. (Off by one ulp.) |
| 3 | |
| 4 | proc dotest {} { |
| 5 | set testname "IEEE FLT_MIN, single-precision" |
| 6 | set x 0 |
| 7 | gas_start "x930509a.s" "-al" |
| 8 | while 1 { |
| 9 | expect { |
| 10 | -re " 00 ?00 ?80 ?00\[ \]+.single" { pass $testname; set x 1 } |
| 11 | -re " 00 ?80 ?00 ?00\[ \]+.single" { pass $testname; set x 1 } |
| 12 | -re ".single" { fail $testname; set x 1 } |
| 13 | -re "\[^\n\]*\n" { } |
| 14 | timeout { perror "timeout\n"; break } |
| 15 | eof { break } |
| 16 | } |
| 17 | } |
| 18 | gas_finish |
| 19 | if !$x then { fail "$testname (listing didn't match)" } |
| 20 | } |
| 21 | |
| 22 | # C54x alignment/addressing is different, so the listing looks different |
| 23 | # float encoding is tested in c54x-specific tests. |
| 24 | # No floating point support in assembly code for CRIS. |
| 25 | if { ![istarget vax*-*-*] && ![istarget *c54x*-*-*] && ![istarget *c30*-*-*] |
| 26 | && ![istarget cris-*-*] && ![istarget arc*-*-*] } then { |
| 27 | dotest |
| 28 | } |