Visual C++ can emit C4738 warning:

storing 32-bit float result in memory, possible loss of performance

for cases when a 32-bit float is about to be stored in memory instead of being stored in a register.

The description further says using double resolves the issue. I don't get why the latter is true.

Why is storing float in memory result in performance loss and storing double does not?

Edit
Report