Home | History | Annotate | Download | only in Ia32
      1 /** @file
      2   AsmReadMm6 function
      3 
      4   Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php.
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 
     16 
     17 
     18 /**
     19   Reads the current value of 64-bit MMX Register #6 (MM6).
     20 
     21   Reads and returns the current value of MM6. This function is only available
     22   on IA-32 and x64.
     23 
     24   @return The current value of MM6.
     25 
     26 **/
     27 UINT64
     28 EFIAPI
     29 AsmReadMm6 (
     30   VOID
     31   )
     32 {
     33   _asm {
     34     push    eax
     35     push    eax
     36     movq    [esp], mm6
     37     pop     eax
     38     pop     edx
     39     emms
     40   }
     41 }
     42 
     43