https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77457
Bug ID: 77457 Summary: Print intended value of constants in assembly output Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: b7.10110111 at gmail dot com Target Milestone: --- Consider the following simple program: void f() { volatile double x=0.352; } I compile it with `gcc test.c -S -masm=intel -fverbose-asm` and get the following for the value of `x`: .LC0: .long 34359738 .long 1071023915 .ident "GCC: (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204" To decypher it while reading the listing one has to manually concatenate hexadecimal forms of these two numbers, and then transform to floating-point form. Not too handy. For comparison, this is what I get from clang: .LCPI0_0: .quad 4600012688193243578 # double 0.35199999999999998 <...skipped some code...> .ident "Ubuntu clang version 3.8.0-svn257311-1~exp1 (trunk) (based on LLVM 3.8.0)" It would be really useful if GCC also printed the intended values of the constants it emits. Namely, this should be done for float, double and long double.