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
30 changes: 22 additions & 8 deletions clang/lib/Headers/larchintrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,17 +228,31 @@ extern __inline void
((void)__builtin_loongarch_ldpte_d((long int)(_1), (_2)))
#endif

#define __frecipe_s(/*float*/ _1) \
(float)__builtin_loongarch_frecipe_s((float)_1)
#ifdef __loongarch_frecipe
extern __inline float
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__frecipe_s(float _1) {
return __builtin_loongarch_frecipe_s(_1);
}

#define __frecipe_d(/*double*/ _1) \
(double)__builtin_loongarch_frecipe_d((double)_1)
extern __inline double
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__frecipe_d(double _1) {
return __builtin_loongarch_frecipe_d(_1);
}

#define __frsqrte_s(/*float*/ _1) \
(float)__builtin_loongarch_frsqrte_s((float)_1)
extern __inline float
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__frsqrte_s(float _1) {
return __builtin_loongarch_frsqrte_s(_1);
}

#define __frsqrte_d(/*double*/ _1) \
(double)__builtin_loongarch_frsqrte_d((double)_1)
extern __inline double
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__frsqrte_d(double _1) {
return __builtin_loongarch_frsqrte_d(_1);
}
#endif

#ifdef __cplusplus
}
Expand Down
50 changes: 26 additions & 24 deletions clang/lib/Headers/lasxintrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -1726,18 +1726,6 @@ extern __inline
return (__m256d)__builtin_lasx_xvfrecip_d((v4f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvfrecipe_s(__m256 _1) {
return (__m256)__builtin_lasx_xvfrecipe_s((v8f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
__lasx_xvfrecipe_d(__m256d _1) {
return (__m256d)__builtin_lasx_xvfrecipe_d((v4f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvfrint_s(__m256 _1) {
Expand All @@ -1762,18 +1750,6 @@ extern __inline
return (__m256d)__builtin_lasx_xvfrsqrt_d((v4f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvfrsqrte_s(__m256 _1) {
return (__m256)__builtin_lasx_xvfrsqrte_s((v8f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
__lasx_xvfrsqrte_d(__m256d _1) {
return (__m256d)__builtin_lasx_xvfrsqrte_d((v4f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvflogb_s(__m256 _1) {
Expand Down Expand Up @@ -3866,6 +3842,32 @@ extern __inline
return (__m256i)__builtin_lasx_xvfcmp_sun_s((v8f32)_1, (v8f32)_2);
}

#if defined(__loongarch_frecipe)
extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvfrecipe_s(__m256 _1) {
return (__m256)__builtin_lasx_xvfrecipe_s((v8f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
__lasx_xvfrecipe_d(__m256d _1) {
return (__m256d)__builtin_lasx_xvfrecipe_d((v4f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
__lasx_xvfrsqrte_s(__m256 _1) {
return (__m256)__builtin_lasx_xvfrsqrte_s((v8f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
__lasx_xvfrsqrte_d(__m256d _1) {
return (__m256d)__builtin_lasx_xvfrsqrte_d((v4f64)_1);
}
#endif

#define __lasx_xvpickve_d_f(/*__m256d*/ _1, /*ui2*/ _2) \
((__m256d)__builtin_lasx_xvpickve_d_f((v4f64)(_1), (_2)))

Expand Down
50 changes: 26 additions & 24 deletions clang/lib/Headers/lsxintrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -1776,18 +1776,6 @@ extern __inline
return (__m128d)__builtin_lsx_vfrecip_d((v2f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vfrecipe_s(__m128 _1) {
return (__m128)__builtin_lsx_vfrecipe_s((v4f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
__lsx_vfrecipe_d(__m128d _1) {
return (__m128d)__builtin_lsx_vfrecipe_d((v2f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vfrint_s(__m128 _1) {
Expand All @@ -1812,18 +1800,6 @@ extern __inline
return (__m128d)__builtin_lsx_vfrsqrt_d((v2f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vfrsqrte_s(__m128 _1) {
return (__m128)__builtin_lsx_vfrsqrte_s((v4f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
__lsx_vfrsqrte_d(__m128d _1) {
return (__m128d)__builtin_lsx_vfrsqrte_d((v2f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vflogb_s(__m128 _1) {
Expand Down Expand Up @@ -3738,6 +3714,32 @@ extern __inline
return (__m128i)__builtin_lsx_vfcmp_sun_s((v4f32)_1, (v4f32)_2);
}

#if defined(__loongarch_frecipe)
extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vfrecipe_s(__m128 _1) {
return (__m128)__builtin_lsx_vfrecipe_s((v4f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
__lsx_vfrecipe_d(__m128d _1) {
return (__m128d)__builtin_lsx_vfrecipe_d((v2f64)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
__lsx_vfrsqrte_s(__m128 _1) {
return (__m128)__builtin_lsx_vfrsqrte_s((v4f32)_1);
}

extern __inline
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
__lsx_vfrsqrte_d(__m128d _1) {
return (__m128d)__builtin_lsx_vfrsqrte_d((v2f64)_1);
}
#endif

#define __lsx_vrepli_b(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_b((_1)))

#define __lsx_vrepli_d(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_d((_1)))
Expand Down
Loading