summaryrefslogtreecommitdiff
path: root/AK
diff options
context:
space:
mode:
authorHendiadyoin1 <leon2002.la@gmail.com>2021-07-04 13:54:16 +0200
committerAndreas Kling <kling@serenityos.org>2021-07-22 23:33:21 +0200
commit1d74742c29a008bc5eb66fd456463ffa4559d31a (patch)
treecc3dbb2009cd302314910479c99065b20e44123d /AK
parenteb6af294215ec223009569622a1354c416929aae (diff)
downloadserenity-1d74742c29a008bc5eb66fd456463ffa4559d31a.zip
AK: Add char SIMD types
These are used in intrinsics, which do not recognize any signed version of the char type
Diffstat (limited to 'AK')
-rw-r--r--AK/SIMD.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/AK/SIMD.h b/AK/SIMD.h
index dc7928b228..b923f7a111 100644
--- a/AK/SIMD.h
+++ b/AK/SIMD.h
@@ -21,6 +21,14 @@ using i16x4 = i16 __attribute__((vector_size(8)));
using i16x8 = i16 __attribute__((vector_size(16)));
using i16x16 = i16 __attribute__((vector_size(32)));
+// the asm intrinsics demand chars as the 8-bit type, and do not allow
+// (un-)signed ones to be used
+using c8x2 = char __attribute__((vector_size(2)));
+using c8x4 = char __attribute__((vector_size(4)));
+using c8x8 = char __attribute__((vector_size(8)));
+using c8x16 = char __attribute__((vector_size(16)));
+using c8x32 = char __attribute__((vector_size(32)));
+
using i32x2 = i32 __attribute__((vector_size(8)));
using i32x4 = i32 __attribute__((vector_size(16)));
using i32x8 = i32 __attribute__((vector_size(32)));