8000 Merge pull request #231 from howjmay/vst3 · plctlab/numpy@97665c4 · GitHub
[go: up one dir, main page]

8000
Skip to content

Commit 97665c4

Browse files
authored
Merge pull request numpy#231 from howjmay/vst3
feat: Add vst3[q]_[s8|s16|s32|f32|u8|u16|u32|s64|u64]
2 parents 3ed7ccb + 0c13b55 commit 97665c4

File tree

2 files changed

+340
-36
lines changed

2 files changed

+340
-36
lines changed

neon2rvv.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5328,37 +5328,37 @@ FORCE_INLINE uint32x4x3_t vld3q_u32(const uint32_t *__a) { return __riscv_vlseg3
53285328

53295329
// FORCE_INLINE uint64x1x3_t vld3_dup_u64(const uint64_t *__a);
53305330

5331-
// FORCE_INLINE void vst3_s8(int8_t *__a, int8x8x3_t __b);
5331+
FORCE_INLINE void vst3_s8(int8_t *__a, int8x8x3_t 10000 __b) { return __riscv_vsseg3e8_v_i8m1x3(__a, __b, 8); }
53325332

5333-
// FORCE_INLINE void vst3_s16(int16_t *__a, int16x4x3_t __b);
5333+
FORCE_INLINE void vst3_s16(int16_t *__a, int16x4x3_t __b) { return __riscv_vsseg3e16_v_i16m1x3(__a, __b, 4); }
53345334

5335-
// FORCE_INLINE void vst3_s32(int32_t *__a, int32x2x3_t __b);
5335+
FORCE_INLINE void vst3_s32(int32_t *__a, int32x2x3_t __b) { return __riscv_vsseg3e32_v_i32m1x3(__a, __b, 2); }
53365336

5337-
// FORCE_INLINE void vst3_f32(float32_t *__a, float32x2x3_t __b);
5337+
FORCE_INLINE void vst3_f32(float32_t *__a, float32x2x3_t __b) { return __riscv_vsseg3e32_v_f32m1x3(__a, __b, 2); }
53385338

5339-
// FORCE_INLINE void vst3_u8(uint8_t *__a, uint8x8x3_t __b);
5339+
FORCE_INLINE void vst3_u8(uint8_t *__a, uint8x8x3_t __b) { return __riscv_vsseg3e8_v_u8m1x3(__a, __b, 8); }
53405340

5341-
// FORCE_INLINE void vst3_u16(uint16_t *__a, uint16x4x3_t __b);
5341+
FORCE_INLINE void vst3_u16(uint16_t *__a, uint16x4x3_t __b) { return __riscv_vsseg3e16_v_u16m1x3(__a, __b, 4); }
53425342

5343-
// FORCE_INLINE void vst3_u32(uint32_t *__a, uint32x2x3_t __b);
5343+
FORCE_INLINE void vst3_u32(uint32_t *__a, uint32x2x3_t __b) { return __riscv_vsseg3e32_v_u32m1x3(__a, __b, 2); }
53445344

5345-
// FORCE_INLINE void vst3_s64(int64_t *__a, int64x1x3_t __b);
5345+
FORCE_INLINE void vst3_s64(int64_t *__a, int64x1x3_t __b) { return __riscv_vsseg3e64_v_i64m1x3(__a, __b, 1); }
53465346

5347-
// FORCE_INLINE void vst3_u64(uint64_t *__a, uint64x1x3_t __b);
5347+
FORCE_INLINE void vst3_u64(uint64_t *__a, uint64x1x3_t __b) { return __riscv_vsseg3e64_v_u64m1x3(__a, __b, 1); }
53485348

5349-
// FORCE_INLINE void vst3q_s8(int8_t *__a, int8x16x3_t __b);
5349+
FORCE_INLINE void vst3q_s8(int8_t *__a, int8x16x3_t __b) { return __riscv_vsseg3e8_v_i8m1x3(__a, __b, 16); }
53505350

5351-
// FORCE_INLINE void vst3q_s16(int16_t *__a, int16x8x3_t __b);
5351+
FORCE_INLINE void vst3q_s16(int16_t *__a, int16x8x3_t __b) { return __riscv_vsseg3e16_v_i16m1x3(__a, __b, 8); }
53525352

5353-
// FORCE_INLINE void vst3q_s32(int32_t *__a, int32x4x3_t __b);
5353+
FORCE_INLINE void vst3q_s32(int32_t *__a, int32x4x3_t __b) { return __riscv_vsseg3e32_v_i32m1x3(__a, __b, 4); }
53545354

5355-
// FORCE_INLINE void vst3q_f32(float32_t *__a, float32x4x3_t __b);
5355+
FORCE_INLINE void vst3q_f32(float32_t *__a, float32x4x3_t __b) { return __riscv_vsseg3e32_v_f32m1x3(__a, __b, 4); }
53565356

5357-
// FORCE_INLINE void vst3q_u8(uint8_t *__a, uint8x16x3_t __b);
5357+
FORCE_INLINE void vst3q_u8(uint8_t *__a, uint8x16x3_t __b) { return __riscv_vsseg3e8_v_u8m1x3(__a, __b, 16); }
53585358

5359-
// FORCE_INLINE void vst3q_u16(uint16_t *__a, uint16x8x3_t __b);
5359+
FORCE_INLINE void vst3q_u16(uint16_t *__a, uint16x8x3_t __b) { return __riscv_vsseg3e16_v_u16m1x3(__a, __b, 8); }
53605360

5361-
// FORCE_INLINE void vst3q_u32(uint32_t *__a, uint32x4x3_t __b);
5361+
FORCE_INLINE void vst3q_u32(uint32_t *__a, uint32x4x3_t __b) { return __riscv_vsseg3e32_v_u32m1x3(__a, __b, 4); }
53625362

53635363
// FORCE_INLINE void vst3_lane_s8(int8_t *__a, int8x8x3_t __b, const int __c);
53645364

0 commit comments

Comments
 (0)
0