Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions onnxruntime/core/mlas/lib/platform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ Module Name:
#define POWER_10_ANDUP (POWER_10)
#include <sys/systemcfg.h>
#define __power_10_andup() (_system_configuration.implementation & POWER_10_ANDUP)
#elif defined(__FreeBSD__)
#include <machine/cpu.h>
#include <sys/auxv.h>
#endif
#endif

Expand Down
4 changes: 2 additions & 2 deletions onnxruntime/core/mlas/lib/power/qgemm_kernel_power10.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -880,14 +880,14 @@ MlasQgemmStoreVectorMMA
{
size_t RowCount;
__vector signed int vsum0, vsum1, vsum2, vsum3;
#if defined(_AIX) && defined(__clang__)
#if (defined(_AIX) || defined(__FreeBSD__)) && defined(__clang__)
__vector signed int columnsum = *reinterpret_cast<const __vector int *>(&ColumnSumBuffer[pos]);
#else
__vector signed int columnsum = *reinterpret_cast<const __vector int32_t *>(&ColumnSumBuffer[pos]);
#endif
C += VectorCount;
if (ZeroPointB != nullptr) {
#if defined(_AIX) && defined(__clang__)
#if (defined(_AIX) || defined(__FreeBSD__)) && defined(__clang__)
__vector signed int zeropoint = *reinterpret_cast<const __vector int *>(&ZeroPointB[pos]);
#else
__vector signed int zeropoint = *reinterpret_cast<const __vector int32_t *>(&ZeroPointB[pos]);
Expand Down
4 changes: 2 additions & 2 deletions onnxruntime/core/mlas/lib/qlmul.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ MlasQLinearMulKernel(
}

while (N >= 4) {
#if defined(_AIX) && defined(__clang__)
#if (defined(_AIX) || defined(__FreeBSD__)) && defined(__clang__)
__vector int IntegerAVector {InputA[0], InputA[1], InputA[2], InputA[3]};
#else
__vector int32_t IntegerAVector {InputA[0], InputA[1], InputA[2], InputA[3]};
Expand All @@ -334,7 +334,7 @@ MlasQLinearMulKernel(
auto ValueAVector = vec_mul(ScaleAVector, vec_ctf(IntegerVector, 0));

if (!IsScalarB) {
#if defined(_AIX) && defined(__clang__)
#if (defined(_AIX) || defined(__FreeBSD__)) && defined(__clang__)
__vector int IntegerBVector {InputB[0], InputB[1], InputB[2], InputB[3]};
#else
__vector int32_t IntegerBVector {InputB[0], InputB[1], InputB[2], InputB[3]};
Expand Down
Loading