Understanding GCC's floating point constants in assembly listing output
问题 Just out of curiosity, I'm using Compiler Explorer to see the assembly output of some simple C++ codes. Consider the following example int main(void){ double x = -5.3; } Assembly output main: push rbp mov rbp, rsp movsd xmm0, QWORD PTR .LC0[rip] movsd QWORD PTR [rbp-8], xmm0 mov eax, 0 pop rbp ret .LC0: .long 858993459 .long -1072352461 I would like to understand how to use .LC0: .long 858993459 .long -1072352461 to get back my -5.3 . My uninformed guess is that I need to merge the bit