Processors
Intel® Processors, Tools, and Utilities
14534 Discussions

Can Store-Load for different locations be reordered on X86_64?

LA_not_los_angeles
811 Views

To confirm the statement that loads may be reordered with earlier stores on IA64 manual 8.2.3.4, I run a litmus test on a X86_64 machine(i5-8500) and the result confused me.

Here is the test program:

     X86 SB
    "Fre PodWR Fre PodWR"

    {x=0; y=0;}

    P0 | P1 ;
    MOV [x],$1 | MOV [y],$1 ;
    MOV EAX,[y] | MOV EBX,[x] ;

    exists (0:EAX=0 /\ 1:EBX=1)

Here is the result:

    Test SB Allowed
    Histogram (2 states)
    500000:>0:EAX=1; 1:EBX=0;
    500000*>0:EAX=0; 1:EBX=1;
    Ok

 

If Store-Load for can be reordered ,there will be result that EAX=0 && EBX = 0,  but  the result is not like this.

Can someone help me ?

0 Kudos
1 Reply
DeividA_Intel
Employee
727 Views

Hello LA_not_los_angeles, 

  

 

Thank you for posting on the Intel® communities.  

 

 

I would like to let you know that we have a specific community forum where you will receive appropriate support, it is the Intel Developer Zone. To access the forum, just use the following link:

 

- https://community.intel.com/t5/Software/ct-p/software-products

https://software.intel.com/content/www/us/en/develop/home.html

 

Also, you may find more details here:

- https://www.intel.la/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf

 

 

 

 

Regards,  

 

Deivid A. 

Intel Customer Support Technician 

 

0 Kudos
Reply