VirtualBox

Changeset 104867 in vbox


Ignore:
Timestamp:
Jun 7, 2024 10:58:04 AM (8 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: [v]addps.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32

    r104866 r104867  
    14441444              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    14451445              /*flags    */ 0, 0 },
     1446          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     1447            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     1448            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     1449              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     1450              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     1451              /*flags    */ 0, 0 },
     1452          { { /*src2     */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_VAL(0, 0x5c0000, 0x84)/*55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x5c0000, 0x84)/*55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/, BS3_FP32_ZERO(0) } },
     1453            { /*src1     */ { BS3_FP32_VAL(0, 0x1ea980, 0x8f)/*  81235*/, BS3_FP32_VAL(0, 0x600000, 0x81)/* 7*/, BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x600000, 0x81)/* 7*/, BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_ONE(1)                /*- 1.00*/, BS3_FP32_ZERO(0) } },
     1454            { /* =>      */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_VAL(0, 0x780000, 0x84)/*62*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x780000, 0x84)/*62*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_VAL(0, 0x524000, 0x86)/*210.25*/, BS3_FP32_ZERO(0) } },
     1455              /*mask     */ X86_MXCSR_XCPT_MASK,
     1456              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     1457              /*flags    */ 0, 0 },
     1458          { { /*src2     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(1), BS3_FP32_ZERO(0) } },
     1459            { /*src1     */ { BS3_FP32_VAL(1, 0x712060, 0x92)/*- 987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(1, 0x712060, 0x92)/*- 987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(0), BS3_FP32_ONE(0)  } },
     1460            { /* =>      */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0)  } },
     1461              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     1462              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     1463              /*flags    */ 0, 0 },
     1464          { { /*src2     */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ONE(0),  BS3_FP32_ONE(1),  BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
     1465            { /*src1     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ONE(1),  BS3_FP32_ONE(0),  BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
     1466            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
     1467              /*mask     */ X86_MXCSR_XCPT_MASK,
     1468              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
     1469              /*flags    */ 0, 0 },
     1470          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(1),                                  } },
     1471            { /*src1     */ { BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                  } },
     1472            { /* =>      */ { BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1) } },
     1473              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     1474              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     1475              /*flags    */ 0, 0 },
     1476          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0) } },
     1477            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0) } },
     1478            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0, 2)          , BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0, 2)           } },
     1479              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     1480              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
     1481              /*flags    */ 0, 0 },
     1482/** @todo More normals; Denormals; Underflow, Precision; Rounding, FZ etc. */
    14461483    };
    14471484
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