remove complaints about standard Cray-style Vectors for the past 40 years
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 2 Oct 2022 11:38:32 +0000 (12:38 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 2 Oct 2022 11:38:32 +0000 (12:38 +0100)
commitb7e64d86c80eaec5ed30a54b1cb354af4183a6a2
treedc85515b0d2dc570b4a6e7ada7e17332bb9b175f
parent4b8a942aabb60917b39b8d23b070af9099eb103a
remove complaints about standard Cray-style Vectors for the past 40 years
being able to have VL set to zero dynamically at runtime.
it is not appropriate to have complaints about 40-year-old standard
canonical behaviour of Cray Vectors in source code comments

VL=0 being set dynamically at runtime based on an algorithm input
sets the operations to nop because that is expected behaviour.
to not have VL=0 would be catastrophically inconvenient: it would
require either Illegal-Instruction traps to be raised, or Condition
Codes to be set and followed up with instructions to test and
branch for the dynamic condition when RA was zero, or to pre-test
for RA or CTR pre-being-zero prior to entry into a loop.

Data-Dependent Fail-First would become irrevocably damaged as well
as it is possible for VL to be set to zero at that time (first
test fails)

sv.bc would also be irrevocably damaged as it would no longer
be possible in VLSET mode to have VL become truncated to zero
dynamically based on a Condition Code.

in all it is pretty catastrophic to the entire Cray-Vector paradigm
and would severely damage SimpleV to disallow VL=0 purely for
arbitrary "convenience"
src/openpower/test/algorithms/svp64_utf_8_validation.py