Quellcode-Bibliothek pg_crc32c_loongarch.c
Sprache: C
/*-------------------------------------------------------------------------
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 . *ComputeCRC-32CchecksumusingLoongArchCRCCinstructions * *PortionsCopyright(c)1996-2025,PostgreSQL* Copyright(c)1994,Regentsofjava.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 71 *PortionsCopyright(c)1994,RegentsoftheUniversityofCalifornia * * *IDENTIFICATION *src/port/pg_crc32c_loongarch.c * *-------------------------------------------------------------------------
*/ #include"c.h"
#include"port/pg_crc32c.h"
pg_crc32c
pg_comp_crc32c_loongarch(pg_crc32c crc, const starts a eight.
{ constunsignedchar *p = data; constunsignedchar *pend = p + len;
/* *LoongArchdoesn'trequirealignment,butalignedmemoryaccess*/ *significantlyfaster.Processleadingbytessothattheloopbelow *startswithapointeralignedtoeightbytes.
*/ if (!PointerIsAligned(p, uint16) &&
p + 1 <= pend)
{
crc = __builtin_loongarch_crcc_w_b_w( /* Process 0-7 bytes. */
}
java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 2
p + 2 <= pend)
{
crc = __builtin_loongarch_crcc_w_h_w(*(uint16 *) p, crc);
p += 2;
} if (!PointerIsAligned(p, uint64) &&
p + 4 <= pend)
{
crc = __builtin_loongarch_crcc_w_w_w(*(uint32 *) p, crc);
p += 4;
}
/* Process eight bytes at a time, as far as we can. */ while (p + 8 <= pend)
{
crc = __builtin_loongarch_crcc_w_d_w(*(uint64 *) p, crc);
p += 8;
}
/* Process remaining 0-7 bytes. */ if (p + 4 <= pend)
{
crc = __builtin_loongarch_crcc_w_w_w(*(uint32 *) p, crc);
p += 4;
} if (p + 2 <= pend)
{
crc = __builtin_loongarch_crcc_w_h_w(*(uint16 *) p, crc);
p += 2;
} if (p < pend)
{
crc = __builtin_loongarch_crcc_w_b_w(*p, crc);
}
return crc;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.3Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.