Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; This testcase checks to make sure that the assembler can handle floating |
| 2 | ; point constants in IEEE hex format. This also checks that the disassembler, |
| 3 | ; when presented with a FP constant that cannot be represented exactly in |
| 4 | ; exponential form, outputs it correctly in hex format. This is a distillation |
| 5 | ; of the bug that was causing the Olden Health benchmark to output incorrect |
| 6 | ; results! |
| 7 | ; |
Tanya Lattner | 74bb9f5 | 2008-02-14 07:57:12 +0000 | [diff] [blame] | 8 | ; RUN: llvm-as < %s | opt -constprop | llvm-dis > %t.1 |
| 9 | ; RUN: llvm-as < %s | llvm-dis | llvm-as | opt -constprop | \ |
| 10 | ; RUN: llvm-dis > %t.2 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 11 | ; RUN: diff %t.1 %t.2 |
| 12 | |
Tanya Lattner | 74bb9f5 | 2008-02-14 07:57:12 +0000 | [diff] [blame] | 13 | define double @test() { |
Dan Gohman | 7ce405e | 2009-06-04 22:49:04 +0000 | [diff] [blame^] | 14 | %tmp = fmul double 7.200000e+101, 0x427F4000 ; <double> [#uses=1] |
Tanya Lattner | 74bb9f5 | 2008-02-14 07:57:12 +0000 | [diff] [blame] | 15 | ret double %tmp |
| 16 | } |