VirtualBox

Changeset 105722 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
Aug 19, 2024 11:39:56 AM (6 months ago)
Author:
vboxsync
Message:

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

File:
1 edited

Legend:

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

    r105721 r105722  
    70917091              /*xcpt?    */ true, true },
    70927092    /** @todo Invalids, Underflow, Precision; Rounding, FZ etc. */
     7093    /*
     7094     * Invalids.
     7095     */
     7096    /* QNan, QNan (Masked). */
     7097    /*33*/{ { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7098            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7099            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7100              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7101              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7102              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7103              /*xcpt?    */ false, false },
     7104          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_INF(0)  } },
     7105            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_SNAN(1) } },
     7106            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_SNAN(1) } },
     7107              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7108              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7109              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7110              /*xcpt?    */ false, false },
     7111          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_INF(1)  } },
     7112            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN(0) } },
     7113            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN(0) } },
     7114              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7115              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7116              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7117              /*xcpt?    */ false, false },
     7118    /* QNan, SNan (Masked). */
     7119          { { /*src2     */ { FP64_QNAN(0),      FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     7120            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V2) } },
     7121            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V2) } },
     7122              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7123              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7124              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7125              /*xcpt?    */ false, false },
     7126          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7127            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7128            { /* =>      */ { FP64_QNAN_V(0, 1),                  FP64_SNAN_V(1, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7129              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7130              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7131              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7132              /*xcpt?    */ false, false },
     7133          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_INF(0)  } },
     7134            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN(1) } },
     7135            { /* =>      */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN(1) } },
     7136              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7137              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7138              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7139              /*xcpt?    */ false, false },
     7140    /* SNan, QNan (Masked). */
     7141          { { /*src2     */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } },
     7142            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(1, FP64_FRAC_V2) } },
     7143            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(1, FP64_FRAC_V2) } },
     7144              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7145              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7146              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7147              /*xcpt?    */ false, false },
     7148          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     7149            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7150            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7151              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7152              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7153              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7154              /*xcpt?    */ false, false },
     7155          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     7156            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } },
     7157            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } },
     7158              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7159              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7160              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7161              /*xcpt?    */ false, false },
     7162    /* SNan, SNan (Masked). */
     7163          { { /*src2     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7164            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7165            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7166              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7167              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7168              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7169              /*xcpt?    */ false, false },
     7170          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7171            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3) } },
     7172            { /* =>      */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3) } },
     7173              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7174              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7175              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7176              /*xcpt?    */ false, false },
     7177          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7178            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7179            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7180              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7181              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7182              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7183              /*xcpt?    */ false, false },
     7184    /* QNan, Norm FP (Masked). */
     7185          { { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7186            { /*src1     */ { FP64_1(0),    FP64_1(1),                          FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7187            { /* =>      */ { FP64_QNAN(0), FP64_1(1),                          FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7188              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7189              /*128:out  */ X86_MXCSR_XCPT_MASK,
     7190              /*256:out  */ X86_MXCSR_XCPT_MASK,
     7191              /*xcpt?    */ false, false },
     7192    /* SNan, Norm FP (Masked). */
     7193          { { /*src2     */ { FP64_SNAN(1),      FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_SNAN_V(0, FP64_FRAC_V1) } },
     7194            { /*src1     */ { FP64_1(0),         FP64_1(0),                          FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7195            { /* =>      */ { FP64_QNAN_V(1, 1), FP64_1(0),                          FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7196              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     7197              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7198              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     7199              /*xcpt?    */ false, false },
     7200    /* QNan, QNan (Unmasked). */
     7201    /*47*/{ { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7202            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7203            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7204              /*mxcsr:in */ 0,
     7205              /*128:out  */ 0,
     7206              /*256:out  */ 0,
     7207              /*xcpt?    */ false, false },
     7208          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     7209            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7210            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7211              /*mxcsr:in */ 0,
     7212              /*128:out  */ 0,
     7213              /*256:out  */ 0,
     7214              /*xcpt?    */ false, false },
     7215          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     7216            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(1, FP64_FRAC_V0) } },
     7217            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(1, FP64_FRAC_V0) } },
     7218              /*mxcsr:in */ 0,
     7219              /*128:out  */ 0,
     7220              /*256:out  */ 0,
     7221              /*xcpt?    */ false, false },
     7222
     7223    /* QNan, SNan (Unmasked). */
     7224          { { /*src2     */ { FP64_QNAN(0),      FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     7225            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7226            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7227              /*mxcsr:in */ 0,
     7228              /*128:out  */ X86_MXCSR_IE,
     7229              /*256:out  */ X86_MXCSR_IE,
     7230              /*xcpt?    */ true, true },
     7231          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7232            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7233            { /* =>      */ { FP64_QNAN_V(0, 1),                  FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7234              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     7235              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     7236              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     7237              /*xcpt?    */ true, true },
     7238          { { /*src2     */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7239            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7240            { /* =>      */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7241              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     7242              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     7243              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     7244              /*xcpt?    */ false, false },
     7245    /* SNan, QNan (Unmasked). */
     7246          { { /*src2     */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     7247            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7248            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     7249              /*mxcsr:in */ X86_MXCSR_DAZ,
     7250              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_IE,
     7251              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_IE,
     7252              /*xcpt?    */ true, true },
     7253          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } },
     7254            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V0) } },
     7255            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V0) } },
     7256              /*mxcsr:in */ X86_MXCSR_RC_UP,
     7257              /*128:out  */ X86_MXCSR_RC_UP,
     7258              /*256:out  */ X86_MXCSR_RC_UP,
     7259              /*xcpt?    */ false, false },
     7260          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } },
     7261            { /*src1     */ { FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } },
     7262            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } },
     7263              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     7264              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     7265              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     7266              /*xcpt?    */ false, false },
     7267    /* SNan, SNan (Unmasked). */
     7268    /*56*/{ { /*src2     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7269            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0) } },
     7270            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0) } },
     7271              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
     7272              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,
     7273              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,
     7274              /*xcpt?    */ true, true },
     7275          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP32_FRAC_V2) } },
     7276            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP32_FRAC_V3) } },
     7277            { /* =>      */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP32_FRAC_V3) } },
     7278              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
     7279              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     7280              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     7281              /*xcpt?    */ true, true },
     7282          { { /*src2     */ { FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     7283            { /*src1     */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7284            { /* =>      */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     7285              /*mxcsr:in */ 0,
     7286              /*128:out  */ 0,
     7287              /*256:out  */ 0,
     7288              /*xcpt?    */ false, false },
     7289    /* QNan, Norm FP (Unmasked). */
     7290          { { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_QNAN_V(0, FP64_FRAC_V1) } },
     7291            { /*src1     */ { FP64_1(0),    FP64_INF(1),                        FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7292            { /* =>      */ { FP64_QNAN(0), FP64_INF(1),                        FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7293              /*mxcsr:in */ X86_MXCSR_FZ,
     7294              /*128:out  */ X86_MXCSR_FZ,
     7295              /*256:out  */ X86_MXCSR_FZ,
     7296              /*xcpt?    */ false, false },
     7297    /* SNan, Norm FP (Unmasked). */
     7298    /*60*/{ { /*src2     */ { FP64_SNAN(1),      FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_SNAN_V(0, FP64_FRAC_V1) } },
     7299            { /*src1     */ { FP64_1(0),         FP64_INF(0),                        FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7300            { /* =>      */ { FP64_QNAN_V(1, 1), FP64_INF(0),                        FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     7301              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     7302              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     7303              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     7304              /*xcpt?    */ true, true },
    70937305    };
    70947306
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