|
1 | 1 | /* |
2 | | - * https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/config/loongarch/lasxintrin.h;hb=4912418dc1b51d49aca5982c6a2061bb912b92b7 |
| 2 | + * https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/config/loongarch/lasxintrin.h;hb=61f1001f2f4ab9128e5eb6e9a4adbbb0f9f0bc75 |
3 | 3 | */ |
4 | 4 |
|
5 | 5 | /* LARCH Loongson ASX intrinsics include file. |
6 | 6 |
|
7 | | - Copyright (C) 2018 Free Software Foundation, Inc. |
| 7 | + Copyright (C) 2018-2024 Free Software Foundation, Inc. |
8 | 8 |
|
9 | 9 | This file is part of GCC. |
10 | 10 |
|
@@ -2403,6 +2403,40 @@ __m256d __lasx_xvfrecip_d (__m256d _1) |
2403 | 2403 | return (__m256d)__builtin_lasx_xvfrecip_d ((v4f64)_1); |
2404 | 2404 | } |
2405 | 2405 |
|
| 2406 | +#if defined(__loongarch_frecipe) |
| 2407 | +/* Assembly instruction format: xd, xj. */ |
| 2408 | +/* Data types in instruction templates: V8SF, V8SF. */ |
| 2409 | +extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
| 2410 | +__m256 __lasx_xvfrecipe_s (__m256 _1) |
| 2411 | +{ |
| 2412 | + return (__m256)__builtin_lasx_xvfrecipe_s ((v8f32)_1); |
| 2413 | +} |
| 2414 | + |
| 2415 | +/* Assembly instruction format: xd, xj. */ |
| 2416 | +/* Data types in instruction templates: V4DF, V4DF. */ |
| 2417 | +extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
| 2418 | +__m256d __lasx_xvfrecipe_d (__m256d _1) |
| 2419 | +{ |
| 2420 | + return (__m256d)__builtin_lasx_xvfrecipe_d ((v4f64)_1); |
| 2421 | +} |
| 2422 | + |
| 2423 | +/* Assembly instruction format: xd, xj. */ |
| 2424 | +/* Data types in instruction templates: V8SF, V8SF. */ |
| 2425 | +extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
| 2426 | +__m256 __lasx_xvfrsqrte_s (__m256 _1) |
| 2427 | +{ |
| 2428 | + return (__m256)__builtin_lasx_xvfrsqrte_s ((v8f32)_1); |
| 2429 | +} |
| 2430 | + |
| 2431 | +/* Assembly instruction format: xd, xj. */ |
| 2432 | +/* Data types in instruction templates: V4DF, V4DF. */ |
| 2433 | +extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
| 2434 | +__m256d __lasx_xvfrsqrte_d (__m256d _1) |
| 2435 | +{ |
| 2436 | + return (__m256d)__builtin_lasx_xvfrsqrte_d ((v4f64)_1); |
| 2437 | +} |
| 2438 | +#endif |
| 2439 | + |
2406 | 2440 | /* Assembly instruction format: xd, xj. */ |
2407 | 2441 | /* Data types in instruction templates: V8SF, V8SF. */ |
2408 | 2442 | extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
|
0 commit comments