Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
simde
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
simde
Commits
24be11d0
Commit
24be11d0
authored
Nov 21, 2023
by
Michael R. Crusoe
Committed by
Michael R. Crusoe
Nov 22, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gh-actions: test mips64el using qemu on gcc12/clang16
parent
f0bd155c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
77 additions
and
90 deletions
+77
-90
mips/msa/ld.h
mips/msa/ld.h
+60
-70
mips/msa/st.h
mips/msa/st.h
+16
-20
simde-f16.h
simde-f16.h
+1
-0
No files found.
mips/msa/ld.h
View file @
24be11d0
...
@@ -37,16 +37,15 @@ SIMDE_FUNCTION_ATTRIBUTES
...
@@ -37,16 +37,15 @@ SIMDE_FUNCTION_ATTRIBUTES
simde_v16i8
simde_v16i8
simde_msa_ld_b
(
const
void
*
rs
,
const
int
s10
)
simde_msa_ld_b
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v16i8
r
;
return
__msa_ld_b
(
rs
,
s10
);
#else
simde_v16i8
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_ld_b(rs, s10) __msa_ld_b((rs), (s10))
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_ld_b
#undef __msa_ld_b
#define __msa_ld_b(rs, s10) simde_msa_ld_b((rs), (s10))
#define __msa_ld_b(rs, s10) simde_msa_ld_b((rs), (s10))
...
@@ -57,16 +56,15 @@ simde_v8i16
...
@@ -57,16 +56,15 @@ simde_v8i16
simde_msa_ld_h
(
const
void
*
rs
,
const
int
s10
)
simde_msa_ld_h
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v8i16
r
;
return
__msa_ld_h
(
rs
,
s10
);
#else
simde_v8i16
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_ld_h(rs, s10) __msa_ld_h((rs), (s10))
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_ld_h
#undef __msa_ld_h
#define __msa_ld_h(rs, s10) simde_msa_ld_h((rs), (s10))
#define __msa_ld_h(rs, s10) simde_msa_ld_h((rs), (s10))
...
@@ -77,16 +75,15 @@ simde_v4i32
...
@@ -77,16 +75,15 @@ simde_v4i32
simde_msa_ld_w
(
const
void
*
rs
,
const
int
s10
)
simde_msa_ld_w
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v4i32
r
;
return
__msa_ld_w
(
rs
,
s10
);
#else
simde_v4i32
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_ld_w(rs, s10) __msa_ld_w((rs), (s10))
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_ld_w
#undef __msa_ld_w
#define __msa_ld_w(rs, s10) simde_msa_ld_w((rs), (s10))
#define __msa_ld_w(rs, s10) simde_msa_ld_w((rs), (s10))
...
@@ -97,16 +94,15 @@ simde_v2i64
...
@@ -97,16 +94,15 @@ simde_v2i64
simde_msa_ld_d
(
const
void
*
rs
,
const
int
s10
)
simde_msa_ld_d
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v2i64
r
;
return
__msa_ld_d
(
rs
,
s10
);
#else
simde_v2i64
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_ld_d(rs, s10) __msa_ld_d((rs), (s10))
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_ld_d
#undef __msa_ld_d
#define __msa_ld_d(rs, s10) simde_msa_ld_d((rs), (s10))
#define __msa_ld_d(rs, s10) simde_msa_ld_d((rs), (s10))
...
@@ -116,96 +112,90 @@ SIMDE_FUNCTION_ATTRIBUTES
...
@@ -116,96 +112,90 @@ SIMDE_FUNCTION_ATTRIBUTES
simde_v16u8
simde_v16u8
simde_x_msa_ld_u_b
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_ld_u_b
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v16u8
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v16u8
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v16u8
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_ld_u_b(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v16u8, __msa_ld_b((rs), (s10)))
#endif
SIMDE_FUNCTION_ATTRIBUTES
SIMDE_FUNCTION_ATTRIBUTES
simde_v8u16
simde_v8u16
simde_x_msa_ld_u_h
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_ld_u_h
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v8u16
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v8u16
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v8u16
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_ld_u_h(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v8u16, __msa_ld_b((rs), (s10)))
#endif
SIMDE_FUNCTION_ATTRIBUTES
SIMDE_FUNCTION_ATTRIBUTES
simde_v4u32
simde_v4u32
simde_x_msa_ld_u_w
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_ld_u_w
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v4u32
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v4u32
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v4u32
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_ld_u_w(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v4u32, __msa_ld_b((rs), (s10)))
#endif
SIMDE_FUNCTION_ATTRIBUTES
SIMDE_FUNCTION_ATTRIBUTES
simde_v2u64
simde_v2u64
simde_x_msa_ld_u_d
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_ld_u_d
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v2u64
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v2u64
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v2u64
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_ld_u_d(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v2u64, __msa_ld_b((rs), (s10)))
#endif
SIMDE_FUNCTION_ATTRIBUTES
SIMDE_FUNCTION_ATTRIBUTES
simde_v4f32
simde_v4f32
simde_x_msa_fld_w
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_fld_w
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v4f32
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v4f32
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v4f32
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_fld_w(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v4f32, __msa_ld_b((rs), (s10)))
#endif
SIMDE_FUNCTION_ATTRIBUTES
SIMDE_FUNCTION_ATTRIBUTES
simde_v2f64
simde_v2f64
simde_x_msa_fld_d
(
const
void
*
rs
,
const
int
s10
)
simde_x_msa_fld_d
(
const
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_v2f64
r
;
return
HEDLEY_REINTERPRET_CAST
(
simde_v2f64
,
__msa_ld_b
(
rs
,
s10
));
#else
simde_v2f64
r
;
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
simde_memcpy
(
&
r
,
&
(
HEDLEY_REINTERPRET_CAST
(
const
int8_t
*
,
rs
)[
s10
]),
sizeof
(
r
));
return
r
;
return
r
;
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_x_msa_fld_d(rs, s10) HEDLEY_REINTERPRET_CAST(simde_v2f64, __msa_ld_b((rs), (s10)))
#endif
SIMDE_END_DECLS_
SIMDE_END_DECLS_
HEDLEY_DIAGNOSTIC_POP
HEDLEY_DIAGNOSTIC_POP
...
...
mips/msa/st.h
View file @
24be11d0
...
@@ -37,12 +37,11 @@ SIMDE_FUNCTION_ATTRIBUTES
...
@@ -37,12 +37,11 @@ SIMDE_FUNCTION_ATTRIBUTES
void
void
simde_msa_st_b
(
simde_v16i8
a
,
void
*
rs
,
const
int
s10
)
simde_msa_st_b
(
simde_v16i8
a
,
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
return
__msa_st_b
(
a
,
rs
,
s10
);
#else
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_st_b(a, rs, s10) __msa_st_b((a), (rs), (s10));
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_st_b
#undef __msa_st_b
#define __msa_st_b(a, rs, s10) simde_msa_st_b((a), (rs), (s10))
#define __msa_st_b(a, rs, s10) simde_msa_st_b((a), (rs), (s10))
...
@@ -53,12 +52,11 @@ void
...
@@ -53,12 +52,11 @@ void
simde_msa_st_h
(
simde_v8i16
a
,
void
*
rs
,
const
int
s10
)
simde_msa_st_h
(
simde_v8i16
a
,
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int16_t
))
==
0
,
"`s10' must be a multiple of sizeof(int16_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
return
__msa_st_h
(
a
,
rs
,
s10
);
#else
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_st_h(a, rs, s10) __msa_st_h((a), (rs), (s10));
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_st_h
#undef __msa_st_h
#define __msa_st_h(a, rs, s10) simde_msa_st_h((a), (rs), (s10))
#define __msa_st_h(a, rs, s10) simde_msa_st_h((a), (rs), (s10))
...
@@ -69,12 +67,11 @@ void
...
@@ -69,12 +67,11 @@ void
simde_msa_st_w
(
simde_v4i32
a
,
void
*
rs
,
const
int
s10
)
simde_msa_st_w
(
simde_v4i32
a
,
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int32_t
))
==
0
,
"`s10' must be a multiple of sizeof(int32_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
return
__msa_st_w
(
a
,
rs
,
s10
);
#else
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_st_w(a, rs, s10) __msa_st_w((a), (rs), (s10));
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_st_w
#undef __msa_st_w
#define __msa_st_w(a, rs, s10) simde_msa_st_w((a), (rs), (s10))
#define __msa_st_w(a, rs, s10) simde_msa_st_w((a), (rs), (s10))
...
@@ -85,12 +82,11 @@ void
...
@@ -85,12 +82,11 @@ void
simde_msa_st_d
(
simde_v2i64
a
,
void
*
rs
,
const
int
s10
)
simde_msa_st_d
(
simde_v2i64
a
,
void
*
rs
,
const
int
s10
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
SIMDE_REQUIRE_CONSTANT_RANGE
(
s10
,
0
,
1023
)
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
HEDLEY_REQUIRE_MSG
((
s10
%
sizeof
(
int64_t
))
==
0
,
"`s10' must be a multiple of sizeof(int64_t)"
)
{
#if defined(SIMDE_MIPS_MSA_NATIVE)
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
return
__msa_st_d
(
a
,
rs
,
s10
);
#else
simde_memcpy
(
&
(
HEDLEY_REINTERPRET_CAST
(
int8_t
*
,
rs
)[
s10
]),
&
a
,
sizeof
(
a
));
#endif
}
}
#if defined(SIMDE_MIPS_MSA_NATIVE)
#define simde_msa_st_d(a, rs, s10) __msa_st_d((a), (rs), (s10));
#endif
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
#undef __msa_st_d
#undef __msa_st_d
#define __msa_st_d(a, rs, s10) simde_msa_st_d((a), (rs), (s10))
#define __msa_st_d(a, rs, s10) simde_msa_st_d((a), (rs), (s10))
...
...
simde-f16.h
View file @
24be11d0
...
@@ -69,6 +69,7 @@ SIMDE_BEGIN_DECLS_
...
@@ -69,6 +69,7 @@ SIMDE_BEGIN_DECLS_
#define SIMDE_FLOAT16_API SIMDE_FLOAT16_API_FP16
#define SIMDE_FLOAT16_API SIMDE_FLOAT16_API_FP16
#elif !defined(__EMSCRIPTEN__) && !(defined(__clang__) && defined(SIMDE_ARCH_POWER)) && \
#elif !defined(__EMSCRIPTEN__) && !(defined(__clang__) && defined(SIMDE_ARCH_POWER)) && \
!(defined(HEDLEY_MSVC_VERSION) && defined(__clang__)) && \
!(defined(HEDLEY_MSVC_VERSION) && defined(__clang__)) && \
!(defined(SIMDE_ARCH_MIPS) && defined(__clang__)) && \
!(defined(__clang__) && defined(SIMDE_ARCH_RISCV64)) && ( \
!(defined(__clang__) && defined(SIMDE_ARCH_RISCV64)) && ( \
defined(SIMDE_X86_AVX512FP16_NATIVE) || \
defined(SIMDE_X86_AVX512FP16_NATIVE) || \
(defined(SIMDE_ARCH_X86_SSE2) && HEDLEY_GCC_VERSION_CHECK(12,0,0)) || \
(defined(SIMDE_ARCH_X86_SSE2) && HEDLEY_GCC_VERSION_CHECK(12,0,0)) || \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment