From: lkcl Date: Mon, 8 May 2023 09:59:28 +0000 (+0100) Subject: (no commit message) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9e5f119265e0d7f3f789a52996589ddada95e783;p=libreriscv.git --- diff --git a/openpower/sv/mv.swizzle.mdwn b/openpower/sv/mv.swizzle.mdwn index 74ff6bd24..f45aec349 100644 --- a/openpower/sv/mv.swizzle.mdwn +++ b/openpower/sv/mv.swizzle.mdwn @@ -32,7 +32,8 @@ vec4 array (YYXX or XYXX). For this reason, *when Vectorised* Swizzle Moves support independent subvector lengths for both source and destination. -Although conceptually similar to `vpermd` of Packed SIMD VSX, +Although conceptually similar to `vpermd` and `vpermdi` +of Packed SIMD VSX, Swizzle Moves come in immediate-only form with only up to four selectors, where VSX refers to individual bytes and may not copy constants to the destination. @@ -45,6 +46,7 @@ part of both the OpenGL(TM) and Vulkan(TM) specifications. As a standalone Scalar operation this instruction is valuable if Prefixed with SVP64Single (providing Predication). Combined with `cmpi` it synthesises Compare-and-Swap. +It is also more flexible than `xxpermdi`. # Format