Comment by ksherlock
6 days ago
There was at least one reason...
long double x87me(long double a, long double b) {
return a+b;
}
pushq %rbp
movq %rsp, %rbp
fldt 32(%rbp)
fldt 16(%rbp)
faddp %st(1)
popq %rbp
retq
what is this?
Looks like a demonstration that using `long double` math requires dipping into x87 instructions, specifically the `fldt` instruction: "floating point load ten bytes".