Figure 2-2 – Intel ARCHITECTURE IA-32 User Manual

Page 106

Advertising
background image

IA-32 Intel® Architecture Optimization

2-34

The size and alignment restrictions for store forwarding are illustrated in
Figure 2-2.

Coding rules to help programmers satisfy size and alignment restrictions
for store forwarding follow.

Assembly/Compiler Coding Rule 18. (H impact, M generality) A load that
forwards from a store must have the same address start point and therefore the
same alignment as the store data.

Assembly/Compiler Coding Rule 19. (H impact, M generality) The data of
a load which is forwarded from a store must be completely contained within the
store data.

Figure 2-2

Size and Alignment Restrictions in Store Forwarding

O M 15155

(a) Sm all load after

Large Store

Store

Load

Load Aligned with

Store W ill Forward

Non-Forwarding

Penalty

(b) Size of Load >=

Store

Store

Load

Penalty

(c) Size of Load >=

Store(s)

Store

Load

Penalty

(d) 128-bit Forward

Must Be 16-Byte

Aligned

Store

Load

Penalty

16-Byte
Boundary

Advertising