1*9880d681SAndroid Build Coastguard Worker; This testcase checks to make sure that the assembler can handle floating 2*9880d681SAndroid Build Coastguard Worker; point constants in IEEE hex format. This also checks that the disassembler, 3*9880d681SAndroid Build Coastguard Worker; when presented with a FP constant that cannot be represented exactly in 4*9880d681SAndroid Build Coastguard Worker; exponential form, outputs it correctly in hex format. This is a distillation 5*9880d681SAndroid Build Coastguard Worker; of the bug that was causing the Olden Health benchmark to output incorrect 6*9880d681SAndroid Build Coastguard Worker; results! 7*9880d681SAndroid Build Coastguard Worker; 8*9880d681SAndroid Build Coastguard Worker; RUN: opt -constprop -S > %t.1 < %s 9*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | llvm-as | opt -constprop | \ 10*9880d681SAndroid Build Coastguard Worker; RUN: llvm-dis > %t.2 11*9880d681SAndroid Build Coastguard Worker; RUN: diff %t.1 %t.2 12*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine double @test() { 15*9880d681SAndroid Build Coastguard Worker %tmp = fmul double 7.200000e+101, 0x427F4000 ; <double> [#uses=1] 16*9880d681SAndroid Build Coastguard Worker ret double %tmp 17*9880d681SAndroid Build Coastguard Worker} 18