VirtualBox

Changeset 96798 in vbox for trunk/include


Ignore:
Timestamp:
Sep 19, 2022 7:12:07 PM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Implement cvtdq2ps/cvtps2dq/cvttps2dq/cvttpd2dq/cvtdq2pd/cvtpd2dq instructions, bugref:9898 [missing file]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/x86.h

    r96407 r96798  
    30863086typedef X86FPUREG const *PCX86FPUREG;
    30873087
     3088/** FPU (x87) register - v2 with correct size. */
     3089#pragma pack(1)
     3090typedef union X86FPUREG2
     3091{
     3092    /** MMX view. */
     3093    uint64_t    mmx;
     3094    /** FPU view - todo. */
     3095    X86FPUMMX   fpu;
     3096    /** Extended precision floating point view. */
     3097    RTFLOAT80U  r80;
     3098    /** 8-bit view. */
     3099    uint8_t     au8[10];
     3100    /** 16-bit view. */
     3101    uint16_t    au16[5];
     3102    /** 32-bit view. */
     3103    uint32_t    au32[2];
     3104    /** 64-bit view. */
     3105    uint64_t    au64[1];
     3106} X86FPUREG2;
     3107#pragma pack()
     3108#ifndef VBOX_FOR_DTRACE_LIB
     3109AssertCompileSize(X86FPUREG2, 10);
     3110#endif
     3111/** Pointer to a FPU register - v2. */
     3112typedef X86FPUREG2 *PX86FPUREG2;
     3113/** Pointer to a const FPU register - v2. */
     3114typedef X86FPUREG2 const *PCX86FPUREG2;
     3115
    30883116/**
    30893117 * XMM register union.
     
    31013129    /** 64-bit view. */
    31023130    uint64_t    au64[2];
     3131    /** Signed 8-bit view. */
     3132    int8_t      ai8[16];
     3133    /** Signed 16-bit view. */
     3134    int16_t     ai16[8];
     3135    /** Signed 32-bit view. */
     3136    int32_t     ai32[4];
     3137    /** Signed 64-bit view. */
     3138    int64_t     ai64[2];
    31033139    /** 128-bit view. (yeah, very helpful) */
    31043140    uint128_t   au128[1];
     
    31873223/**
    31883224 * 32-bit FPU state (aka FSAVE/FRSTOR Memory Region).
    3189  * @todo verify this...
    31903225 */
    31913226#pragma pack(1)
     
    32113246    /** 0x12 - Opcode. */
    32123247    uint16_t    FOP;
    3213     /** 0x14 - FOO. */
     3248    /** 0x14 - Data pointer. */
    32143249    uint32_t    FPUOO;
    32153250    /** 0x18 - FOS. */
    3216     uint32_t    FPUOS;
     3251    uint16_t    FPUOS;
     3252    /** 0x0a - Alignment word */
     3253    uint16_t    Dummy4;
    32173254    /** 0x1c - FPU register. */
    3218     X86FPUREG   regs[8];
     3255    X86FPUREG2  regs[8];
    32193256} X86FPUSTATE;
    32203257#pragma pack()
     3258AssertCompileSize(X86FPUSTATE, 108);
    32213259/** Pointer to a FPU state. */
    32223260typedef X86FPUSTATE  *PX86FPUSTATE;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette