minor wording in opensearch2023.tex
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 21 May 2023 20:26:59 +0000 (20:26 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 21 May 2023 20:27:03 +0000 (20:27 +0000)
conferences/opensearch2023/opensearch2023.tex

index e53aa60d2c8e778c74f052e1777b5a72c9525e83..2319f288061f258d34c82b339924d86787454c9b 100644 (file)
@@ -191,8 +191,9 @@ up algorithms have to have "preamble" and "postamble" to take care
 of the corner-cases.
 
 Worse, a naive SIMD ISA cannot have Conditional inter-relationships.
-64-byte or 128-byte-wide LOADs either succeed in full or they fail
-in full.  If the strncpy subroutine happens to copy from the last
+In well-defined ISAs, 128-byte or greater LOADs either succeed in full
+or they fail in full.
+If the strncpy subroutine happens to copy from the last
 few bytes in memory, SIMD LOADs are the worst thing to use.
 We need a way to Conditionally terminate the LOAD and inform the
 Programmer, and this is where (as in ARM SVE)
@@ -209,7 +210,9 @@ copying NUL characters from that point onwards.
         dest[i] = '\0';
 \end{verbatim}
 
-Performing such a conditional NUL-character search in a SIMD ISA
+Leaving aside the prior issue that LOADing beyond the point where the
+NUL was should not even have been attempted in the first place,
+performing such a conditional NUL-character search in a SIMD ISA
 is typically extremely convoluted.  A usual approach would be
 to perform a Parallel compare against NUL (easy enough) followed
 by an instruction that then searches sequentially for the first
@@ -246,7 +249,7 @@ the Vector Length, followed finally by the actual STORE.
 \textit{All of the sequential-search-and-truncate} is part of
 the Data-Dependent Fail-First Mode that is a first-order construct
 in SVP64.  When applied to the \textbf{sv.cmpi} instruction,
-which produces a Vector of Condition Codes ()as opposed to just
+which produces a Vector of Condition Codes as opposed to just
 one for the Scalar \textbf{cmpi} instruction),
 the search for the NUL character truncates the Vector Length
 at the required point, such that the next instruction (STORE)