google / highway

Performance-portable, length-agnostic SIMD with runtime dispatch
Apache License 2.0
3.97k stars 308 forks source link

tests fail on riscv64 ***Exception: Illegal on Milk-V Pioneer #2125

Closed ncopa closed 1 month ago

ncopa commented 2 months ago

We have recently enabled the tests in Alpine Linux. There is a significant number of tests that fails:

The following tests FAILED:
      1 - CopyTestGroup/CopyTest.TestAllFill/RVV  # GetParam() = 137438953472 (Failed)
      3 - CopyTestGroup/CopyTest.TestAllCopy/RVV  # GetParam() = 137438953472 (Failed)
      5 - CopyTestGroup/CopyTest.TestAllCopyIf/RVV  # GetParam() = 137438953472 (ILLEGAL)
      7 - FindTestGroup/FindTest.TestAllFind/RVV  # GetParam() = 137438953472 (Failed)
      9 - FindTestGroup/FindTest.TestAllFindIf/RVV  # GetParam() = 137438953472 (Failed)
     11 - TransformTestGroup/TransformTest.TestAllGenerate/RVV  # GetParam() = 137438953472 (Failed)
     13 - TransformTestGroup/TransformTest.TestAllTransform/RVV  # GetParam() = 137438953472 (ILLEGAL)
     15 - TransformTestGroup/TransformTest.TestAllTransform1/RVV  # GetParam() = 137438953472 (ILLEGAL)
     17 - TransformTestGroup/TransformTest.TestAllTransform2/RVV  # GetParam() = 137438953472 (ILLEGAL)
     19 - TransformTestGroup/TransformTest.TestAllReplace/RVV  # GetParam() = 137438953472 (ILLEGAL)
     50 - HighwayTestGroup/HighwayTest.TestAllCapped/RVV  # GetParam() = 137438953472 (ILLEGAL)
     52 - HighwayTestGroup/HighwayTest.TestAllMaxLanes/RVV  # GetParam() = 137438953472 (Failed)
     54 - HighwayTestGroup/HighwayTest.TestAllSet/RVV  # GetParam() = 137438953472 (Failed)
     56 - HighwayTestGroup/HighwayTest.TestAllOverflow/RVV  # GetParam() = 137438953472 (Failed)
     58 - HighwayTestGroup/HighwayTest.TestAllClamp/RVV  # GetParam() = 137438953472 (Failed)
     60 - HighwayTestGroup/HighwayTest.TestAllSignBit/RVV  # GetParam() = 137438953472 (Failed)
     62 - HighwayTestGroup/HighwayTest.TestAllNaN/RVV  # GetParam() = 137438953472 (ILLEGAL)
     64 - HighwayTestGroup/HighwayTest.TestAllIsNaN/RVV  # GetParam() = 137438953472 (ILLEGAL)
     66 - HighwayTestGroup/HighwayTest.TestAllIsInf/RVV  # GetParam() = 137438953472 (ILLEGAL)
     68 - HighwayTestGroup/HighwayTest.TestAllIsFinite/RVV  # GetParam() = 137438953472 (ILLEGAL)
     70 - HighwayTestGroup/HighwayTest.TestAllCopyAndAssign/RVV  # GetParam() = 137438953472 (Failed)
     72 - HighwayTestGroup/HighwayTest.TestAllGetLane/RVV  # GetParam() = 137438953472 (Failed)
     74 - HighwayTestGroup/HighwayTest.TestAllDFromV/RVV  # GetParam() = 137438953472 (Failed)
     76 - HighwayTestGroup/HighwayTest.TestAllBlocks/RVV  # GetParam() = 137438953472 (Failed)
     78 - HighwayTestGroup/HighwayTest.TestAllBlockDFromD/RVV  # GetParam() = 137438953472 (Failed)
     83 - SkeletonTestGroup/SkeletonTest.TestAllFloorLog2/RVV  # GetParam() = 137438953472 (ILLEGAL)
     85 - SkeletonTestGroup/SkeletonTest.TestAllSumMulAdd/RVV  # GetParam() = 137438953472 (ILLEGAL)
     87 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllPlusMinus/RVV  # GetParam() = 137438953472 (Failed)
     89 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllSaturatingArithmetic/RVV  # GetParam() = 137438953472 (Failed)
     91 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllAverage/RVV  # GetParam() = 137438953472 (Failed)
     93 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllAbs/RVV  # GetParam() = 137438953472 (Failed)
     95 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllNeg/RVV  # GetParam() = 137438953472 (ILLEGAL)
     97 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllMinMax/RVV  # GetParam() = 137438953472 (Failed)
    103 - HwyArithmeticTestGroup/HwyArithmeticTest.TestAllIntegerAbsDiff/RVV  # GetParam() = 137438953472 (Failed)
    105 - HwyBlockwiseShiftTestGroup/HwyBlockwiseShiftTest.TestAllShiftBytes/RVV  # GetParam() = 137438953472 (Failed)
    107 - HwyBlockwiseShiftTestGroup/HwyBlockwiseShiftTest.TestAllShiftLeftLanes/RVV  # GetParam() = 137438953472 (Failed)
    109 - HwyBlockwiseShiftTestGroup/HwyBlockwiseShiftTest.TestAllShiftRightLanes/RVV  # GetParam() = 137438953472 (Failed)
    113 - HwyBlockwiseTestGroup/HwyBlockwiseTest.TestAllBroadcast/RVV  # GetParam() = 137438953472 (Failed)
    115 - HwyBlockwiseTestGroup/HwyBlockwiseTest.TestAllTableLookupBytesSame/RVV  # GetParam() = 137438953472 (Failed)
    117 - HwyBlockwiseTestGroup/HwyBlockwiseTest.TestAllTableLookupBytesMixed/RVV  # GetParam() = 137438953472 (Failed)
    127 - HwyCastTestGroup/HwyCastTest.TestAllBitCast/RVV  # GetParam() = 137438953472 (Failed)
    129 - HwyCastTestGroup/HwyCastTest.TestAllResizeBitCastToOneLaneVect/RVV  # GetParam() = 137438953472 (Failed)
    131 - HwyCastTestGroup/HwyCastTest.TestAllSameSizeResizeBitCast/RVV  # GetParam() = 137438953472 (Failed)
    137 - HwyCombineTestGroup/HwyCombineTest.TestAllZeroExtendVector/RVV  # GetParam() = 137438953472 (Failed)
    139 - HwyCombineTestGroup/HwyCombineTest.TestAllCombine/RVV  # GetParam() = 137438953472 (Failed)
    145 - HwyCompareTestGroup/HwyCompareTest.TestAllEquality/RVV  # GetParam() = 137438953472 (Failed)
    147 - HwyCompareTestGroup/HwyCompareTest.TestAllStrictUnsigned/RVV  # GetParam() = 137438953472 (Failed)
    149 - HwyCompareTestGroup/HwyCompareTest.TestAllStrictInt/RVV  # GetParam() = 137438953472 (Failed)
    151 - HwyCompareTestGroup/HwyCompareTest.TestAllStrictFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    153 - HwyCompareTestGroup/HwyCompareTest.TestAllWeakUnsigned/RVV  # GetParam() = 137438953472 (Failed)
    155 - HwyCompareTestGroup/HwyCompareTest.TestAllWeakInt/RVV  # GetParam() = 137438953472 (Failed)
    157 - HwyCompareTestGroup/HwyCompareTest.TestAllWeakFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    167 - HwyCompressTestGroup/HwyCompressTest.TestAllCompress/RVV  # GetParam() = 137438953472 (Failed)
    171 - HwyConvertTestGroup/HwyConvertTest.TestAllRebind/RVV  # GetParam() = 137438953472 (Failed)
    173 - HwyConvertTestGroup/HwyConvertTest.TestAllPromoteTo/RVV  # GetParam() = 137438953472 (Failed)
    177 - HwyConvertTestGroup/HwyConvertTest.TestAllF16/RVV  # GetParam() = 137438953472 (ILLEGAL)
    181 - HwyConvertTestGroup/HwyConvertTest.TestAllConvertU8/RVV  # GetParam() = 137438953472 (Failed)
    183 - HwyConvertTestGroup/HwyConvertTest.TestAllTruncate/RVV  # GetParam() = 137438953472 (Failed)
    187 - HwyConvertTestGroup/HwyConvertTest.TestAllIntFromFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    189 - HwyConvertTestGroup/HwyConvertTest.TestAllUintFromFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    191 - HwyConvertTestGroup/HwyConvertTest.TestAllFloatFromInt/RVV  # GetParam() = 137438953472 (ILLEGAL)
    193 - HwyConvertTestGroup/HwyConvertTest.TestAllFloatFromUint/RVV  # GetParam() = 137438953472 (ILLEGAL)
    195 - HwyConvertTestGroup/HwyConvertTest.TestAllI32F64/RVV  # GetParam() = 137438953472 (ILLEGAL)
    197 - HwyConvertTestGroup/HwyConvertTest.TestAllF2IPromoteTo/RVV  # GetParam() = 137438953472 (Failed)
    201 - HwyCountTestGroup/HwyCountTest.TestAllPopulationCount/RVV  # GetParam() = 137438953472 (Failed)
    203 - HwyCountTestGroup/HwyCountTest.TestAllLeadingZeroCount/RVV  # GetParam() = 137438953472 (Failed)
    205 - HwyCountTestGroup/HwyCountTest.TestAllTrailingZeroCount/RVV  # GetParam() = 137438953472 (Failed)
    207 - HwyCountTestGroup/HwyCountTest.TestAllHighestSetBitIndex/RVV  # GetParam() = 137438953472 (Failed)
    215 - HwyDemoteTestGroup/HwyDemoteTest.TestAllDemoteToInt/RVV  # GetParam() = 137438953472 (Failed)
    217 - HwyDemoteTestGroup/HwyDemoteTest.TestAllDemoteToMixed/RVV  # GetParam() = 137438953472 (ILLEGAL)
    219 - HwyDemoteTestGroup/HwyDemoteTest.TestAllDemoteToFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    221 - HwyDemoteTestGroup/HwyDemoteTest.TestAllDemoteUI64ToFloat/RVV  # GetParam() = 137438953472 (ILLEGAL)
    223 - HwyDemoteTestGroup/HwyDemoteTest.TestAllDemoteToBF16/RVV  # GetParam() = 137438953472 (ILLEGAL)
    229 - HwyDemoteTestGroup/HwyDemoteTest.TestAllI32F64/RVV  # GetParam() = 137438953472 (ILLEGAL)
    231 - HwyExpandTestGroup/HwyExpandTest.TestAllExpand/RVV  # GetParam() = 137438953472 (Failed)
    233 - HwyFloatTestGroup/HwyFloatTest.TestAllDiv/RVV  # GetParam() = 137438953472 (ILLEGAL)
    235 - HwyFloatTestGroup/HwyFloatTest.TestAllApproximateReciprocal/RVV  # GetParam() = 137438953472 (ILLEGAL)
    237 - HwyFloatTestGroup/HwyFloatTest.TestAllSquareRoot/RVV  # GetParam() = 137438953472 (ILLEGAL)
    239 - HwyFloatTestGroup/HwyFloatTest.TestAllReciprocalSquareRoot/RVV  # GetParam() = 137438953472 (ILLEGAL)
    241 - HwyFloatTestGroup/HwyFloatTest.TestAllRound/RVV  # GetParam() = 137438953472 (ILLEGAL)
    243 - HwyFloatTestGroup/HwyFloatTest.TestAllNearestInt/RVV  # GetParam() = 137438953472 (ILLEGAL)
    245 - HwyFloatTestGroup/HwyFloatTest.TestAllTrunc/RVV  # GetParam() = 137438953472 (ILLEGAL)
    247 - HwyFloatTestGroup/HwyFloatTest.TestAllCeil/RVV  # GetParam() = 137438953472 (ILLEGAL)
    249 - HwyFloatTestGroup/HwyFloatTest.TestAllFloor/RVV  # GetParam() = 137438953472 (ILLEGAL)
    251 - HwyFloatTestGroup/HwyFloatTest.TestAllAbsDiff/RVV  # GetParam() = 137438953472 (ILLEGAL)
    253 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForMaxPow2/RVV  # GetParam() = 137438953472 (Failed)
    255 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForExtendableVectors/RVV  # GetParam() = 137438953472 (Failed)
    257 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForShrinkableVectors/RVV  # GetParam() = 137438953472 (Failed)
    259 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForGEVectors/RVV  # GetParam() = 137438953472 (Failed)
    261 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForPromoteVectors/RVV  # GetParam() = 137438953472 (Failed)
    263 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForDemoteVectors/RVV  # GetParam() = 137438953472 (Failed)
    265 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForHalfVectors/RVV  # GetParam() = 137438953472 (Failed)
    267 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForPartialVectors/RVV  # GetParam() = 137438953472 (Failed)
    269 - HwyForeachVecTestGroup/HwyForeachVecTest.TestAllForPartialFixedOrFullVectors/RVV  # GetParam() = 137438953472 (Failed)
    271 - HwyIfTestGroup/HwyIfTest.TestAllIfThenElse/RVV  # GetParam() = 137438953472 (Failed)
    273 - HwyIfTestGroup/HwyIfTest.TestAllIfVecThenElse/RVV  # GetParam() = 137438953472 (Failed)
    275 - HwyIfTestGroup/HwyIfTest.TestAllZeroIfNegative/RVV  # GetParam() = 137438953472 (ILLEGAL)
    277 - HwyIfTestGroup/HwyIfTest.TestAllIfNegative/RVV  # GetParam() = 137438953472 (ILLEGAL)
    279 - HwyInterleavedTestGroup/HwyInterleavedTest.TestAllLoadStoreInterleaved2/RVV  # GetParam() = 137438953472 (Failed)
    281 - HwyInterleavedTestGroup/HwyInterleavedTest.TestAllLoadStoreInterleaved3/RVV  # GetParam() = 137438953472 (Failed)
    283 - HwyInterleavedTestGroup/HwyInterleavedTest.TestAllLoadStoreInterleaved4/RVV  # GetParam() = 137438953472 (Failed)
    285 - HwyLogicalTestGroup/HwyLogicalTest.TestAllNot/RVV  # GetParam() = 137438953472 (Failed)
    287 - HwyLogicalTestGroup/HwyLogicalTest.TestAllLogical/RVV  # GetParam() = 137438953472 (Failed)
    289 - HwyLogicalTestGroup/HwyLogicalTest.TestAllCopySign/RVV  # GetParam() = 137438953472 (ILLEGAL)
    291 - HwyLogicalTestGroup/HwyLogicalTest.TestAllBroadcastSignBit/RVV  # GetParam() = 137438953472 (Failed)
    293 - HwyLogicalTestGroup/HwyLogicalTest.TestAllTestBit/RVV  # GetParam() = 137438953472 (Failed)
    295 - HwyLogicalTestGroup/HwyLogicalTest.TestAllBitwiseIfThenElse/RVV  # GetParam() = 137438953472 (Failed)
    297 - HwyMaskTestGroup/HwyMaskTest.TestAllMaskedLoad/RVV  # GetParam() = 137438953472 (Failed)
    299 - HwyMaskTestGroup/HwyMaskTest.TestAllMaskedScatter/RVV  # GetParam() = 137438953472 (ILLEGAL)
    301 - HwyMaskTestGroup/HwyMaskTest.TestAllScatterIndexN/RVV  # GetParam() = 137438953472 (ILLEGAL)
    303 - HwyMaskTestGroup/HwyMaskTest.TestAllMaskedGather/RVV  # GetParam() = 137438953472 (ILLEGAL)
    305 - HwyMaskTestGroup/HwyMaskTest.TestAllGatherIndexN/RVV  # GetParam() = 137438953472 (ILLEGAL)
    307 - HwyMaskTestGroup/HwyMaskTest.TestAllBlendedStore/RVV  # GetParam() = 137438953472 (Failed)
    309 - HwyMaskTestGroup/HwyMaskTest.TestAllStoreMaskBits/RVV  # GetParam() = 137438953472 (Failed)
    311 - HwyMaskTestGroup/HwyMaskTest.TestAllFromVec/RVV  # GetParam() = 137438953472 (Failed)
    313 - HwyMaskTestGroup/HwyMaskTest.TestAllFirstN/RVV  # GetParam() = 137438953472 (Failed)
    315 - HwyMaskTestGroup/HwyMaskTest.TestAllMaskVec/RVV  # GetParam() = 137438953472 (ILLEGAL)
    317 - HwyMaskTestGroup/HwyMaskTest.TestAllAllTrueFalse/RVV  # GetParam() = 137438953472 (Failed)
    319 - HwyMaskTestGroup/HwyMaskTest.TestAllCountTrue/RVV  # GetParam() = 137438953472 (Failed)
    321 - HwyMaskTestGroup/HwyMaskTest.TestAllFindFirstTrue/RVV  # GetParam() = 137438953472 (Failed)
    323 - HwyMaskTestGroup/HwyMaskTest.TestAllFindLastTrue/RVV  # GetParam() = 137438953472 (Failed)
    325 - HwyMaskTestGroup/HwyMaskTest.TestAllLogicalMask/RVV  # GetParam() = 137438953472 (Failed)
    327 - HwyMaskTestGroup/HwyMaskTest.TestAllSetBeforeFirst/RVV  # GetParam() = 137438953472 (Failed)
    329 - HwyMaskTestGroup/HwyMaskTest.TestAllSetAtOrBeforeFirst/RVV  # GetParam() = 137438953472 (Failed)
    331 - HwyMaskTestGroup/HwyMaskTest.TestAllSetOnlyFirst/RVV  # GetParam() = 137438953472 (Failed)
    333 - HwyMaskTestGroup/HwyMaskTest.TestAllSetAtOrAfterFirst/RVV  # GetParam() = 137438953472 (Failed)
    335 - HwyMemoryTestGroup/HwyMemoryTest.TestAllLoadStore/RVV  # GetParam() = 137438953472 (Failed)
    337 - HwyMemoryTestGroup/HwyMemoryTest.TestAllSafeCopyN/RVV  # GetParam() = 137438953472 (Failed)
    341 - HwyMemoryTestGroup/HwyMemoryTest.TestAllStream/RVV  # GetParam() = 137438953472 (ILLEGAL)
    343 - HwyMemoryTestGroup/HwyMemoryTest.TestAllScatter/RVV  # GetParam() = 137438953472 (ILLEGAL)
    345 - HwyMemoryTestGroup/HwyMemoryTest.TestAllGather/RVV  # GetParam() = 137438953472 (ILLEGAL)
    349 - HwyMemoryTestGroup/HwyMemoryTest.TestAllLoadN/RVV  # GetParam() = 137438953472 (Failed)
    351 - HwyMemoryTestGroup/HwyMemoryTest.TestAllLoadNOr/RVV  # GetParam() = 137438953472 (Failed)
    353 - HwyMemoryTestGroup/HwyMemoryTest.TestAllStoreN/RVV  # GetParam() = 137438953472 (Failed)
    355 - HwyMulTestGroup/HwyMulTest.TestAllMul/RVV  # GetParam() = 137438953472 (Failed)
    357 - HwyMulTestGroup/HwyMulTest.TestAllMulHigh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    359 - HwyMulTestGroup/HwyMulTest.TestAllMulFixedPoint15/RVV  # GetParam() = 137438953472 (ILLEGAL)
    365 - HwyMulTestGroup/HwyMulTest.TestAllMulAdd/RVV  # GetParam() = 137438953472 (Failed)
    367 - HwyReductionTestGroup/HwyReductionTest.TestAllSumOfLanes/RVV  # GetParam() = 137438953472 (ILLEGAL)
    369 - HwyReductionTestGroup/HwyReductionTest.TestAllMinMaxOfLanes/RVV  # GetParam() = 137438953472 (ILLEGAL)
    377 - HwyResizeTestGroup/HwyResizeTest.TestAllExtendingResizeBitCast/RVV  # GetParam() = 137438953472 (Failed)
    379 - HwyReverseTestGroup/HwyReverseTest.TestAllReverse/RVV  # GetParam() = 137438953472 (Failed)
    387 - HwyReverseTestGroup/HwyReverseTest.TestAllReverseLaneBytes/RVV  # GetParam() = 137438953472 (ILLEGAL)
    389 - HwyReverseTestGroup/HwyReverseTest.TestAllReverseBits/RVV  # GetParam() = 137438953472 (Failed)
    393 - HwyShiftTestGroup/HwyShiftTest.TestAllShifts/RVV  # GetParam() = 137438953472 (Failed)
    395 - HwyShiftTestGroup/HwyShiftTest.TestAllVariableShifts/RVV  # GetParam() = 137438953472 (Failed)
    397 - HwyShiftTestGroup/HwyShiftTest.TestAllRotateRight/RVV  # GetParam() = 137438953472 (Failed)
    399 - HwyShuffle4TestGroup/HwyShuffle4Test.TestAllPer4LaneBlockShuffle/RVV  # GetParam() = 137438953472 (Failed)
    401 - HwySlideUpDownTestGroup/HwySlideUpDownTest.TestAllSlideUpLanes/RVV  # GetParam() = 137438953472 (Failed)
    403 - HwySlideUpDownTestGroup/HwySlideUpDownTest.TestAllSlideDownLanes/RVV  # GetParam() = 137438953472 (Failed)
    405 - HwySlideUpDownTestGroup/HwySlideUpDownTest.TestAllSlide1/RVV  # GetParam() = 137438953472 (Failed)
    407 - HwySlideUpDownTestGroup/HwySlideUpDownTest.TestAllSlideBlocks/RVV  # GetParam() = 137438953472 (Failed)
    413 - HwySwizzleBlockTestGroup/HwySwizzleBlockTest.TestAllInsertBlock/RVV  # GetParam() = 137438953472 (Failed)
    415 - HwySwizzleBlockTestGroup/HwySwizzleBlockTest.TestAllExtractBlock/RVV  # GetParam() = 137438953472 (Failed)
    417 - HwySwizzleBlockTestGroup/HwySwizzleBlockTest.TestAllBroadcastBlock/RVV  # GetParam() = 137438953472 (Failed)
    419 - HwySwizzleTestGroup/HwySwizzleTest.TestAllGetLane/RVV  # GetParam() = 137438953472 (Failed)
    421 - HwySwizzleTestGroup/HwySwizzleTest.TestAllExtractLane/RVV  # GetParam() = 137438953472 (Failed)
    423 - HwySwizzleTestGroup/HwySwizzleTest.TestAllInsertLane/RVV  # GetParam() = 137438953472 (Failed)
    431 - HwySwizzleTestGroup/HwySwizzleTest.TestAllBroadcastLane/RVV  # GetParam() = 137438953472 (Failed)
    433 - HwyTableTestGroup/HwyTableTest.TestAllTableLookupLanes/RVV  # GetParam() = 137438953472 (Failed)
    435 - HwyTableTestGroup/HwyTableTest.TestAllTwoTablesLookupLanes/RVV  # GetParam() = 137438953472 (Failed)
    437 - TestUtilTestGroup/TestUtilTest.TestAllName/RVV  # GetParam() = 137438953472 (Failed)
    441 - TupleTestGroup/TupleTest.TestAllCreate/RVV  # GetParam() = 137438953472 (Failed)
    453 - DotTestGroup/DotTest.TestAllDot/RVV  # GetParam() = 137438953472 (ILLEGAL)
    457 - ImageTestGroup/ImageTest.TestAligned/RVV  # GetParam() = 137438953472 (ILLEGAL)
    459 - ImageTestGroup/ImageTest.TestUnaligned/RVV  # GetParam() = 137438953472 (ILLEGAL)
    461 - HwyMathTestGroup/HwyMathTest.TestAllAcos/RVV  # GetParam() = 137438953472 (ILLEGAL)
    463 - HwyMathTestGroup/HwyMathTest.TestAllAcosh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    465 - HwyMathTestGroup/HwyMathTest.TestAllAsin/RVV  # GetParam() = 137438953472 (ILLEGAL)
    467 - HwyMathTestGroup/HwyMathTest.TestAllAsinh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    469 - HwyMathTestGroup/HwyMathTest.TestAllAtan/RVV  # GetParam() = 137438953472 (ILLEGAL)
    471 - HwyMathTestGroup/HwyMathTest.TestAllAtanh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    473 - HwyMathTestGroup/HwyMathTest.TestAllCos/RVV  # GetParam() = 137438953472 (ILLEGAL)
    475 - HwyMathTestGroup/HwyMathTest.TestAllExp/RVV  # GetParam() = 137438953472 (ILLEGAL)
    477 - HwyMathTestGroup/HwyMathTest.TestAllExpm1/RVV  # GetParam() = 137438953472 (ILLEGAL)
    479 - HwyMathTestGroup/HwyMathTest.TestAllLog/RVV  # GetParam() = 137438953472 (ILLEGAL)
    481 - HwyMathTestGroup/HwyMathTest.TestAllLog10/RVV  # GetParam() = 137438953472 (ILLEGAL)
    483 - HwyMathTestGroup/HwyMathTest.TestAllLog1p/RVV  # GetParam() = 137438953472 (ILLEGAL)
    485 - HwyMathTestGroup/HwyMathTest.TestAllLog2/RVV  # GetParam() = 137438953472 (ILLEGAL)
    487 - HwyMathTestGroup/HwyMathTest.TestAllSin/RVV  # GetParam() = 137438953472 (ILLEGAL)
    489 - HwyMathTestGroup/HwyMathTest.TestAllSinh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    491 - HwyMathTestGroup/HwyMathTest.TestAllTanh/RVV  # GetParam() = 137438953472 (ILLEGAL)
    493 - HwyMathTestGroup/HwyMathTest.TestAllAtan2/RVV  # GetParam() = 137438953472 (ILLEGAL)
    495 - HwyMathTestGroup/HwyMathTest.TestAllSinCosSin/RVV  # GetParam() = 137438953472 (ILLEGAL)
    497 - HwyMathTestGroup/HwyMathTest.TestAllSinCosCos/RVV  # GetParam() = 137438953472 (ILLEGAL)
    499 - SortTestGroup/SortTest.TestAllFloatLargerSmaller/RVV  # GetParam() = 137438953472 (ILLEGAL)
    501 - SortTestGroup/SortTest.TestAllFloatInf/RVV  # GetParam() = 137438953472 (ILLEGAL)
    503 - SortTestGroup/SortTest.TestAllMedian/RVV  # GetParam() = 137438953472 (ILLEGAL)
    505 - SortTestGroup/SortTest.TestAllBaseCase/RVV  # GetParam() = 137438953472 (Failed)
    507 - SortTestGroup/SortTest.TestAllPartition/RVV  # GetParam() = 137438953472 (ILLEGAL)
    511 - SortTestGroup/SortTest.TestAllSort/RVV  # GetParam() = 137438953472 (ILLEGAL)
    513 - BenchSortGroup/BenchSort.BenchAllColdSort/RVV  # GetParam() = 137438953472 (ILLEGAL)
    515 - BenchSortGroup/BenchSort.BenchAllSort/RVV  # GetParam() = 137438953472 (ILLEGAL)
    517 - UnrollerTestGroup/UnrollerTest.TestAllDot/RVV  # GetParam() = 137438953472 (ILLEGAL)
    519 - UnrollerTestGroup/UnrollerTest.TestAllConvert/RVV  # GetParam() = 137438953472 (ILLEGAL)
    521 - UnrollerTestGroup/UnrollerTest.TestAllFind/RVV  # GetParam() = 137438953472 (ILLEGAL)
Errors while running CTest

This runs on a Milk-V Pioneer machine with a sophgo 2042 processor. This only implements RVV 0.71, which is why the tests fails with illegal instruction.

My question is if the rvv support is enabled runtime? How and where is the runtime detection done? I would expect that the runtime detection would catch this and highway would fall back to the generic implementation.

For ffmpeg we have adapted a runtime test for detecting compliant rvv 1.0 support and I wonder if we can do something similar for highway.

jan-wassenberg commented 2 months ago

Yes, we detect at runtime, the code is here: https://github.com/google/highway/blob/master/hwy/targets.cc#L621.

Thanks, that's a good idea. We'd welcome such a patch with inline asm.

johnplatts commented 2 months ago

Yes, we detect at runtime, the code is here: https://github.com/google/highway/blob/master/hwy/targets.cc#L621.

Thanks, that's a good idea. We'd welcome such a patch with inline asm.

I have implemented the fix in pull request #2127 that only enables the HWY_RVV target if tail agnostic mode is supported, mask agnostic mode is supported, and the length of a vuint8m1_t vector is at least 16 bytes.

jan-wassenberg commented 1 month ago

I think this is now fixed, thank you @johnplatts :)