Skip to content

Potential Issue with vssseg2e16 Test Case Due to Storage Order Variance #59

@hugo-starfive

Description

@hugo-starfive

Description:

When testing the vssseg2e16 instruction, the test case fails under specific conditions. Upon further analysis, it was found that when the stride value is set to 2, according to the RISC-V spec description for vssseg2e16,

image

there exists a scenario where v2[i] can overwrite the value stored by v3[i-1].

the spec does not enforce a sequential storage order for segment stores. From observations:

QEMU and Spike implement a storage order of v2[0] -> v3[0] -> v2[1] -> v3[1].
However, if a testing platform uses an order like v2[0] -> v2[1] -> v3[0] -> v3[1], the test results would deviate from expectations, leading to test failures.

I would like to ask whether this situation falls into the category of insufficiently robust test case construction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions