Skip to content

Vector128 and Vector256 General purpose DotProduct tests fail #75791

@davidwrighton

Description

@davidwrighton

Description

These tests fail when upgraded to the new xunit based test system. This issue will be visible once #74886 is merged.

Reproduction Steps

Run the hardwareintrinsics_ro merged test project located in src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_ro.csproj

Expected behavior

Test should reliably pass.

Actual behavior

It fails where the difference in behavior is a floating point accuracy issue. (The algorithm is ... close in result) The expected result is within a small fraction of the actual result.

Console output looks like

21:26:27.767 Running test: global::JIT.HardwareIntrinsics.General._Vector128.Program.DotSingle()
Beginning scenario: RunBasicScenario_UnsafeRead
Vector128.Dot<Single>(Vector128<Single>, Vector128<Single>): RunBasicScenario_UnsafeRead failed:
    left: (0.3433865, 0.9667737, 0.12783496, 0.37054372)
   right: (0.98444676, 0.49922475, 0.64575523, 0.07723055)
  result: 0.93185043

Beginning scenario: RunReflectionScenario_UnsafeRead
Beginning scenario: RunClsVarScenario
Beginning scenario: RunLclVarScenario_UnsafeRead
Vector128.Dot<Single>(Vector128<Single>, Vector128<Single>): RunLclVarScenario_UnsafeRead failed:
    left: (0.3433865, 0.9667737, 0.12783496, 0.37054372)
   right: (0.98444676, 0.49922475, 0.64575523, 0.07723055)
  result: 0.93185043

Beginning scenario: RunClassLclFldScenario
Beginning scenario: RunClassFldScenario
Vector128.Dot<Single>(Vector128<Single>, Vector128<Single>): RunClassFldScenario failed:
    left: (0.74744684, 0.2090859, 0.9512482, 0.5400413)
   right: (0.558003, 0.40041316, 0.7649265, 0.91902465)
  result: 1.7247446

Beginning scenario: RunStructLclFldScenario
Beginning scenario: RunStructFldScenario
21:26:28.001 Failed test: global::JIT.HardwareIntrinsics.General._Vector128.Program.DotSingle()

Regression?

Unlikely.

Known Workarounds

No response

Configuration

No response

Other information

No response

category:correctness
theme:vector-codegen
skill-level:beginner
cost:small
impact:small

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions