Changeset 95514 in vbox
- Timestamp:
- Jul 5, 2022 2:23:47 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152134
- Location:
- trunk/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsInterpretOnly.cpp
r95512 r95514 891 891 }; 892 892 893 894 # ifndef IEM_WITHOUT_ASSEMBLY895 /** Function table for the PSHUFB instruction */896 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pshufb = { iemAImpl_pshufb_u64, iemAImpl_pshufb_u128 };897 # endif898 /** Function table for the PSHUFB instruction */899 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pshufb_fallback = { iemAImpl_pshufb_u64_fallback, iemAImpl_pshufb_u128_fallback };900 /** Function table for the PAND instruction */901 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pand = { iemAImpl_pand_u64, iemAImpl_pand_u128 };902 /** Function table for the PANDN instruction */903 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pandn = { iemAImpl_pandn_u64, iemAImpl_pandn_u128 };904 /** Function table for the POR instruction */905 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_por = { iemAImpl_por_u64, iemAImpl_por_u128 };906 /** Function table for the PXOR instruction */907 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pxor = { iemAImpl_pxor_u64, iemAImpl_pxor_u128 };908 /** Function table for the PCMPEQB instruction */909 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqb = { iemAImpl_pcmpeqb_u64, iemAImpl_pcmpeqb_u128 };910 /** Function table for the PCMPEQW instruction */911 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqw = { iemAImpl_pcmpeqw_u64, iemAImpl_pcmpeqw_u128 };912 /** Function table for the PCMPEQD instruction */913 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqd = { iemAImpl_pcmpeqd_u64, iemAImpl_pcmpeqd_u128 };914 # ifndef IEM_WITHOUT_ASSEMBLY915 /** Function table for the PCMPEQQ instruction */916 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqq = { NULL, iemAImpl_pcmpeqq_u128 };917 # endif918 /** Function table for the PCMPEQQ instruction, software fallback. */919 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqq_fallback = { NULL, iemAImpl_pcmpeqq_u128_fallback };920 /** Function table for the PCMPGTB instruction */921 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpgtb = { iemAImpl_pcmpgtb_u64, iemAImpl_pcmpgtb_u128 };922 /** Function table for the PCMPGTW instruction */923 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpgtw = { iemAImpl_pcmpgtw_u64, iemAImpl_pcmpgtw_u128 };924 /** Function table for the PCMPGTD instruction */925 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpgtd = { iemAImpl_pcmpgtd_u64, iemAImpl_pcmpgtd_u128 };926 # ifndef IEM_WITHOUT_ASSEMBLY927 /** Function table for the PCMPGTQ instruction */928 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpgtq = { NULL, iemAImpl_pcmpgtq_u128 };929 # endif930 /** Function table for the PCMPGTQ instruction, software fallback. */931 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpgtq_fallback = { NULL, iemAImpl_pcmpgtq_u128_fallback };932 /** Function table for the PADDB instruction. */933 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_paddb = { iemAImpl_paddb_u64, iemAImpl_paddb_u128 };934 /** Function table for the PADDW instruction. */935 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_paddw = { iemAImpl_paddw_u64, iemAImpl_paddw_u128 };936 /** Function table for the PADDD instruction. */937 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_paddd = { iemAImpl_paddd_u64, iemAImpl_paddd_u128 };938 /** Function table for the PADDQ instruction. */939 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_paddq = { iemAImpl_paddq_u64, iemAImpl_paddq_u128 };940 /** Function table for the PSUBB instruction. */941 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_psubb = { iemAImpl_psubb_u64, iemAImpl_psubb_u128 };942 /** Function table for the PSUBW instruction. */943 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_psubw = { iemAImpl_psubw_u64, iemAImpl_psubw_u128 };944 /** Function table for the PSUBD instruction. */945 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_psubd = { iemAImpl_psubd_u64, iemAImpl_psubd_u128 };946 /** Function table for the PSUBQ instruction. */947 IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_psubq = { iemAImpl_psubq_u64, iemAImpl_psubq_u128 };948 893 949 894 # ifndef IEM_WITHOUT_ASSEMBLY -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsThree0f38.cpp.h
r95512 r95514 24 24 */ 25 25 26 FNIEMOP_DEF_2(iemOpCommonMmx_FullFull_To_Full_Ex, P CIEMOPMEDIAF2, pImpl, bool, fSupported); /* in IEMAllInstructionsTwoByteOf.cpp.h */26 FNIEMOP_DEF_2(iemOpCommonMmx_FullFull_To_Full_Ex, PFNIEMAIMPLMEDIAF2U64, pfnU64, bool, fSupported); /* in IEMAllInstructionsTwoByteOf.cpp.h */ 27 27 28 28 … … 36 36 * @sa iemOpCommonSse2_FullFull_To_Full 37 37 */ 38 FNIEMOP_DEF_1(iemOpCommonSsse3_FullFull_To_Full, P CIEMOPMEDIAF2, pImpl)38 FNIEMOP_DEF_1(iemOpCommonSsse3_FullFull_To_Full, PFNIEMAIMPLMEDIAF2U128, pfnU128) 39 39 { 40 40 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 52 52 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 53 53 IEM_MC_REF_XREG_U128_CONST(pSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 54 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);54 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 55 55 IEM_MC_ADVANCE_RIP(); 56 56 IEM_MC_END(); … … 74 74 IEM_MC_PREPARE_SSE_USAGE(); 75 75 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 76 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);76 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 77 77 78 78 IEM_MC_ADVANCE_RIP(); … … 88 88 IEMOP_MNEMONIC2(RM, PSHUFB, pshufb, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 89 89 return FNIEMOP_CALL_2(iemOpCommonMmx_FullFull_To_Full_Ex, 90 IEM_SELECT_HOST_OR_FALLBACK(fSsse3, &g_iemAImpl_pshufb, &g_iemAImpl_pshufb_fallback),90 IEM_SELECT_HOST_OR_FALLBACK(fSsse3, iemAImpl_pshufb_u64,&iemAImpl_pshufb_u64_fallback), 91 91 IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSsse3); 92 92 } … … 98 98 IEMOP_MNEMONIC2(RM, PSHUFB, pshufb, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 99 99 return FNIEMOP_CALL_1(iemOpCommonSsse3_FullFull_To_Full, 100 IEM_SELECT_HOST_OR_FALLBACK(fSsse3, &g_iemAImpl_pshufb, &g_iemAImpl_pshufb_fallback));100 IEM_SELECT_HOST_OR_FALLBACK(fSsse3, iemAImpl_pshufb_u128, iemAImpl_pshufb_u128_fallback)); 101 101 102 102 } … … 227 227 * @sa iemOpCommonSse2_FullFull_To_Full 228 228 */ 229 FNIEMOP_DEF_1(iemOpCommonSse41_FullFull_To_Full, P CIEMOPMEDIAF2, pImpl)229 FNIEMOP_DEF_1(iemOpCommonSse41_FullFull_To_Full, PFNIEMAIMPLMEDIAF2U128, pfnU128) 230 230 { 231 231 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 243 243 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 244 244 IEM_MC_REF_XREG_U128_CONST(pSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 245 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);245 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 246 246 IEM_MC_ADVANCE_RIP(); 247 247 IEM_MC_END(); … … 265 265 IEM_MC_PREPARE_SSE_USAGE(); 266 266 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 267 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);267 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 268 268 269 269 IEM_MC_ADVANCE_RIP(); … … 283 283 * @sa iemOpCommonSse2_FullFull_To_Full, iemOpCommonSse41_FullFull_To_Full 284 284 */ 285 FNIEMOP_DEF_1(iemOpCommonSse42_FullFull_To_Full, P CIEMOPMEDIAF2, pImpl)285 FNIEMOP_DEF_1(iemOpCommonSse42_FullFull_To_Full, PFNIEMAIMPLMEDIAF2U128, pfnU128) 286 286 { 287 287 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 299 299 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 300 300 IEM_MC_REF_XREG_U128_CONST(pSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 301 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);301 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 302 302 IEM_MC_ADVANCE_RIP(); 303 303 IEM_MC_END(); … … 321 321 IEM_MC_PREPARE_SSE_USAGE(); 322 322 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 323 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);323 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 324 324 325 325 IEM_MC_ADVANCE_RIP(); … … 335 335 IEMOP_MNEMONIC2(RM, PCMPEQQ, pcmpeqq, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 336 336 return FNIEMOP_CALL_1(iemOpCommonSse41_FullFull_To_Full, 337 IEM_SELECT_HOST_OR_FALLBACK(fSse41, &g_iemAImpl_pcmpeqq, &g_iemAImpl_pcmpeqq_fallback));337 IEM_SELECT_HOST_OR_FALLBACK(fSse41, iemAImpl_pcmpeqq_u128, iemAImpl_pcmpeqq_u128_fallback)); 338 338 } 339 339 … … 413 413 IEMOP_MNEMONIC2(RM, PCMPGTQ, pcmpgtq, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 414 414 return FNIEMOP_CALL_1(iemOpCommonSse42_FullFull_To_Full, 415 IEM_SELECT_HOST_OR_FALLBACK(fSse42, &g_iemAImpl_pcmpgtq, &g_iemAImpl_pcmpgtq_fallback));415 IEM_SELECT_HOST_OR_FALLBACK(fSse42, iemAImpl_pcmpgtq_u128, iemAImpl_pcmpgtq_u128_fallback)); 416 416 } 417 417 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r95512 r95514 30 30 * pxxx mm1, mm2/mem64 31 31 */ 32 FNIEMOP_DEF_1(iemOpCommonMmx_FullFull_To_Full, P CIEMOPMEDIAF2, pImpl)32 FNIEMOP_DEF_1(iemOpCommonMmx_FullFull_To_Full, PFNIEMAIMPLMEDIAF2U64, pfnU64) 33 33 { 34 34 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 48 48 IEM_MC_REF_MREG_U64(pDst, IEM_GET_MODRM_REG_8(bRm)); 49 49 IEM_MC_REF_MREG_U64_CONST(pSrc, IEM_GET_MODRM_RM_8(bRm)); 50 IEM_MC_CALL_MMX_AIMPL_2(p Impl->pfnU64, pDst, pSrc);50 IEM_MC_CALL_MMX_AIMPL_2(pfnU64, pDst, pSrc); 51 51 IEM_MC_MODIFIED_MREG_BY_REF(pDst); 52 52 IEM_MC_FPU_TO_MMX_MODE(); … … 72 72 IEM_MC_PREPARE_FPU_USAGE(); 73 73 IEM_MC_REF_MREG_U64(pDst, IEM_GET_MODRM_REG_8(bRm)); 74 IEM_MC_CALL_MMX_AIMPL_2(p Impl->pfnU64, pDst, pSrc);74 IEM_MC_CALL_MMX_AIMPL_2(pfnU64, pDst, pSrc); 75 75 IEM_MC_MODIFIED_MREG_BY_REF(pDst); 76 76 IEM_MC_FPU_TO_MMX_MODE(); … … 88 88 * that was introduced with SSE2. 89 89 */ 90 FNIEMOP_DEF_2(iemOpCommonMmx_FullFull_To_Full_Ex, P CIEMOPMEDIAF2, pImpl, bool, fSupported)90 FNIEMOP_DEF_2(iemOpCommonMmx_FullFull_To_Full_Ex, PFNIEMAIMPLMEDIAF2U64, pfnU64, bool, fSupported) 91 91 { 92 92 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 106 106 IEM_MC_REF_MREG_U64(pDst, IEM_GET_MODRM_REG_8(bRm)); 107 107 IEM_MC_REF_MREG_U64_CONST(pSrc, IEM_GET_MODRM_RM_8(bRm)); 108 IEM_MC_CALL_MMX_AIMPL_2(p Impl->pfnU64, pDst, pSrc);108 IEM_MC_CALL_MMX_AIMPL_2(pfnU64, pDst, pSrc); 109 109 IEM_MC_MODIFIED_MREG_BY_REF(pDst); 110 110 IEM_MC_FPU_TO_MMX_MODE(); … … 130 130 IEM_MC_PREPARE_FPU_USAGE(); 131 131 IEM_MC_REF_MREG_U64(pDst, IEM_GET_MODRM_REG_8(bRm)); 132 IEM_MC_CALL_MMX_AIMPL_2(p Impl->pfnU64, pDst, pSrc);132 IEM_MC_CALL_MMX_AIMPL_2(pfnU64, pDst, pSrc); 133 133 IEM_MC_MODIFIED_MREG_BY_REF(pDst); 134 134 IEM_MC_FPU_TO_MMX_MODE(); … … 150 150 * @sa iemOpCommonSse41_FullFull_To_Full, iemOpCommonSse2_FullFull_To_Full 151 151 */ 152 FNIEMOP_DEF_1(iemOpCommonSse2_FullFull_To_Full, P CIEMOPMEDIAF2, pImpl)152 FNIEMOP_DEF_1(iemOpCommonSse2_FullFull_To_Full, PFNIEMAIMPLMEDIAF2U128, pfnU128) 153 153 { 154 154 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); … … 166 166 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 167 167 IEM_MC_REF_XREG_U128_CONST(pSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 168 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);168 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 169 169 IEM_MC_ADVANCE_RIP(); 170 170 IEM_MC_END(); … … 188 188 IEM_MC_PREPARE_SSE_USAGE(); 189 189 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 190 IEM_MC_CALL_SSE_AIMPL_2(p Impl->pfnU128, pDst, pSrc);190 IEM_MC_CALL_SSE_AIMPL_2(pfnU128, pDst, pSrc); 191 191 192 192 IEM_MC_ADVANCE_RIP(); … … 3095 3095 { 3096 3096 IEMOP_MNEMONIC2(RM, ANDPS, andps, Vps, Wps, DISOPTYPE_HARMLESS, 0); 3097 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pand);3097 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pand_u128); 3098 3098 } 3099 3099 … … 3103 3103 { 3104 3104 IEMOP_MNEMONIC2(RM, ANDPD, andpd, Vpd, Wpd, DISOPTYPE_HARMLESS, 0); 3105 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pand);3105 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pand_u128); 3106 3106 } 3107 3107 … … 3115 3115 { 3116 3116 IEMOP_MNEMONIC2(RM, ANDNPS, andnps, Vps, Wps, DISOPTYPE_HARMLESS, 0); 3117 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pandn);3117 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pandn_u128); 3118 3118 } 3119 3119 … … 3123 3123 { 3124 3124 IEMOP_MNEMONIC2(RM, ANDNPD, andnpd, Vpd, Wpd, DISOPTYPE_HARMLESS, 0); 3125 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pandn);3125 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pandn_u128); 3126 3126 } 3127 3127 … … 3135 3135 { 3136 3136 IEMOP_MNEMONIC2(RM, ORPS, orps, Vps, Wps, DISOPTYPE_HARMLESS, 0); 3137 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_por);3137 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_por_u128); 3138 3138 } 3139 3139 … … 3143 3143 { 3144 3144 IEMOP_MNEMONIC2(RM, ORPD, orpd, Vpd, Wpd, DISOPTYPE_HARMLESS, 0); 3145 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_por);3145 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_por_u128); 3146 3146 } 3147 3147 … … 3155 3155 { 3156 3156 IEMOP_MNEMONIC2(RM, XORPS, xorps, Vps, Wps, DISOPTYPE_HARMLESS, 0); 3157 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pxor);3157 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pxor_u128); 3158 3158 } 3159 3159 … … 3163 3163 { 3164 3164 IEMOP_MNEMONIC2(RM, XORPD, xorpd, Vpd, Wpd, DISOPTYPE_HARMLESS, 0); 3165 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pxor);3165 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pxor_u128); 3166 3166 } 3167 3167 … … 3430 3430 { 3431 3431 IEMOP_MNEMONIC2(RM, PCMPGTB, pcmpgtb, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3432 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpgtb);3432 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpgtb_u64); 3433 3433 } 3434 3434 … … 3438 3438 { 3439 3439 IEMOP_MNEMONIC2(RM, PCMPGTB, pcmpgtb, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3440 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpgtb);3440 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpgtb_u128); 3441 3441 } 3442 3442 … … 3449 3449 { 3450 3450 IEMOP_MNEMONIC2(RM, PCMPGTW, pcmpgtw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3451 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpgtw);3451 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpgtw_u64); 3452 3452 } 3453 3453 … … 3457 3457 { 3458 3458 IEMOP_MNEMONIC2(RM, PCMPGTW, pcmpgtw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3459 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpgtw);3459 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpgtw_u128); 3460 3460 } 3461 3461 … … 3468 3468 { 3469 3469 IEMOP_MNEMONIC2(RM, PCMPGTD, pcmpgtd, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3470 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpgtd);3470 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpgtd_u64); 3471 3471 } 3472 3472 … … 3476 3476 { 3477 3477 IEMOP_MNEMONIC2(RM, PCMPGTD, pcmpgtd, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3478 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpgtd);3478 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpgtd_u128); 3479 3479 } 3480 3480 … … 4375 4375 { 4376 4376 IEMOP_MNEMONIC2(RM, PCMPEQB, pcmpeqb, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4377 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpeqb);4377 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpeqb_u64); 4378 4378 } 4379 4379 … … 4383 4383 { 4384 4384 IEMOP_MNEMONIC2(RM, PCMPEQB, pcmpeqb, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4385 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpeqb);4385 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpeqb_u128); 4386 4386 } 4387 4387 … … 4395 4395 { 4396 4396 IEMOP_MNEMONIC2(RM, PCMPEQW, pcmpeqw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4397 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpeqw);4397 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpeqw_u64); 4398 4398 } 4399 4399 … … 4403 4403 { 4404 4404 IEMOP_MNEMONIC2(RM, PCMPEQW, pcmpeqw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4405 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpeqw);4405 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpeqw_u128); 4406 4406 } 4407 4407 … … 4415 4415 { 4416 4416 IEMOP_MNEMONIC2(RM, PCMPEQD, pcmpeqd, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4417 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pcmpeqd);4417 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pcmpeqd_u64); 4418 4418 } 4419 4419 … … 4423 4423 { 4424 4424 IEMOP_MNEMONIC2(RM, PCMPEQD, pcmpeqd, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4425 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pcmpeqd);4425 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pcmpeqd_u128); 4426 4426 } 4427 4427 … … 9245 9245 { 9246 9246 IEMOP_MNEMONIC2(RM, PADDQ, paddq, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9247 return FNIEMOP_CALL_2(iemOpCommonMmx_FullFull_To_Full_Ex, &g_iemAImpl_paddq, IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse2);9247 return FNIEMOP_CALL_2(iemOpCommonMmx_FullFull_To_Full_Ex, iemAImpl_paddq_u64, IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse2); 9248 9248 } 9249 9249 … … 9253 9253 { 9254 9254 IEMOP_MNEMONIC2(RM, PADDQ, paddq, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9255 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_paddq);9255 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_paddq_u128); 9256 9256 } 9257 9257 … … 9506 9506 { 9507 9507 IEMOP_MNEMONIC2(RM, PAND, pand, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9508 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pand);9508 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pand_u64); 9509 9509 } 9510 9510 … … 9514 9514 { 9515 9515 IEMOP_MNEMONIC2(RM, PAND, pand, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9516 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pand);9516 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pand_u128); 9517 9517 } 9518 9518 … … 9547 9547 { 9548 9548 IEMOP_MNEMONIC2(RM, PANDN, pandn, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9549 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pandn);9549 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pandn_u64); 9550 9550 } 9551 9551 … … 9555 9555 { 9556 9556 IEMOP_MNEMONIC2(RM, PANDN, pandn, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9557 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pandn);9557 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pandn_u128); 9558 9558 } 9559 9559 … … 9737 9737 { 9738 9738 IEMOP_MNEMONIC2(RM, POR, por, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9739 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_por);9739 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_por_u64); 9740 9740 } 9741 9741 … … 9745 9745 { 9746 9746 IEMOP_MNEMONIC2(RM, POR, por, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9747 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_por);9747 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_por_u128); 9748 9748 } 9749 9749 … … 9778 9778 { 9779 9779 IEMOP_MNEMONIC2(RM, PXOR, pxor, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9780 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_pxor);9780 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_pxor_u64); 9781 9781 } 9782 9782 … … 9786 9786 { 9787 9787 IEMOP_MNEMONIC2(RM, PXOR, pxor, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9788 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_pxor);9788 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_pxor_u128); 9789 9789 } 9790 9790 … … 9845 9845 { 9846 9846 IEMOP_MNEMONIC2(RM, PSUBB, psubb, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9847 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_psubb);9847 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_psubb_u64); 9848 9848 } 9849 9849 … … 9853 9853 { 9854 9854 IEMOP_MNEMONIC2(RM, PSUBB, psubb, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9855 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_psubb);9855 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_psubb_u128); 9856 9856 } 9857 9857 … … 9864 9864 { 9865 9865 IEMOP_MNEMONIC2(RM, PSUBW, psubw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9866 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_psubw);9866 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_psubw_u64); 9867 9867 } 9868 9868 … … 9872 9872 { 9873 9873 IEMOP_MNEMONIC2(RM, PSUBW, psubw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9874 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_psubw);9874 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_psubw_u128); 9875 9875 } 9876 9876 … … 9883 9883 { 9884 9884 IEMOP_MNEMONIC2(RM, PSUBD, psubd, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9885 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_psubd);9885 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_psubd_u64); 9886 9886 } 9887 9887 … … 9891 9891 { 9892 9892 IEMOP_MNEMONIC2(RM, PSUBD, psubd, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9893 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_psubd);9893 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_psubd_u128); 9894 9894 } 9895 9895 … … 9902 9902 { 9903 9903 IEMOP_MNEMONIC2(RM, PSUBQ, psubq, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9904 return FNIEMOP_CALL_2(iemOpCommonMmx_FullFull_To_Full_Ex, &g_iemAImpl_psubq, IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse2);9904 return FNIEMOP_CALL_2(iemOpCommonMmx_FullFull_To_Full_Ex, iemAImpl_psubq_u64, IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse2); 9905 9905 } 9906 9906 … … 9910 9910 { 9911 9911 IEMOP_MNEMONIC2(RM, PSUBQ, psubq, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9912 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_psubq);9912 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_psubq_u128); 9913 9913 } 9914 9914 … … 9921 9921 { 9922 9922 IEMOP_MNEMONIC2(RM, PADDB, paddb, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9923 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_paddb);9923 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_paddb_u64); 9924 9924 } 9925 9925 … … 9929 9929 { 9930 9930 IEMOP_MNEMONIC2(RM, PADDB, paddb, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9931 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_paddb);9931 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_paddb_u128); 9932 9932 } 9933 9933 … … 9940 9940 { 9941 9941 IEMOP_MNEMONIC2(RM, PADDW, paddw, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9942 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_paddw);9942 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_paddw_u64); 9943 9943 } 9944 9944 … … 9948 9948 { 9949 9949 IEMOP_MNEMONIC2(RM, PADDW, paddw, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9950 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_paddw);9950 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_paddw_u128); 9951 9951 } 9952 9952 … … 9959 9959 { 9960 9960 IEMOP_MNEMONIC2(RM, PADDD, paddd, Pq, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9961 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, &g_iemAImpl_paddd);9961 return FNIEMOP_CALL_1(iemOpCommonMmx_FullFull_To_Full, iemAImpl_paddd_u64); 9962 9962 } 9963 9963 … … 9967 9967 { 9968 9968 IEMOP_MNEMONIC2(RM, PADDD, paddd, Vx, Wx, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 9969 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, &g_iemAImpl_paddd);9969 return FNIEMOP_CALL_1(iemOpCommonSse2_FullFull_To_Full, iemAImpl_paddd_u128); 9970 9970 } 9971 9971 -
trunk/src/VBox/VMM/include/IEMInternal.h
r95512 r95514 1985 1985 typedef IEMOPSHIFTDBLSIZES const *PCIEMOPSHIFTDBLSIZES; 1986 1986 1987 1988 /**1989 * Function table for media instruction taking two full sized media registers,1990 * optionally the 2nd being a memory reference (only modifying the first op.)1991 *1992 * @deprecated This won't be needed as MMX and SSE decoding needs to be handled1993 * separate from one another.1994 */1995 typedef struct IEMOPMEDIAF21996 {1997 PFNIEMAIMPLMEDIAF2U64 pfnU64;1998 PFNIEMAIMPLMEDIAF2U128 pfnU128;1999 } IEMOPMEDIAF2;2000 /** Pointer to a media operation function table for full sized ops. */2001 typedef IEMOPMEDIAF2 const *PCIEMOPMEDIAF2;2002 1987 2003 1988 /** -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r95510 r95514 220 220 IEMOPUNARYSIZES g_iemAImpl_neg; 221 221 IEMOPUNARYSIZES g_iemAImpl_not; 222 IEMOPMEDIAF2 g_iemAImpl_pand;223 IEMOPMEDIAF2 g_iemAImpl_pandn;224 IEMOPMEDIAF2 g_iemAImpl_por;225 IEMOPMEDIAF2 g_iemAImpl_pxor;226 IEMOPMEDIAF2 g_iemAImpl_pcmpeqb;227 IEMOPMEDIAF2 g_iemAImpl_pcmpeqw;228 IEMOPMEDIAF2 g_iemAImpl_pcmpeqd;229 IEMOPMEDIAF2 g_iemAImpl_pcmpgtb;230 IEMOPMEDIAF2 g_iemAImpl_pcmpgtw;231 IEMOPMEDIAF2 g_iemAImpl_pcmpgtd;232 IEMOPMEDIAF2 g_iemAImpl_paddb;233 IEMOPMEDIAF2 g_iemAImpl_paddw;234 IEMOPMEDIAF2 g_iemAImpl_paddd;235 IEMOPMEDIAF2 g_iemAImpl_paddq;236 IEMOPMEDIAF2 g_iemAImpl_psubb;237 IEMOPMEDIAF2 g_iemAImpl_psubw;238 IEMOPMEDIAF2 g_iemAImpl_psubd;239 IEMOPMEDIAF2 g_iemAImpl_psubq;240 222 241 223 #undef IEMTARGETCPU_EFL_BEHAVIOR_SELECT … … 339 321 #define iemAImpl_punpckhdq_u128 NULL 340 322 #define iemAImpl_punpckhqdq_u128 NULL 323 324 #define iemAImpl_pand_u64 NULL 325 #define iemAImpl_pandn_u64 NULL 326 #define iemAImpl_por_u64 NULL 327 #define iemAImpl_pxor_u64 NULL 328 #define iemAImpl_pcmpeqb_u64 NULL 329 #define iemAImpl_pcmpeqw_u64 NULL 330 #define iemAImpl_pcmpeqd_u64 NULL 331 #define iemAImpl_pcmpgtb_u64 NULL 332 #define iemAImpl_pcmpgtw_u64 NULL 333 #define iemAImpl_pcmpgtd_u64 NULL 334 #define iemAImpl_paddb_u64 NULL 335 #define iemAImpl_paddw_u64 NULL 336 #define iemAImpl_paddd_u64 NULL 337 #define iemAImpl_paddq_u64 NULL 338 #define iemAImpl_psubb_u64 NULL 339 #define iemAImpl_psubw_u64 NULL 340 #define iemAImpl_psubd_u64 NULL 341 #define iemAImpl_psubq_u64 NULL 342 343 #define iemAImpl_pand_u128 NULL 344 #define iemAImpl_pandn_u128 NULL 345 #define iemAImpl_por_u128 NULL 346 #define iemAImpl_pxor_u128 NULL 347 #define iemAImpl_pcmpeqb_u128 NULL 348 #define iemAImpl_pcmpeqw_u128 NULL 349 #define iemAImpl_pcmpeqd_u128 NULL 350 #define iemAImpl_pcmpgtb_u128 NULL 351 #define iemAImpl_pcmpgtw_u128 NULL 352 #define iemAImpl_pcmpgtd_u128 NULL 353 #define iemAImpl_paddb_u128 NULL 354 #define iemAImpl_paddw_u128 NULL 355 #define iemAImpl_paddd_u128 NULL 356 #define iemAImpl_paddq_u128 NULL 357 #define iemAImpl_psubb_u128 NULL 358 #define iemAImpl_psubw_u128 NULL 359 #define iemAImpl_psubd_u128 NULL 360 #define iemAImpl_psubq_u128 NULL 361 341 362 342 363 /** @} */ -
trunk/src/libs/softfloat-3e/testfloat/source/testfloat.c
r94552 r95514 63 63 64 64 #ifdef FLOAT16 65 typedef float16_t funcType_a_ui32_z_f16( uint32_t );66 #endif 67 typedef float32_t funcType_a_ui32_z_f32( uint32_t );68 #ifdef FLOAT64 69 typedef float64_t funcType_a_ui32_z_f64( uint32_t );70 #endif 71 #ifdef EXTFLOAT80 72 typedef void funcType_a_ui32_z_extF80( uint32_t, extFloat80_t * );73 #endif 74 #ifdef FLOAT128 75 typedef void funcType_a_ui32_z_f128( uint32_t, float128_t * );76 #endif 77 #ifdef FLOAT16 78 typedef float16_t funcType_a_ui64_z_f16( uint64_t );79 #endif 80 typedef float32_t funcType_a_ui64_z_f32( uint64_t );81 #ifdef FLOAT64 82 typedef float64_t funcType_a_ui64_z_f64( uint64_t );83 #endif 84 #ifdef EXTFLOAT80 85 typedef void funcType_a_ui64_z_extF80( uint64_t, extFloat80_t * );86 #endif 87 #ifdef FLOAT128 88 typedef void funcType_a_ui64_z_f128( uint64_t, float128_t * );89 #endif 90 #ifdef FLOAT16 91 typedef float16_t funcType_a_i32_z_f16( int32_t );92 #endif 93 typedef float32_t funcType_a_i32_z_f32( int32_t );94 #ifdef FLOAT64 95 typedef float64_t funcType_a_i32_z_f64( int32_t );96 #endif 97 #ifdef EXTFLOAT80 98 typedef void funcType_a_i32_z_extF80( int32_t, extFloat80_t * );99 #endif 100 #ifdef FLOAT128 101 typedef void funcType_a_i32_z_f128( int32_t, float128_t * );102 #endif 103 #ifdef FLOAT16 104 typedef float16_t funcType_a_i64_z_f16( int64_t );105 #endif 106 typedef float32_t funcType_a_i64_z_f32( int64_t );107 #ifdef FLOAT64 108 typedef float64_t funcType_a_i64_z_f64( int64_t );109 #endif 110 #ifdef EXTFLOAT80 111 typedef void funcType_a_i64_z_extF80( int64_t, extFloat80_t * );112 #endif 113 #ifdef FLOAT128 114 typedef void funcType_a_i64_z_f128( int64_t, float128_t * );115 #endif 116 117 #ifdef FLOAT16 118 typedef uint_fast32_t funcType_a_f16_z_ui32( float16_t );119 typedef uint_fast64_t funcType_a_f16_z_ui64( float16_t );120 typedef int_fast32_t funcType_a_f16_z_i32( float16_t );121 typedef int_fast64_t funcType_a_f16_z_i64( float16_t );122 typedef float32_t funcType_a_f16_z_f32( float16_t );123 #ifdef FLOAT64 124 typedef float64_t funcType_a_f16_z_f64( float16_t );125 #endif 126 #ifdef EXTFLOAT80 127 typedef void funcType_a_f16_z_extF80( float16_t, extFloat80_t * );128 #endif 129 #ifdef FLOAT128 130 typedef void funcType_a_f16_z_f128( float16_t, float128_t * );131 #endif 132 typedef float16_t funcType_az_f16( float16_t );133 typedef float16_t funcType_abz_f16( float16_t, float16_t );134 typedef float16_t funcType_abcz_f16( float16_t, float16_t, float16_t );135 typedef bool funcType_ab_f16_z_bool( float16_t, float16_t );136 #endif 137 138 typedef uint_fast32_t funcType_a_f32_z_ui32( float32_t );139 typedef uint_fast64_t funcType_a_f32_z_ui64( float32_t );140 typedef int_fast32_t funcType_a_f32_z_i32( float32_t );141 typedef int_fast64_t funcType_a_f32_z_i64( float32_t );142 #ifdef FLOAT16 143 typedef float16_t funcType_a_f32_z_f16( float32_t );144 #endif 145 #ifdef FLOAT64 146 typedef float64_t funcType_a_f32_z_f64( float32_t );147 #endif 148 #ifdef EXTFLOAT80 149 typedef void funcType_a_f32_z_extF80( float32_t, extFloat80_t * );150 #endif 151 #ifdef FLOAT128 152 typedef void funcType_a_f32_z_f128( float32_t, float128_t * );153 #endif 154 typedef float32_t funcType_az_f32( float32_t );155 typedef float32_t funcType_abz_f32( float32_t, float32_t );156 typedef float32_t funcType_abcz_f32( float32_t, float32_t, float32_t );157 typedef bool funcType_ab_f32_z_bool( float32_t, float32_t );158 159 #ifdef FLOAT64 160 typedef uint_fast32_t funcType_a_f64_z_ui32( float64_t );161 typedef uint_fast64_t funcType_a_f64_z_ui64( float64_t );162 typedef int_fast32_t funcType_a_f64_z_i32( float64_t );163 typedef int_fast64_t funcType_a_f64_z_i64( float64_t );164 #ifdef FLOAT16 165 typedef float16_t funcType_a_f64_z_f16( float64_t );166 #endif 167 typedef float32_t funcType_a_f64_z_f32( float64_t );168 #ifdef EXTFLOAT80 169 typedef void funcType_a_f64_z_extF80( float64_t, extFloat80_t * );170 #endif 171 #ifdef FLOAT128 172 typedef void funcType_a_f64_z_f128( float64_t, float128_t * );173 #endif 174 typedef float64_t funcType_az_f64( float64_t );175 typedef float64_t funcType_abz_f64( float64_t, float64_t );176 typedef float64_t funcType_abcz_f64( float64_t, float64_t, float64_t );177 typedef bool funcType_ab_f64_z_bool( float64_t, float64_t );178 #endif 179 180 #ifdef EXTFLOAT80 181 typedef uint_fast32_t funcType_a_extF80_z_ui32( const extFloat80_t * );182 typedef uint_fast64_t funcType_a_extF80_z_ui64( const extFloat80_t * );183 typedef int_fast32_t funcType_a_extF80_z_i32( const extFloat80_t * );184 typedef int_fast64_t funcType_a_extF80_z_i64( const extFloat80_t * );185 #ifdef FLOAT16 186 typedef float16_t funcType_a_extF80_z_f16( const extFloat80_t * );187 #endif 188 typedef float32_t funcType_a_extF80_z_f32( const extFloat80_t * );189 #ifdef FLOAT64 190 typedef float64_t funcType_a_extF80_z_f64( const extFloat80_t * );191 #endif 192 #ifdef FLOAT128 193 typedef void funcType_a_extF80_z_f128( const extFloat80_t *, float128_t * );194 #endif 195 typedef void funcType_az_extF80( const extFloat80_t *, extFloat80_t * );65 typedef float16_t funcType_a_ui32_z_f16( uint32_t SOFTFLOAT_STATE_DECL_COMMA ); 66 #endif 67 typedef float32_t funcType_a_ui32_z_f32( uint32_t SOFTFLOAT_STATE_DECL_COMMA ); 68 #ifdef FLOAT64 69 typedef float64_t funcType_a_ui32_z_f64( uint32_t SOFTFLOAT_STATE_DECL_COMMA ); 70 #endif 71 #ifdef EXTFLOAT80 72 typedef void funcType_a_ui32_z_extF80( uint32_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 73 #endif 74 #ifdef FLOAT128 75 typedef void funcType_a_ui32_z_f128( uint32_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 76 #endif 77 #ifdef FLOAT16 78 typedef float16_t funcType_a_ui64_z_f16( uint64_t SOFTFLOAT_STATE_DECL_COMMA ); 79 #endif 80 typedef float32_t funcType_a_ui64_z_f32( uint64_t SOFTFLOAT_STATE_DECL_COMMA ); 81 #ifdef FLOAT64 82 typedef float64_t funcType_a_ui64_z_f64( uint64_t SOFTFLOAT_STATE_DECL_COMMA ); 83 #endif 84 #ifdef EXTFLOAT80 85 typedef void funcType_a_ui64_z_extF80( uint64_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 86 #endif 87 #ifdef FLOAT128 88 typedef void funcType_a_ui64_z_f128( uint64_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 89 #endif 90 #ifdef FLOAT16 91 typedef float16_t funcType_a_i32_z_f16( int32_t SOFTFLOAT_STATE_DECL_COMMA ); 92 #endif 93 typedef float32_t funcType_a_i32_z_f32( int32_t SOFTFLOAT_STATE_DECL_COMMA ); 94 #ifdef FLOAT64 95 typedef float64_t funcType_a_i32_z_f64( int32_t SOFTFLOAT_STATE_DECL_COMMA ); 96 #endif 97 #ifdef EXTFLOAT80 98 typedef void funcType_a_i32_z_extF80( int32_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 99 #endif 100 #ifdef FLOAT128 101 typedef void funcType_a_i32_z_f128( int32_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 102 #endif 103 #ifdef FLOAT16 104 typedef float16_t funcType_a_i64_z_f16( int64_t SOFTFLOAT_STATE_DECL_COMMA ); 105 #endif 106 typedef float32_t funcType_a_i64_z_f32( int64_t SOFTFLOAT_STATE_DECL_COMMA ); 107 #ifdef FLOAT64 108 typedef float64_t funcType_a_i64_z_f64( int64_t SOFTFLOAT_STATE_DECL_COMMA ); 109 #endif 110 #ifdef EXTFLOAT80 111 typedef void funcType_a_i64_z_extF80( int64_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 112 #endif 113 #ifdef FLOAT128 114 typedef void funcType_a_i64_z_f128( int64_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 115 #endif 116 117 #ifdef FLOAT16 118 typedef uint_fast32_t funcType_a_f16_z_ui32( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 119 typedef uint_fast64_t funcType_a_f16_z_ui64( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 120 typedef int_fast32_t funcType_a_f16_z_i32( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 121 typedef int_fast64_t funcType_a_f16_z_i64( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 122 typedef float32_t funcType_a_f16_z_f32( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 123 #ifdef FLOAT64 124 typedef float64_t funcType_a_f16_z_f64( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 125 #endif 126 #ifdef EXTFLOAT80 127 typedef void funcType_a_f16_z_extF80( float16_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 128 #endif 129 #ifdef FLOAT128 130 typedef void funcType_a_f16_z_f128( float16_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 131 #endif 132 typedef float16_t funcType_az_f16( float16_t SOFTFLOAT_STATE_DECL_COMMA ); 133 typedef float16_t funcType_abz_f16( float16_t, float16_t SOFTFLOAT_STATE_DECL_COMMA ); 134 typedef float16_t funcType_abcz_f16( float16_t, float16_t, float16_t SOFTFLOAT_STATE_DECL_COMMA ); 135 typedef bool funcType_ab_f16_z_bool( float16_t, float16_t SOFTFLOAT_STATE_DECL_COMMA ); 136 #endif 137 138 typedef uint_fast32_t funcType_a_f32_z_ui32( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 139 typedef uint_fast64_t funcType_a_f32_z_ui64( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 140 typedef int_fast32_t funcType_a_f32_z_i32( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 141 typedef int_fast64_t funcType_a_f32_z_i64( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 142 #ifdef FLOAT16 143 typedef float16_t funcType_a_f32_z_f16( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 144 #endif 145 #ifdef FLOAT64 146 typedef float64_t funcType_a_f32_z_f64( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 147 #endif 148 #ifdef EXTFLOAT80 149 typedef void funcType_a_f32_z_extF80( float32_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 150 #endif 151 #ifdef FLOAT128 152 typedef void funcType_a_f32_z_f128( float32_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 153 #endif 154 typedef float32_t funcType_az_f32( float32_t SOFTFLOAT_STATE_DECL_COMMA ); 155 typedef float32_t funcType_abz_f32( float32_t, float32_t SOFTFLOAT_STATE_DECL_COMMA ); 156 typedef float32_t funcType_abcz_f32( float32_t, float32_t, float32_t SOFTFLOAT_STATE_DECL_COMMA ); 157 typedef bool funcType_ab_f32_z_bool( float32_t, float32_t SOFTFLOAT_STATE_DECL_COMMA ); 158 159 #ifdef FLOAT64 160 typedef uint_fast32_t funcType_a_f64_z_ui32( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 161 typedef uint_fast64_t funcType_a_f64_z_ui64( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 162 typedef int_fast32_t funcType_a_f64_z_i32( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 163 typedef int_fast64_t funcType_a_f64_z_i64( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 164 #ifdef FLOAT16 165 typedef float16_t funcType_a_f64_z_f16( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 166 #endif 167 typedef float32_t funcType_a_f64_z_f32( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 168 #ifdef EXTFLOAT80 169 typedef void funcType_a_f64_z_extF80( float64_t, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 170 #endif 171 #ifdef FLOAT128 172 typedef void funcType_a_f64_z_f128( float64_t, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 173 #endif 174 typedef float64_t funcType_az_f64( float64_t SOFTFLOAT_STATE_DECL_COMMA ); 175 typedef float64_t funcType_abz_f64( float64_t, float64_t SOFTFLOAT_STATE_DECL_COMMA ); 176 typedef float64_t funcType_abcz_f64( float64_t, float64_t, float64_t SOFTFLOAT_STATE_DECL_COMMA ); 177 typedef bool funcType_ab_f64_z_bool( float64_t, float64_t SOFTFLOAT_STATE_DECL_COMMA ); 178 #endif 179 180 #ifdef EXTFLOAT80 181 typedef uint_fast32_t funcType_a_extF80_z_ui32( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 182 typedef uint_fast64_t funcType_a_extF80_z_ui64( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 183 typedef int_fast32_t funcType_a_extF80_z_i32( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 184 typedef int_fast64_t funcType_a_extF80_z_i64( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 185 #ifdef FLOAT16 186 typedef float16_t funcType_a_extF80_z_f16( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 187 #endif 188 typedef float32_t funcType_a_extF80_z_f32( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 189 #ifdef FLOAT64 190 typedef float64_t funcType_a_extF80_z_f64( const extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 191 #endif 192 #ifdef FLOAT128 193 typedef void funcType_a_extF80_z_f128( const extFloat80_t *, float128_t * SOFTFLOAT_STATE_DECL_COMMA ); 194 #endif 195 typedef void funcType_az_extF80( const extFloat80_t *, extFloat80_t * SOFTFLOAT_STATE_DECL_COMMA ); 196 196 typedef 197 197 void 198 198 funcType_abz_extF80( 199 const extFloat80_t *, const extFloat80_t *, extFloat80_t * );199 const extFloat80_t *, const extFloat80_t *, extFloat80_t * SOFTFLOAT_STATE_ARG_COMMA ); 200 200 typedef 201 bool funcType_ab_extF80_z_bool( const extFloat80_t *, const extFloat80_t * );202 #endif 203 204 #ifdef FLOAT128 205 typedef uint_fast32_t funcType_a_f128_z_ui32( const float128_t * );206 typedef uint_fast64_t funcType_a_f128_z_ui64( const float128_t * );207 typedef int_fast32_t funcType_a_f128_z_i32( const float128_t * );208 typedef int_fast64_t funcType_a_f128_z_i64( const float128_t * );209 #ifdef FLOAT16 210 typedef float16_t funcType_a_f128_z_f16( const float128_t * );211 #endif 212 typedef float32_t funcType_a_f128_z_f32( const float128_t * );213 #ifdef FLOAT64 214 typedef float64_t funcType_a_f128_z_f64( const float128_t * );215 #endif 216 #ifdef EXTFLOAT80 217 typedef void funcType_a_f128_z_extF80( const float128_t *, extFloat80_t * );218 #endif 219 typedef void funcType_az_f128( const float128_t *, float128_t * );201 bool funcType_ab_extF80_z_bool( const extFloat80_t *, const extFloat80_t * SOFTFLOAT_STATE_ARG_COMMA ); 202 #endif 203 204 #ifdef FLOAT128 205 typedef uint_fast32_t funcType_a_f128_z_ui32( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 206 typedef uint_fast64_t funcType_a_f128_z_ui64( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 207 typedef int_fast32_t funcType_a_f128_z_i32( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 208 typedef int_fast64_t funcType_a_f128_z_i64( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 209 #ifdef FLOAT16 210 typedef float16_t funcType_a_f128_z_f16( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 211 #endif 212 typedef float32_t funcType_a_f128_z_f32( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 213 #ifdef FLOAT64 214 typedef float64_t funcType_a_f128_z_f64( const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 215 #endif 216 #ifdef EXTFLOAT80 217 typedef void funcType_a_f128_z_extF80( const float128_t *, extFloat80_t * SOFTFLOAT_STATE_ARG_COMMA ); 218 #endif 219 typedef void funcType_az_f128( const float128_t *, float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 220 220 typedef 221 221 void 222 funcType_abz_f128( const float128_t *, const float128_t *, float128_t * );222 funcType_abz_f128( const float128_t *, const float128_t *, float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 223 223 typedef 224 224 void 225 225 funcType_abcz_f128( 226 const float128_t *, const float128_t *, const float128_t *, float128_t * 226 const float128_t *, const float128_t *, const float128_t *, float128_t * SOFTFLOAT_STATE_ARG_COMMA 227 227 ); 228 typedef bool funcType_ab_f128_z_bool( const float128_t *, const float128_t * );228 typedef bool funcType_ab_f128_z_bool( const float128_t *, const float128_t * SOFTFLOAT_STATE_ARG_COMMA ); 229 229 #endif 230 230
Note:
See TracChangeset
for help on using the changeset viewer.