diff options
Diffstat (limited to 'test/Assembler/2002-04-07-HexFloatConstants.llx')
-rw-r--r-- | test/Assembler/2002-04-07-HexFloatConstants.llx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Assembler/2002-04-07-HexFloatConstants.llx b/test/Assembler/2002-04-07-HexFloatConstants.llx new file mode 100644 index 0000000..543c869 --- /dev/null +++ b/test/Assembler/2002-04-07-HexFloatConstants.llx @@ -0,0 +1,19 @@ +; This testcase checks to make sure that the assembler can handle floating +; point constants in IEEE hex format. This also checks that the disassembler, +; when presented with a FP constant that cannot be represented exactly in +; exponential form, outputs it correctly in hex format. This is a distillation +; of the bug that was causing the Olden Health benchmark to output incorrect +; results! +; +; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis > %t.1 +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | llvm-as | opt -constprop | \ +; RUN: llvm-dis > %t.2 +; RUN: diff %t.1 %t.2 + +implementation + +double "test"() +begin + %tmp = mul double 72.0e100, 0x427f4000 + ret double %tmp +end |