@cpp-linter/clang-tidy-win32-x64 19.1.0 → 21.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{19 → 21}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_intrinsics.h +295 -8
- package/lib/clang/{19 → 21}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_runtime_wrapper.h +1 -0
- package/lib/clang/{19 → 21}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/{19 → 21}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 21}/include/__clang_hip_libdevice_declares.h +12 -20
- package/lib/clang/{19 → 21}/include/__clang_hip_math.h +110 -29
- package/lib/clang/{19 → 21}/include/__clang_hip_runtime_wrapper.h +3 -0
- package/lib/clang/21/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/{19 → 21}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 21}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 21}/include/altivec.h +90 -87
- package/lib/clang/21/include/amdgpuintrin.h +191 -0
- package/lib/clang/21/include/amxavx512intrin.h +382 -0
- package/lib/clang/21/include/amxbf16transposeintrin.h +94 -0
- package/lib/clang/{19 → 21}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/21/include/amxcomplextransposeintrin.h +303 -0
- package/lib/clang/{19 → 21}/include/amxfp16intrin.h +35 -0
- package/lib/clang/21/include/amxfp16transposeintrin.h +94 -0
- package/lib/clang/21/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 21}/include/amxintrin.h +5 -35
- package/lib/clang/21/include/amxmovrsintrin.h +48 -0
- package/lib/clang/21/include/amxmovrstransposeintrin.h +200 -0
- package/lib/clang/21/include/amxtf32intrin.h +108 -0
- package/lib/clang/21/include/amxtf32transposeintrin.h +105 -0
- package/lib/clang/21/include/amxtransposeintrin.h +248 -0
- package/lib/clang/{19/include/hlsl.h → 21/include/andes_vector.h} +7 -6
- package/lib/clang/{19 → 21}/include/arm_acle.h +29 -62
- package/lib/clang/{19 → 21}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 21}/include/arm_neon.h +24549 -20140
- package/lib/clang/{19 → 21}/include/arm_sme.h +1016 -94
- package/lib/clang/{19 → 21}/include/arm_sve.h +4633 -3272
- package/lib/clang/{19 → 21}/include/arm_vector_types.h +87 -0
- package/lib/clang/21/include/avx10_2_512bf16intrin.h +561 -0
- package/lib/clang/21/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/21/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/21/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/21/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/21/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/21/include/avx10_2bf16intrin.h +1085 -0
- package/lib/clang/21/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/21/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/21/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/21/include/avx10_2niintrin.h +409 -0
- package/lib/clang/21/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/21/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 21}/include/avx2intrin.h +9 -0
- package/lib/clang/{19 → 21}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{19 → 21}/include/avx512fintrin.h +22 -14
- package/lib/clang/{19 → 21}/include/avx512fp16intrin.h +2 -1
- package/lib/clang/{19 → 21}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{19 → 21}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{19 → 21}/include/avxintrin.h +30 -16
- package/lib/clang/{19 → 21}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{19 → 21}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 21}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 21}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 21}/include/cpuid.h +36 -33
- package/lib/clang/21/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/21/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 21}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 21}/include/emmintrin.h +141 -107
- package/lib/clang/{19 → 21}/include/float.h +2 -11
- package/lib/clang/{19 → 21}/include/gfniintrin.h +32 -10
- package/lib/clang/21/include/gpuintrin.h +328 -0
- package/lib/clang/{19 → 21}/include/hexagon_types.h +8 -4
- package/lib/clang/{19/include/hlsl/hlsl_intrinsics.h → 21/include/hlsl/hlsl_alias_intrinsics.h} +1214 -100
- package/lib/clang/{19 → 21}/include/hlsl/hlsl_basic_types.h +47 -1
- package/lib/clang/21/include/hlsl/hlsl_compat_overloads.h +427 -0
- package/lib/clang/21/include/hlsl/hlsl_detail.h +54 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsic_helpers.h +144 -0
- package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +526 -0
- package/lib/clang/21/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/21/include/hlsl.h +38 -0
- package/lib/clang/{19 → 21}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{19 → 21}/include/immintrin.h +45 -185
- package/lib/clang/{19 → 21}/include/intrin.h +41 -14
- package/lib/clang/{19 → 21}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 21}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 21}/include/larchintrin.h +22 -8
- package/lib/clang/{19 → 21}/include/lasxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/limits.h +7 -4
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdlib.h +9 -1
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 21}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 21}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 21}/include/mmintrin.h +209 -155
- package/lib/clang/{19 → 21}/include/module.modulemap +15 -4
- package/lib/clang/21/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/21/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/21/include/movrsintrin.h +59 -0
- package/lib/clang/21/include/nvptxintrin.h +219 -0
- package/lib/clang/{19 → 21}/include/opencl-c-base.h +23 -1
- package/lib/clang/{19 → 21}/include/opencl-c.h +298 -39
- package/lib/clang/{19 → 21}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{19 → 21}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 21}/include/pmmintrin.h +16 -3
- package/lib/clang/{19 → 21}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 21}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 21}/include/ptrauth.h +65 -2
- package/lib/clang/21/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{19 → 21}/include/riscv_vector.h +0 -5
- package/lib/clang/{19 → 21}/include/shaintrin.h +3 -2
- package/lib/clang/21/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 21}/include/smmintrin.h +6 -0
- package/lib/clang/{19 → 21}/include/stdalign.h +0 -5
- package/lib/clang/21/include/stdcountof.h +15 -0
- package/lib/clang/{19 → 21}/include/stdint.h +18 -129
- package/lib/clang/{19 → 21}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 21}/include/tmmintrin.h +64 -38
- package/lib/clang/{19 → 21}/include/vecintrin.h +1784 -61
- package/lib/clang/{19 → 21}/include/wasm_simd128.h +167 -21
- package/lib/clang/{19 → 21}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 21}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 21}/include/xmmintrin.h +173 -179
- package/package.json +6 -6
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- /package/lib/clang/{19 → 21}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{19 → 21}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 21}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 21}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm64intr.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 21}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 21}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 21}/include/cet.h +0 -0
- /package/lib/clang/{19 → 21}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/crc32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 21}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/f16cintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fma4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fmaintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 21}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 21}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/assert.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{19 → 21}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 21}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/msa.h +0 -0
- /package/lib/clang/{19 → 21}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{19 → 21}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 21}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{19 → 21}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{19 → 21}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sifive_vector.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 21}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 21}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 21}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 21}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 21}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 21}/include/vaesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 21}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 21}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xopintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 21}/include/yvals_core.h +0 -0
- /package/lib/clang/{19 → 21}/include/zos_wrappers/builtins.h +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/* ===--- amxtransposeintrin.h - AMX_TRANSPOSE intrinsics -*- C++ -*---------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
* ===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __IMMINTRIN_H
|
|
11
|
+
#error "Never use <amxtransposeintrin.h> directly; use <immintrin.h> instead."
|
|
12
|
+
#endif /* __IMMINTRIN_H */
|
|
13
|
+
|
|
14
|
+
#ifndef __AMX_TRANSPOSEINTRIN_H
|
|
15
|
+
#define __AMX_TRANSPOSEINTRIN_H
|
|
16
|
+
#ifdef __x86_64__
|
|
17
|
+
|
|
18
|
+
#define __DEFAULT_FN_ATTRS_TRANSPOSE \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, __target__("amx-transpose")))
|
|
20
|
+
|
|
21
|
+
#define _tile_2rpntlvwz0(tdst, base, stride) \
|
|
22
|
+
__builtin_ia32_t2rpntlvwz0(tdst, base, stride)
|
|
23
|
+
#define _tile_2rpntlvwz0t1(tdst, base, stride) \
|
|
24
|
+
__builtin_ia32_t2rpntlvwz0t1(tdst, base, stride)
|
|
25
|
+
#define _tile_2rpntlvwz1(tdst, base, stride) \
|
|
26
|
+
__builtin_ia32_t2rpntlvwz1(tdst, base, stride)
|
|
27
|
+
#define _tile_2rpntlvwz1t1(tdst, base, stride) \
|
|
28
|
+
__builtin_ia32_t2rpntlvwz1t1(tdst, base, stride)
|
|
29
|
+
|
|
30
|
+
/// Transpose 32-bit elements from \a src and write the result to \a dst.
|
|
31
|
+
///
|
|
32
|
+
/// \headerfile <immintrin.h>
|
|
33
|
+
///
|
|
34
|
+
/// \code
|
|
35
|
+
/// void _tile_transposed(__tile dst, __tile src);
|
|
36
|
+
/// \endcode
|
|
37
|
+
///
|
|
38
|
+
/// This intrinsic corresponds to the <c> TTRANSPOSED </c> instruction.
|
|
39
|
+
///
|
|
40
|
+
/// \param dst
|
|
41
|
+
/// The destination tile. Max size is 1024 Bytes.
|
|
42
|
+
/// \param src
|
|
43
|
+
/// The source tile. Max size is 1024 Bytes.
|
|
44
|
+
///
|
|
45
|
+
/// \code{.operation}
|
|
46
|
+
///
|
|
47
|
+
/// FOR i := 0 TO (dst.rows-1)
|
|
48
|
+
/// tmp[511:0] := 0
|
|
49
|
+
/// FOR j := 0 TO (dst.colsb/4-1)
|
|
50
|
+
/// tmp.dword[j] := src.row[j].dword[i]
|
|
51
|
+
/// ENDFOR
|
|
52
|
+
/// dst.row[i] := tmp
|
|
53
|
+
/// ENDFOR
|
|
54
|
+
///
|
|
55
|
+
/// zero_upper_rows(dst, dst.rows)
|
|
56
|
+
/// zero_tileconfig_start()
|
|
57
|
+
/// \endcode
|
|
58
|
+
#define _tile_transposed(dst, src) __builtin_ia32_ttransposed(dst, src)
|
|
59
|
+
|
|
60
|
+
static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz0_internal(
|
|
61
|
+
unsigned short row, unsigned short col0, unsigned short col1,
|
|
62
|
+
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
63
|
+
__SIZE_TYPE__ stride) {
|
|
64
|
+
// Use __tile1024i_1024a* to escape the alignment check in
|
|
65
|
+
// clang/test/Headers/x86-intrinsics-headers-clean.cpp
|
|
66
|
+
__builtin_ia32_t2rpntlvwz0_internal(row, col0, col1, (_tile1024i_1024a *)dst0,
|
|
67
|
+
(_tile1024i_1024a *)dst1, base,
|
|
68
|
+
(__SIZE_TYPE__)(stride));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz0t1_internal(
|
|
72
|
+
unsigned short row, unsigned short col0, unsigned short col1,
|
|
73
|
+
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
74
|
+
__SIZE_TYPE__ stride) {
|
|
75
|
+
__builtin_ia32_t2rpntlvwz0t1_internal(
|
|
76
|
+
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
77
|
+
(__SIZE_TYPE__)(stride));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz1_internal(
|
|
81
|
+
unsigned short row, unsigned short col0, unsigned short col1,
|
|
82
|
+
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
83
|
+
__SIZE_TYPE__ stride) {
|
|
84
|
+
__builtin_ia32_t2rpntlvwz1_internal(row, col0, col1, (_tile1024i_1024a *)dst0,
|
|
85
|
+
(_tile1024i_1024a *)dst1, base,
|
|
86
|
+
(__SIZE_TYPE__)(stride));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz1t1_internal(
|
|
90
|
+
unsigned short row, unsigned short col0, unsigned short col1,
|
|
91
|
+
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
92
|
+
__SIZE_TYPE__ stride) {
|
|
93
|
+
__builtin_ia32_t2rpntlvwz1t1_internal(
|
|
94
|
+
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
95
|
+
(__SIZE_TYPE__)(stride));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// This is internal intrinsic. C/C++ user should avoid calling it directly.
|
|
99
|
+
static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TRANSPOSE
|
|
100
|
+
_tile_transposed_internal(unsigned short m, unsigned short n, _tile1024i src) {
|
|
101
|
+
return __builtin_ia32_ttransposed_internal(m, n, src);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
105
|
+
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
106
|
+
/// in memory is specified via a tsib; the second tile is after the first
|
|
107
|
+
/// one, separated by the same stride that separates each row.
|
|
108
|
+
/// The tile configuration for the destination tiles indicates the amount
|
|
109
|
+
/// of data to read from memory. The instruction will load a number of rows
|
|
110
|
+
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
111
|
+
/// is equal to the average width of the destination tiles. If the second
|
|
112
|
+
/// tile is configured with zero rows and columns, only the first tile will
|
|
113
|
+
/// be written.
|
|
114
|
+
/// Provides a hint to the implementation that the data will likely not be
|
|
115
|
+
/// reused in the near future and the data caching can be optimized.
|
|
116
|
+
///
|
|
117
|
+
/// \headerfile <immintrin.h>
|
|
118
|
+
///
|
|
119
|
+
/// This intrinsic corresponds to the <c> T2RPNTLVWZ0 </c> instruction.
|
|
120
|
+
///
|
|
121
|
+
/// \param dst0
|
|
122
|
+
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
123
|
+
/// \param dst1
|
|
124
|
+
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
125
|
+
/// \param base
|
|
126
|
+
/// A pointer to base address.
|
|
127
|
+
/// \param stride
|
|
128
|
+
/// The stride between the rows' data to be loaded in memory.
|
|
129
|
+
__DEFAULT_FN_ATTRS_TRANSPOSE
|
|
130
|
+
static void __tile_2rpntlvwz0(__tile1024i *dst0, __tile1024i *dst1,
|
|
131
|
+
const void *base, __SIZE_TYPE__ stride) {
|
|
132
|
+
_tile_2rpntlvwz0_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
133
|
+
&dst1->tile, base, stride);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
137
|
+
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
138
|
+
/// in memory is specified via a tsib; the second tile is after the first
|
|
139
|
+
/// one, separated by the same stride that separates each row.
|
|
140
|
+
/// The tile configuration for the destination tiles indicates the amount
|
|
141
|
+
/// of data to read from memory. The instruction will load a number of rows
|
|
142
|
+
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
143
|
+
/// is equal to the average width of the destination tiles. If the second
|
|
144
|
+
/// tile is configured with zero rows and columns, only the first tile will
|
|
145
|
+
/// be written.
|
|
146
|
+
///
|
|
147
|
+
/// \headerfile <immintrin.h>
|
|
148
|
+
///
|
|
149
|
+
/// This intrinsic corresponds to the <c> T2RPNTLVWZ0T1 </c> instruction.
|
|
150
|
+
///
|
|
151
|
+
/// \param dst0
|
|
152
|
+
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
153
|
+
/// \param dst1
|
|
154
|
+
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
155
|
+
/// \param base
|
|
156
|
+
/// A pointer to base address.
|
|
157
|
+
/// \param stride
|
|
158
|
+
/// The stride between the rows' data to be loaded in memory.
|
|
159
|
+
__DEFAULT_FN_ATTRS_TRANSPOSE
|
|
160
|
+
static void __tile_2rpntlvwz0t1(__tile1024i *dst0, __tile1024i *dst1,
|
|
161
|
+
const void *base, __SIZE_TYPE__ stride) {
|
|
162
|
+
_tile_2rpntlvwz0t1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
163
|
+
&dst1->tile, base, stride);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
167
|
+
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
168
|
+
/// in memory is specified via a tsib; the second tile is after the first
|
|
169
|
+
/// one, separated by the same stride that separates each row.
|
|
170
|
+
/// The tile configuration for the destination tiles indicates the amount
|
|
171
|
+
/// of data to read from memory. The instruction will load a number of rows
|
|
172
|
+
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
173
|
+
/// is equal to the average width of the destination tiles. If the second
|
|
174
|
+
/// tile is configured with zero rows and columns, only the first tile will
|
|
175
|
+
/// be written. The last row will be not be read from memory but instead
|
|
176
|
+
/// filled with zeros.
|
|
177
|
+
/// Provides a hint to the implementation that the data will likely not be
|
|
178
|
+
/// reused in the near future and the data caching can be optimized.
|
|
179
|
+
///
|
|
180
|
+
/// \headerfile <immintrin.h>
|
|
181
|
+
///
|
|
182
|
+
/// This intrinsic corresponds to the <c> T2RPNTLVWZ1 </c> instruction.
|
|
183
|
+
///
|
|
184
|
+
/// \param dst0
|
|
185
|
+
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
186
|
+
/// \param dst1
|
|
187
|
+
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
188
|
+
/// \param base
|
|
189
|
+
/// A pointer to base address.
|
|
190
|
+
/// \param stride
|
|
191
|
+
/// The stride between the rows' data to be loaded in memory.
|
|
192
|
+
__DEFAULT_FN_ATTRS_TRANSPOSE
|
|
193
|
+
static void __tile_2rpntlvwz1(__tile1024i *dst0, __tile1024i *dst1,
|
|
194
|
+
const void *base, __SIZE_TYPE__ stride) {
|
|
195
|
+
_tile_2rpntlvwz1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
196
|
+
&dst1->tile, base, stride);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
200
|
+
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
201
|
+
/// in memory is specified via a tsib; the second tile is after the first
|
|
202
|
+
/// one, separated by the same stride that separates each row.
|
|
203
|
+
/// The tile configuration for the destination tiles indicates the amount
|
|
204
|
+
/// of data to read from memory. The instruction will load a number of rows
|
|
205
|
+
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
206
|
+
/// is equal to the average width of the destination tiles. If the second
|
|
207
|
+
/// tile is configured with zero rows and columns, only the first tile will
|
|
208
|
+
/// be written. The last row will be not be read from memory but instead
|
|
209
|
+
/// filled with zeros.
|
|
210
|
+
/// Provides a hint to the implementation that the data will likely not be
|
|
211
|
+
/// reused in the near future and the data caching can be optimized.
|
|
212
|
+
///
|
|
213
|
+
/// \headerfile <immintrin.h>
|
|
214
|
+
///
|
|
215
|
+
/// This intrinsic corresponds to the <c> T2RPNTLVWZ1T1 </c> instruction.
|
|
216
|
+
///
|
|
217
|
+
/// \param dst0
|
|
218
|
+
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
219
|
+
/// \param dst1
|
|
220
|
+
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
221
|
+
/// \param base
|
|
222
|
+
/// A pointer to base address.
|
|
223
|
+
/// \param stride
|
|
224
|
+
/// The stride between the rows' data to be loaded in memory.
|
|
225
|
+
__DEFAULT_FN_ATTRS_TRANSPOSE
|
|
226
|
+
static void __tile_2rpntlvwz1t1(__tile1024i *dst0, __tile1024i *dst1,
|
|
227
|
+
const void *base, __SIZE_TYPE__ stride) {
|
|
228
|
+
_tile_2rpntlvwz1t1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
229
|
+
&dst1->tile, base, stride);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/// Transpose 32-bit elements from src and write the result to dst.
|
|
233
|
+
///
|
|
234
|
+
/// \headerfile <immintrin.h>
|
|
235
|
+
///
|
|
236
|
+
/// This intrinsic corresponds to the <c> TTRANSPOSED </c> instruction.
|
|
237
|
+
///
|
|
238
|
+
/// \param dst
|
|
239
|
+
/// The destination tile. Max size is 1024 Bytes.
|
|
240
|
+
/// \param src
|
|
241
|
+
/// The source tile. Max size is 1024 Bytes.
|
|
242
|
+
__DEFAULT_FN_ATTRS_TRANSPOSE
|
|
243
|
+
static void __tile_transposed(__tile1024i *dst, __tile1024i src) {
|
|
244
|
+
dst->tile = _tile_transposed_internal(dst->row, dst->col, src.tile);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
#endif /* __x86_64__ */
|
|
248
|
+
#endif /* __AMX_TRANSPOSEINTRIN_H */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//===-----
|
|
1
|
+
//===----- andes_vector.h - Andes Vector definitions ----------------------===//
|
|
2
2
|
//
|
|
3
3
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
4
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
//
|
|
7
7
|
//===----------------------------------------------------------------------===//
|
|
8
8
|
|
|
9
|
-
#ifndef
|
|
10
|
-
#define
|
|
9
|
+
#ifndef _ANDES_VECTOR_H_
|
|
10
|
+
#define _ANDES_VECTOR_H_
|
|
11
11
|
|
|
12
|
-
#include "
|
|
13
|
-
#include "hlsl/hlsl_intrinsics.h"
|
|
12
|
+
#include "riscv_vector.h"
|
|
14
13
|
|
|
15
|
-
#
|
|
14
|
+
#pragma clang riscv intrinsic andes_vector
|
|
15
|
+
|
|
16
|
+
#endif //_ANDES_VECTOR_H_
|
|
@@ -29,47 +29,16 @@ extern "C" {
|
|
|
29
29
|
|
|
30
30
|
/* 7 SYNCHRONIZATION, BARRIER AND HINT INTRINSICS */
|
|
31
31
|
/* 7.3 Memory barriers */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
#if !__has_builtin(__dsb)
|
|
36
|
-
#define __dsb(i) __builtin_arm_dsb(i)
|
|
37
|
-
#endif
|
|
38
|
-
#if !__has_builtin(__isb)
|
|
39
|
-
#define __isb(i) __builtin_arm_isb(i)
|
|
40
|
-
#endif
|
|
32
|
+
void __dmb(unsigned int);
|
|
33
|
+
void __dsb(unsigned int);
|
|
34
|
+
void __isb(unsigned int);
|
|
41
35
|
|
|
42
36
|
/* 7.4 Hints */
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
#endif
|
|
49
|
-
|
|
50
|
-
#if !__has_builtin(__wfe)
|
|
51
|
-
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __wfe(void) {
|
|
52
|
-
__builtin_arm_wfe();
|
|
53
|
-
}
|
|
54
|
-
#endif
|
|
55
|
-
|
|
56
|
-
#if !__has_builtin(__sev)
|
|
57
|
-
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __sev(void) {
|
|
58
|
-
__builtin_arm_sev();
|
|
59
|
-
}
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
|
-
#if !__has_builtin(__sevl)
|
|
63
|
-
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __sevl(void) {
|
|
64
|
-
__builtin_arm_sevl();
|
|
65
|
-
}
|
|
66
|
-
#endif
|
|
67
|
-
|
|
68
|
-
#if !__has_builtin(__yield)
|
|
69
|
-
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __yield(void) {
|
|
70
|
-
__builtin_arm_yield();
|
|
71
|
-
}
|
|
72
|
-
#endif
|
|
37
|
+
void __wfi(void);
|
|
38
|
+
void __wfe(void);
|
|
39
|
+
void __sev(void);
|
|
40
|
+
void __sevl(void);
|
|
41
|
+
void __yield(void);
|
|
73
42
|
|
|
74
43
|
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
75
44
|
#define __dbg(t) __builtin_arm_dbg(t)
|
|
@@ -264,28 +233,28 @@ __rbitl(unsigned long __t) {
|
|
|
264
233
|
}
|
|
265
234
|
|
|
266
235
|
/* 8.3 16-bit multiplications */
|
|
267
|
-
#if defined(
|
|
268
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
236
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
237
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
269
238
|
__smulbb(int32_t __a, int32_t __b) {
|
|
270
239
|
return __builtin_arm_smulbb(__a, __b);
|
|
271
240
|
}
|
|
272
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
241
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
273
242
|
__smulbt(int32_t __a, int32_t __b) {
|
|
274
243
|
return __builtin_arm_smulbt(__a, __b);
|
|
275
244
|
}
|
|
276
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
245
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
277
246
|
__smultb(int32_t __a, int32_t __b) {
|
|
278
247
|
return __builtin_arm_smultb(__a, __b);
|
|
279
248
|
}
|
|
280
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
249
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
281
250
|
__smultt(int32_t __a, int32_t __b) {
|
|
282
251
|
return __builtin_arm_smultt(__a, __b);
|
|
283
252
|
}
|
|
284
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
253
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
285
254
|
__smulwb(int32_t __a, int32_t __b) {
|
|
286
255
|
return __builtin_arm_smulwb(__a, __b);
|
|
287
256
|
}
|
|
288
|
-
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
257
|
+
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__, target("dsp")))
|
|
289
258
|
__smulwt(int32_t __a, int32_t __b) {
|
|
290
259
|
return __builtin_arm_smulwt(__a, __b);
|
|
291
260
|
}
|
|
@@ -304,46 +273,46 @@ __smulwt(int32_t __a, int32_t __b) {
|
|
|
304
273
|
#endif
|
|
305
274
|
|
|
306
275
|
/* 8.4.2 Saturating addition and subtraction intrinsics */
|
|
307
|
-
#if defined(
|
|
308
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
276
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
277
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
309
278
|
__qadd(int32_t __t, int32_t __v) {
|
|
310
279
|
return __builtin_arm_qadd(__t, __v);
|
|
311
280
|
}
|
|
312
281
|
|
|
313
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
282
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
314
283
|
__qsub(int32_t __t, int32_t __v) {
|
|
315
284
|
return __builtin_arm_qsub(__t, __v);
|
|
316
285
|
}
|
|
317
286
|
|
|
318
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
287
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
319
288
|
__qdbl(int32_t __t) {
|
|
320
289
|
return __builtin_arm_qadd(__t, __t);
|
|
321
290
|
}
|
|
322
291
|
#endif
|
|
323
292
|
|
|
324
293
|
/* 8.4.3 Accumulating multiplications */
|
|
325
|
-
#if defined(
|
|
326
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
294
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
295
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
327
296
|
__smlabb(int32_t __a, int32_t __b, int32_t __c) {
|
|
328
297
|
return __builtin_arm_smlabb(__a, __b, __c);
|
|
329
298
|
}
|
|
330
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
299
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
331
300
|
__smlabt(int32_t __a, int32_t __b, int32_t __c) {
|
|
332
301
|
return __builtin_arm_smlabt(__a, __b, __c);
|
|
333
302
|
}
|
|
334
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
303
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
335
304
|
__smlatb(int32_t __a, int32_t __b, int32_t __c) {
|
|
336
305
|
return __builtin_arm_smlatb(__a, __b, __c);
|
|
337
306
|
}
|
|
338
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
307
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
339
308
|
__smlatt(int32_t __a, int32_t __b, int32_t __c) {
|
|
340
309
|
return __builtin_arm_smlatt(__a, __b, __c);
|
|
341
310
|
}
|
|
342
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
311
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
343
312
|
__smlawb(int32_t __a, int32_t __b, int32_t __c) {
|
|
344
313
|
return __builtin_arm_smlawb(__a, __b, __c);
|
|
345
314
|
}
|
|
346
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
315
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("dsp")))
|
|
347
316
|
__smlawt(int32_t __a, int32_t __b, int32_t __c) {
|
|
348
317
|
return __builtin_arm_smlawt(__a, __b, __c);
|
|
349
318
|
}
|
|
@@ -621,8 +590,6 @@ __rintnf(float __a) {
|
|
|
621
590
|
#endif
|
|
622
591
|
|
|
623
592
|
/* 8.8 CRC32 intrinsics */
|
|
624
|
-
#if (defined(__ARM_FEATURE_CRC32) && __ARM_FEATURE_CRC32) || \
|
|
625
|
-
(defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE)
|
|
626
593
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
627
594
|
__crc32b(uint32_t __a, uint8_t __b) {
|
|
628
595
|
return __builtin_arm_crc32b(__a, __b);
|
|
@@ -662,7 +629,6 @@ static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target
|
|
|
662
629
|
__crc32cd(uint32_t __a, uint64_t __b) {
|
|
663
630
|
return __builtin_arm_crc32cd(__a, __b);
|
|
664
631
|
}
|
|
665
|
-
#endif
|
|
666
632
|
|
|
667
633
|
/* 8.6 Floating-point data-processing intrinsics */
|
|
668
634
|
/* Armv8.3-A Javascript conversion intrinsic */
|
|
@@ -875,8 +841,9 @@ __gcspopm() {
|
|
|
875
841
|
return __builtin_arm_gcspopm(0);
|
|
876
842
|
}
|
|
877
843
|
|
|
878
|
-
static __inline__
|
|
879
|
-
|
|
844
|
+
static __inline__ void *__attribute__((__always_inline__, __nodebug__,
|
|
845
|
+
target("gcs")))
|
|
846
|
+
__gcsss(void *__stack) {
|
|
880
847
|
return __builtin_arm_gcsss(__stack);
|
|
881
848
|
}
|
|
882
849
|
#endif
|