3 ms·
It used to, but it's nowhere near as correspondent with modern architectures that incorporate SIMD/SSE, complicated branching and pipelining strategies, SMT and
by vezzy-fnord 11y ago
It used to, but it's nowhere near as correspondent with modern architectures that incorporate SIMD/SSE, complicated branching and pipelining strategies, SMT and so on. Nowadays C is a register machine model of its own, with plenty of gotchas and UB that are quite specific to it.
The spec isn't terse for a reason.
- pmalynin 11y ago*With -O0
- pcwalton 11y agoNo, C does not expose a 1:1 mapping to assembly in any architecture, at -O0 or otherwise. To give one simple example, the C pointer types correspond to nothing meaningful in any commonly used ISA.
- pmalynin 11y agoasm("xorl %eax, %eax"); And I'm not sure about your example, a C pointer type would be stored as a number that will be used with "lea" or "mov [pointer], foo". Elaborate.