@@@ mess
[catacomb] / base / asm-common.h
index b4d4a90..0c20958 100644 (file)
@@ -666,6 +666,22 @@ name:
        vext.8  \vd, \vn, \vz, #\nbit >> 3
 .endm
 
+.macro vrol128 vd, vn, nbit
+       // Set VD to VN rotated left by NBIT.  NBIT must be a multiple of 8.
+  .if \nbit&3 != 0
+       .error  "shift quantity must be whole number of bytes"
+  .endif
+       vext.8  \vd, \vn, \vn, #16 - (\nbit >> 3)
+.endm
+
+.macro vror128 vd, vn, nbit
+       // Set VD to VN shifted right by NBIT.  NBIT must be a multiple of 8.
+  .if \nbit&3 != 0
+       .error  "shift quantity must be whole number of bytes"
+  .endif
+       vext.8  \vd, \vn, \vn, #\nbit >> 3
+.endm
+
 // Apply decoration decor to register name reg.
 #define _REGFORM(reg, decor) _GLUE(_REGFORM_, reg)(decor)