llvm-runtime-resources-darwin 22.1.8 → 23.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/include/__clang_cuda_complex_builtins.h +10 -3
- package/include/__clang_cuda_intrinsics.h +207 -226
- package/include/__clang_cuda_math_forward_declares.h +5 -0
- package/include/__clang_cuda_runtime_wrapper.h +9 -5
- package/include/__clang_gpu_builtin_vars.h +71 -0
- package/include/__clang_gpu_device_functions.h +411 -0
- package/include/__clang_gpu_intrinsics.h +242 -0
- package/include/__clang_hip_libdevice_declares.h +0 -102
- package/include/__clang_hip_math.h +3 -3
- package/include/__clang_hip_runtime_wrapper.h +6 -1
- package/include/__clang_spirv_libdevice_declares.h +170 -0
- package/include/__clang_spirv_math.h +719 -0
- package/include/altivec.h +79 -9
- package/include/amdgpuintrin.h +2 -29
- package/include/amdhsa_abi.h +83 -0
- package/include/amo.h +89 -0
- package/include/andes_vector.h +5 -0
- package/include/arm64_neon.h +21 -0
- package/include/arm64intr.h +10 -0
- package/include/arm_acle.h +1 -0
- package/include/arm_neon.h +3922 -3754
- package/include/arm_sme.h +12 -0
- package/include/arm_sve.h +420 -0
- package/include/avx2intrin.h +4 -5
- package/include/avx512bmmintrin.h +174 -0
- package/include/avx512bmmvlintrin.h +245 -0
- package/include/avx512bwintrin.h +19 -29
- package/include/avx512fintrin.h +62 -89
- package/include/avx512fp16intrin.h +12 -18
- package/include/avx512vbmi2intrin.h +12 -16
- package/include/avx512vlbwintrin.h +24 -36
- package/include/avx512vlintrin.h +80 -96
- package/include/avx512vlvbmi2intrin.h +24 -32
- package/include/avx512vlvnniintrin.h +29 -34
- package/include/avx512vnniintrin.h +32 -35
- package/include/avx512vp2intersectintrin.h +1 -1
- package/include/avxvnniintrin.h +23 -18
- package/include/crc32intrin.h +10 -8
- package/include/emmintrin.h +8 -8
- package/include/endian.h +91 -0
- package/include/fuzzer/FuzzedDataProvider.h +3 -3
- package/include/gpuintrin.h +123 -105
- package/include/hlsl_alias_intrinsics_gen.inc +3869 -0
- package/include/hlsl_inline_intrinsics_gen.inc +546 -0
- package/include/hvx_hexagon_protos.h +102 -80
- package/include/immintrin.h +4 -2
- package/include/intrin.h +20 -10
- package/include/larchintrin.h +2 -0
- package/include/llvm_libc_wrappers/ctype.h +3 -2
- package/include/llvm_libc_wrappers/string.h +3 -2
- package/include/module.modulemap +16 -1
- package/include/nvptxintrin.h +15 -26
- package/include/opencl-c-base.h +7 -0
- package/include/opencl-c.h +163 -102
- package/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
- package/include/openmp_wrappers/complex +7 -1
- package/include/openmp_wrappers/complex.h +6 -0
- package/include/openmp_wrappers/math.h +10 -0
- package/include/profile/InstrProfData.inc +65 -3
- package/include/ptrauth.h +90 -12
- package/include/riscv_bitmanip.h +7 -0
- package/include/riscv_corev_alu.h +2 -0
- package/include/riscv_crypto.h +8 -0
- package/include/riscv_mips.h +2 -0
- package/include/riscv_nds.h +3 -0
- package/include/riscv_ntlh.h +2 -0
- package/include/riscv_packed_simd.h +644 -0
- package/include/riscv_vector.h +43 -0
- package/include/sanitizer/asan_interface.h +51 -1
- package/include/sanitizer/common_interface_defs.h +12 -49
- package/include/sanitizer/safestack_interface.h +50 -0
- package/include/sanitizer/tysan_interface.h +36 -0
- package/include/sanitizer/ubsan_interface.h +30 -0
- package/include/sifive_vector.h +18 -0
- package/include/spirvintrin.h +2 -29
- package/include/stdint.h +5 -14
- package/include/vecintrin.h +1 -1
- package/include/wasm_simd128.h +17 -0
- package/include/xmmintrin.h +8 -7
- package/include/zos_wrappers/grp.h +19 -0
- package/include/zos_wrappers/locale.h +19 -0
- package/include/zos_wrappers/math.h +31 -0
- package/include/zos_wrappers/poll.h +19 -0
- package/include/zos_wrappers/stdlib.h +20 -0
- package/include/zos_wrappers/string.h +19 -0
- package/include/zos_wrappers/time.h +19 -0
- package/include/zos_wrappers/variant.h +19 -0
- package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
- package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
- package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
- package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.cc_kext.a +0 -0
- package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
- package/lib/darwin/libclang_rt.ios.a +0 -0
- package/lib/darwin/libclang_rt.iossim.a +0 -0
- package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.osx.a +0 -0
- package/lib/darwin/libclang_rt.profile_ios.a +0 -0
- package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
- package/lib/darwin/libclang_rt.profile_osx.a +0 -0
- package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
- package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
- package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
- package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
- package/package.json +1 -1
- package/include/amxtf32intrin.h +0 -108
|
@@ -4577,8 +4577,9 @@
|
|
|
4577
4577
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4578
4578
|
/* ==========================================================================
|
|
4579
4579
|
Assembly Syntax: Vdd32.sf=vadd(Vu32.bf,Vv32.bf)
|
|
4580
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VbfVbf(HVX_Vector Vu,
|
|
4581
|
-
|
|
4580
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4581
|
+
Instruction Type: CVI_VX_DV
|
|
4582
|
+
Execution Slots: SLOT23
|
|
4582
4583
|
========================================================================== */
|
|
4583
4584
|
|
|
4584
4585
|
#define Q6_Wsf_vadd_VbfVbf(Vu, Vv) \
|
|
@@ -4636,8 +4637,9 @@
|
|
|
4636
4637
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4637
4638
|
/* ==========================================================================
|
|
4638
4639
|
Assembly Syntax: Vd32.bf=vcvt(Vu32.sf,Vv32.sf)
|
|
4639
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vcvt_VsfVsf(HVX_Vector Vu,
|
|
4640
|
-
|
|
4640
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vcvt_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4641
|
+
Instruction Type: CVI_VX
|
|
4642
|
+
Execution Slots: SLOT23
|
|
4641
4643
|
========================================================================== */
|
|
4642
4644
|
|
|
4643
4645
|
#define Q6_Vbf_vcvt_VsfVsf(Vu, Vv) \
|
|
@@ -4647,8 +4649,9 @@
|
|
|
4647
4649
|
#if __HVX_ARCH__ >= 73
|
|
4648
4650
|
/* ==========================================================================
|
|
4649
4651
|
Assembly Syntax: Qd4=vcmp.gt(Vu32.bf,Vv32.bf)
|
|
4650
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbfVbf(HVX_Vector Vu,
|
|
4651
|
-
|
|
4652
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4653
|
+
Instruction Type: CVI_VA
|
|
4654
|
+
Execution Slots: SLOT0123
|
|
4652
4655
|
========================================================================== */
|
|
4653
4656
|
|
|
4654
4657
|
#define Q6_Q_vcmp_gt_VbfVbf(Vu, Vv) \
|
|
@@ -4659,9 +4662,9 @@
|
|
|
4659
4662
|
#if __HVX_ARCH__ >= 73
|
|
4660
4663
|
/* ==========================================================================
|
|
4661
4664
|
Assembly Syntax: Qx4&=vcmp.gt(Vu32.bf,Vv32.bf)
|
|
4662
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbfVbf(HVX_VectorPred
|
|
4663
|
-
|
|
4664
|
-
Slots: SLOT0123
|
|
4665
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbfVbf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
4666
|
+
Instruction Type: CVI_VA
|
|
4667
|
+
Execution Slots: SLOT0123
|
|
4665
4668
|
========================================================================== */
|
|
4666
4669
|
|
|
4667
4670
|
#define Q6_Q_vcmp_gtand_QVbfVbf(Qx, Vu, Vv) \
|
|
@@ -4675,9 +4678,9 @@
|
|
|
4675
4678
|
#if __HVX_ARCH__ >= 73
|
|
4676
4679
|
/* ==========================================================================
|
|
4677
4680
|
Assembly Syntax: Qx4|=vcmp.gt(Vu32.bf,Vv32.bf)
|
|
4678
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbfVbf(HVX_VectorPred
|
|
4679
|
-
|
|
4680
|
-
Slots: SLOT0123
|
|
4681
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbfVbf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
4682
|
+
Instruction Type: CVI_VA
|
|
4683
|
+
Execution Slots: SLOT0123
|
|
4681
4684
|
========================================================================== */
|
|
4682
4685
|
|
|
4683
4686
|
#define Q6_Q_vcmp_gtor_QVbfVbf(Qx, Vu, Vv) \
|
|
@@ -4691,9 +4694,9 @@
|
|
|
4691
4694
|
#if __HVX_ARCH__ >= 73
|
|
4692
4695
|
/* ==========================================================================
|
|
4693
4696
|
Assembly Syntax: Qx4^=vcmp.gt(Vu32.bf,Vv32.bf)
|
|
4694
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbfVbf(HVX_VectorPred
|
|
4695
|
-
|
|
4696
|
-
Slots: SLOT0123
|
|
4697
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbfVbf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
4698
|
+
Instruction Type: CVI_VA
|
|
4699
|
+
Execution Slots: SLOT0123
|
|
4697
4700
|
========================================================================== */
|
|
4698
4701
|
|
|
4699
4702
|
#define Q6_Q_vcmp_gtxacc_QVbfVbf(Qx, Vu, Vv) \
|
|
@@ -4707,8 +4710,9 @@
|
|
|
4707
4710
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4708
4711
|
/* ==========================================================================
|
|
4709
4712
|
Assembly Syntax: Vd32.bf=vmax(Vu32.bf,Vv32.bf)
|
|
4710
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmax_VbfVbf(HVX_Vector Vu,
|
|
4711
|
-
|
|
4713
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmax_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4714
|
+
Instruction Type: CVI_VX_LATE
|
|
4715
|
+
Execution Slots: SLOT23
|
|
4712
4716
|
========================================================================== */
|
|
4713
4717
|
|
|
4714
4718
|
#define Q6_Vbf_vmax_VbfVbf(Vu, Vv) \
|
|
@@ -4718,8 +4722,9 @@
|
|
|
4718
4722
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4719
4723
|
/* ==========================================================================
|
|
4720
4724
|
Assembly Syntax: Vd32.bf=vmin(Vu32.bf,Vv32.bf)
|
|
4721
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmin_VbfVbf(HVX_Vector Vu,
|
|
4722
|
-
|
|
4725
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmin_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4726
|
+
Instruction Type: CVI_VX_LATE
|
|
4727
|
+
Execution Slots: SLOT23
|
|
4723
4728
|
========================================================================== */
|
|
4724
4729
|
|
|
4725
4730
|
#define Q6_Vbf_vmin_VbfVbf(Vu, Vv) \
|
|
@@ -4729,8 +4734,9 @@
|
|
|
4729
4734
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4730
4735
|
/* ==========================================================================
|
|
4731
4736
|
Assembly Syntax: Vdd32.sf=vmpy(Vu32.bf,Vv32.bf)
|
|
4732
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VbfVbf(HVX_Vector Vu,
|
|
4733
|
-
|
|
4737
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4738
|
+
Instruction Type: CVI_VX_DV
|
|
4739
|
+
Execution Slots: SLOT23
|
|
4734
4740
|
========================================================================== */
|
|
4735
4741
|
|
|
4736
4742
|
#define Q6_Wsf_vmpy_VbfVbf(Vu, Vv) \
|
|
@@ -4740,9 +4746,9 @@
|
|
|
4740
4746
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4741
4747
|
/* ==========================================================================
|
|
4742
4748
|
Assembly Syntax: Vxx32.sf+=vmpy(Vu32.bf,Vv32.bf)
|
|
4743
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVbfVbf(HVX_VectorPair
|
|
4744
|
-
|
|
4745
|
-
Slots: SLOT23
|
|
4749
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVbfVbf(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
|
|
4750
|
+
Instruction Type: CVI_VX_DV
|
|
4751
|
+
Execution Slots: SLOT23
|
|
4746
4752
|
========================================================================== */
|
|
4747
4753
|
|
|
4748
4754
|
#define Q6_Wsf_vmpyacc_WsfVbfVbf(Vxx, Vu, Vv) \
|
|
@@ -4752,8 +4758,9 @@
|
|
|
4752
4758
|
#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
|
|
4753
4759
|
/* ==========================================================================
|
|
4754
4760
|
Assembly Syntax: Vdd32.sf=vsub(Vu32.bf,Vv32.bf)
|
|
4755
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VbfVbf(HVX_Vector Vu,
|
|
4756
|
-
|
|
4761
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VbfVbf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4762
|
+
Instruction Type: CVI_VX_DV
|
|
4763
|
+
Execution Slots: SLOT23
|
|
4757
4764
|
========================================================================== */
|
|
4758
4765
|
|
|
4759
4766
|
#define Q6_Wsf_vsub_VbfVbf(Vu, Vv) \
|
|
@@ -4775,9 +4782,9 @@
|
|
|
4775
4782
|
#if __HVX_ARCH__ >= 79
|
|
4776
4783
|
/* ==========================================================================
|
|
4777
4784
|
Assembly Syntax: Vx32|=vgetqfext(Vu32.x,Rt32)
|
|
4778
|
-
C Intrinsic Prototype: HVX_Vector Q6_V_vgetqfextor_VVR(HVX_Vector Vx,
|
|
4779
|
-
|
|
4780
|
-
SLOT23
|
|
4785
|
+
C Intrinsic Prototype: HVX_Vector Q6_V_vgetqfextor_VVR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
|
|
4786
|
+
Instruction Type: CVI_VX
|
|
4787
|
+
Execution Slots: SLOT23
|
|
4781
4788
|
========================================================================== */
|
|
4782
4789
|
|
|
4783
4790
|
#define Q6_V_vgetqfextor_VVR(Vx, Vu, Rt) \
|
|
@@ -4810,8 +4817,9 @@
|
|
|
4810
4817
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4811
4818
|
/* ==========================================================================
|
|
4812
4819
|
Assembly Syntax: Vdd32.hf=vadd(Vu32.f8,Vv32.f8)
|
|
4813
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vadd_VV(HVX_Vector Vu,
|
|
4814
|
-
|
|
4820
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vadd_VV(HVX_Vector Vu, HVX_Vector Vv)
|
|
4821
|
+
Instruction Type: CVI_VX_DV
|
|
4822
|
+
Execution Slots: SLOT23
|
|
4815
4823
|
========================================================================== */
|
|
4816
4824
|
|
|
4817
4825
|
#define Q6_Whf_vadd_VV(Vu, Vv) \
|
|
@@ -4821,8 +4829,9 @@
|
|
|
4821
4829
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4822
4830
|
/* ==========================================================================
|
|
4823
4831
|
Assembly Syntax: Vd32.b=vcvt2(Vu32.hf,Vv32.hf)
|
|
4824
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt2_VhfVhf(HVX_Vector Vu,
|
|
4825
|
-
|
|
4832
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt2_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4833
|
+
Instruction Type: CVI_VX
|
|
4834
|
+
Execution Slots: SLOT23
|
|
4826
4835
|
========================================================================== */
|
|
4827
4836
|
|
|
4828
4837
|
#define Q6_Vb_vcvt2_VhfVhf(Vu, Vv) \
|
|
@@ -4856,8 +4865,9 @@
|
|
|
4856
4865
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4857
4866
|
/* ==========================================================================
|
|
4858
4867
|
Assembly Syntax: Vd32.ub=vcvt2(Vu32.hf,Vv32.hf)
|
|
4859
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt2_VhfVhf(HVX_Vector Vu,
|
|
4860
|
-
|
|
4868
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt2_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4869
|
+
Instruction Type: CVI_VX
|
|
4870
|
+
Execution Slots: SLOT23
|
|
4861
4871
|
========================================================================== */
|
|
4862
4872
|
|
|
4863
4873
|
#define Q6_Vub_vcvt2_VhfVhf(Vu, Vv) \
|
|
@@ -4867,8 +4877,9 @@
|
|
|
4867
4877
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4868
4878
|
/* ==========================================================================
|
|
4869
4879
|
Assembly Syntax: Vd32.f8=vcvt(Vu32.hf,Vv32.hf)
|
|
4870
|
-
C Intrinsic Prototype: HVX_Vector Q6_V_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector
|
|
4871
|
-
|
|
4880
|
+
C Intrinsic Prototype: HVX_Vector Q6_V_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
|
|
4881
|
+
Instruction Type: CVI_VX
|
|
4882
|
+
Execution Slots: SLOT23
|
|
4872
4883
|
========================================================================== */
|
|
4873
4884
|
|
|
4874
4885
|
#define Q6_V_vcvt_VhfVhf(Vu, Vv) \
|
|
@@ -4926,8 +4937,9 @@
|
|
|
4926
4937
|
#if __HVX_ARCH__ >= 79
|
|
4927
4938
|
/* ==========================================================================
|
|
4928
4939
|
Assembly Syntax: Vd32=vmerge(Vu32.x,Vv32.w)
|
|
4929
|
-
C Intrinsic Prototype: HVX_Vector Q6_V_vmerge_VVw(HVX_Vector Vu, HVX_Vector
|
|
4930
|
-
|
|
4940
|
+
C Intrinsic Prototype: HVX_Vector Q6_V_vmerge_VVw(HVX_Vector Vu, HVX_Vector Vv)
|
|
4941
|
+
Instruction Type: CVI_VS
|
|
4942
|
+
Execution Slots: SLOT0123
|
|
4931
4943
|
========================================================================== */
|
|
4932
4944
|
|
|
4933
4945
|
#define Q6_V_vmerge_VVw(Vu, Vv) \
|
|
@@ -4937,8 +4949,9 @@
|
|
|
4937
4949
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4938
4950
|
/* ==========================================================================
|
|
4939
4951
|
Assembly Syntax: Vdd32.hf=vmpy(Vu32.f8,Vv32.f8)
|
|
4940
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpy_VV(HVX_Vector Vu,
|
|
4941
|
-
|
|
4952
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpy_VV(HVX_Vector Vu, HVX_Vector Vv)
|
|
4953
|
+
Instruction Type: CVI_VX_DV
|
|
4954
|
+
Execution Slots: SLOT23
|
|
4942
4955
|
========================================================================== */
|
|
4943
4956
|
|
|
4944
4957
|
#define Q6_Whf_vmpy_VV(Vu, Vv) \
|
|
@@ -4948,9 +4961,9 @@
|
|
|
4948
4961
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4949
4962
|
/* ==========================================================================
|
|
4950
4963
|
Assembly Syntax: Vxx32.hf+=vmpy(Vu32.f8,Vv32.f8)
|
|
4951
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpyacc_WhfVV(HVX_VectorPair
|
|
4952
|
-
|
|
4953
|
-
Slots: SLOT23
|
|
4964
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpyacc_WhfVV(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
|
|
4965
|
+
Instruction Type: CVI_VX_DV
|
|
4966
|
+
Execution Slots: SLOT23
|
|
4954
4967
|
========================================================================== */
|
|
4955
4968
|
|
|
4956
4969
|
#define Q6_Whf_vmpyacc_WhfVV(Vxx, Vu, Vv) \
|
|
@@ -4960,8 +4973,9 @@
|
|
|
4960
4973
|
#if __HVX_ARCH__ >= 79
|
|
4961
4974
|
/* ==========================================================================
|
|
4962
4975
|
Assembly Syntax: Vd32.qf16=vmpy(Vu32.hf,Rt32.hf)
|
|
4963
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_VhfRhf(HVX_Vector Vu, Word32
|
|
4964
|
-
|
|
4976
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_VhfRhf(HVX_Vector Vu, Word32 Rt)
|
|
4977
|
+
Instruction Type: CVI_VX_DV
|
|
4978
|
+
Execution Slots: SLOT23
|
|
4965
4979
|
========================================================================== */
|
|
4966
4980
|
|
|
4967
4981
|
#define Q6_Vqf16_vmpy_VhfRhf(Vu, Rt) \
|
|
@@ -4971,8 +4985,9 @@
|
|
|
4971
4985
|
#if __HVX_ARCH__ >= 79
|
|
4972
4986
|
/* ==========================================================================
|
|
4973
4987
|
Assembly Syntax: Vd32.qf16=vmpy(Vu32.qf16,Rt32.hf)
|
|
4974
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_Vqf16Rhf(HVX_Vector Vu,
|
|
4975
|
-
|
|
4988
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_Vqf16Rhf(HVX_Vector Vu, Word32 Rt)
|
|
4989
|
+
Instruction Type: CVI_VX_DV
|
|
4990
|
+
Execution Slots: SLOT23
|
|
4976
4991
|
========================================================================== */
|
|
4977
4992
|
|
|
4978
4993
|
#define Q6_Vqf16_vmpy_Vqf16Rhf(Vu, Rt) \
|
|
@@ -4982,8 +4997,9 @@
|
|
|
4982
4997
|
#if __HVX_ARCH__ >= 79
|
|
4983
4998
|
/* ==========================================================================
|
|
4984
4999
|
Assembly Syntax: Vd32.qf32=vmpy(Vu32.sf,Rt32.sf)
|
|
4985
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vmpy_VsfRsf(HVX_Vector Vu, Word32
|
|
4986
|
-
|
|
5000
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vmpy_VsfRsf(HVX_Vector Vu, Word32 Rt)
|
|
5001
|
+
Instruction Type: CVI_VX_DV
|
|
5002
|
+
Execution Slots: SLOT23
|
|
4987
5003
|
========================================================================== */
|
|
4988
5004
|
|
|
4989
5005
|
#define Q6_Vqf32_vmpy_VsfRsf(Vu, Rt) \
|
|
@@ -4993,8 +5009,9 @@
|
|
|
4993
5009
|
#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
|
|
4994
5010
|
/* ==========================================================================
|
|
4995
5011
|
Assembly Syntax: Vdd32.hf=vsub(Vu32.f8,Vv32.f8)
|
|
4996
|
-
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vsub_VV(HVX_Vector Vu,
|
|
4997
|
-
|
|
5012
|
+
C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vsub_VV(HVX_Vector Vu, HVX_Vector Vv)
|
|
5013
|
+
Instruction Type: CVI_VX_DV
|
|
5014
|
+
Execution Slots: SLOT23
|
|
4998
5015
|
========================================================================== */
|
|
4999
5016
|
|
|
5000
5017
|
#define Q6_Whf_vsub_VV(Vu, Vv) \
|
|
@@ -5052,8 +5069,9 @@
|
|
|
5052
5069
|
#if __HVX_ARCH__ >= 81
|
|
5053
5070
|
/* ==========================================================================
|
|
5054
5071
|
Assembly Syntax: Vd32=valign4(Vu32,Vv32,Rt8)
|
|
5055
|
-
C Intrinsic Prototype: HVX_Vector Q6_V_valign4_VVR(HVX_Vector Vu, HVX_Vector
|
|
5056
|
-
|
|
5072
|
+
C Intrinsic Prototype: HVX_Vector Q6_V_valign4_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
|
|
5073
|
+
Instruction Type: CVI_VA
|
|
5074
|
+
Execution Slots: SLOT0123
|
|
5057
5075
|
========================================================================== */
|
|
5058
5076
|
|
|
5059
5077
|
#define Q6_V_valign4_VVR(Vu, Vv, Rt) \
|
|
@@ -5159,8 +5177,9 @@
|
|
|
5159
5177
|
#if __HVX_ARCH__ >= 81
|
|
5160
5178
|
/* ==========================================================================
|
|
5161
5179
|
Assembly Syntax: Qd4=vcmp.eq(Vu32.hf,Vv32.hf)
|
|
5162
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhfVhf(HVX_Vector Vu,
|
|
5163
|
-
|
|
5180
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
|
|
5181
|
+
Instruction Type: CVI_VA
|
|
5182
|
+
Execution Slots: SLOT0123
|
|
5164
5183
|
========================================================================== */
|
|
5165
5184
|
|
|
5166
5185
|
#define Q6_Q_vcmp_eq_VhfVhf(Vu, Vv) \
|
|
@@ -5171,9 +5190,9 @@
|
|
|
5171
5190
|
#if __HVX_ARCH__ >= 81
|
|
5172
5191
|
/* ==========================================================================
|
|
5173
5192
|
Assembly Syntax: Qx4&=vcmp.eq(Vu32.hf,Vv32.hf)
|
|
5174
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhfVhf(HVX_VectorPred
|
|
5175
|
-
|
|
5176
|
-
Slots: SLOT0123
|
|
5193
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5194
|
+
Instruction Type: CVI_VA
|
|
5195
|
+
Execution Slots: SLOT0123
|
|
5177
5196
|
========================================================================== */
|
|
5178
5197
|
|
|
5179
5198
|
#define Q6_Q_vcmp_eqand_QVhfVhf(Qx, Vu, Vv) \
|
|
@@ -5187,9 +5206,9 @@
|
|
|
5187
5206
|
#if __HVX_ARCH__ >= 81
|
|
5188
5207
|
/* ==========================================================================
|
|
5189
5208
|
Assembly Syntax: Qx4|=vcmp.eq(Vu32.hf,Vv32.hf)
|
|
5190
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhfVhf(HVX_VectorPred
|
|
5191
|
-
|
|
5192
|
-
Slots: SLOT0123
|
|
5209
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5210
|
+
Instruction Type: CVI_VA
|
|
5211
|
+
Execution Slots: SLOT0123
|
|
5193
5212
|
========================================================================== */
|
|
5194
5213
|
|
|
5195
5214
|
#define Q6_Q_vcmp_eqor_QVhfVhf(Qx, Vu, Vv) \
|
|
@@ -5203,9 +5222,9 @@
|
|
|
5203
5222
|
#if __HVX_ARCH__ >= 81
|
|
5204
5223
|
/* ==========================================================================
|
|
5205
5224
|
Assembly Syntax: Qx4^=vcmp.eq(Vu32.hf,Vv32.hf)
|
|
5206
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhfVhf(HVX_VectorPred
|
|
5207
|
-
|
|
5208
|
-
Slots: SLOT0123
|
|
5225
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5226
|
+
Instruction Type: CVI_VA
|
|
5227
|
+
Execution Slots: SLOT0123
|
|
5209
5228
|
========================================================================== */
|
|
5210
5229
|
|
|
5211
5230
|
#define Q6_Q_vcmp_eqxacc_QVhfVhf(Qx, Vu, Vv) \
|
|
@@ -5219,8 +5238,9 @@
|
|
|
5219
5238
|
#if __HVX_ARCH__ >= 81
|
|
5220
5239
|
/* ==========================================================================
|
|
5221
5240
|
Assembly Syntax: Qd4=vcmp.eq(Vu32.sf,Vv32.sf)
|
|
5222
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VsfVsf(HVX_Vector Vu,
|
|
5223
|
-
|
|
5241
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
|
|
5242
|
+
Instruction Type: CVI_VA
|
|
5243
|
+
Execution Slots: SLOT0123
|
|
5224
5244
|
========================================================================== */
|
|
5225
5245
|
|
|
5226
5246
|
#define Q6_Q_vcmp_eq_VsfVsf(Vu, Vv) \
|
|
@@ -5231,9 +5251,9 @@
|
|
|
5231
5251
|
#if __HVX_ARCH__ >= 81
|
|
5232
5252
|
/* ==========================================================================
|
|
5233
5253
|
Assembly Syntax: Qx4&=vcmp.eq(Vu32.sf,Vv32.sf)
|
|
5234
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVsfVsf(HVX_VectorPred
|
|
5235
|
-
|
|
5236
|
-
Slots: SLOT0123
|
|
5254
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5255
|
+
Instruction Type: CVI_VA
|
|
5256
|
+
Execution Slots: SLOT0123
|
|
5237
5257
|
========================================================================== */
|
|
5238
5258
|
|
|
5239
5259
|
#define Q6_Q_vcmp_eqand_QVsfVsf(Qx, Vu, Vv) \
|
|
@@ -5247,9 +5267,9 @@
|
|
|
5247
5267
|
#if __HVX_ARCH__ >= 81
|
|
5248
5268
|
/* ==========================================================================
|
|
5249
5269
|
Assembly Syntax: Qx4|=vcmp.eq(Vu32.sf,Vv32.sf)
|
|
5250
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVsfVsf(HVX_VectorPred
|
|
5251
|
-
|
|
5252
|
-
Slots: SLOT0123
|
|
5270
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5271
|
+
Instruction Type: CVI_VA
|
|
5272
|
+
Execution Slots: SLOT0123
|
|
5253
5273
|
========================================================================== */
|
|
5254
5274
|
|
|
5255
5275
|
#define Q6_Q_vcmp_eqor_QVsfVsf(Qx, Vu, Vv) \
|
|
@@ -5263,9 +5283,9 @@
|
|
|
5263
5283
|
#if __HVX_ARCH__ >= 81
|
|
5264
5284
|
/* ==========================================================================
|
|
5265
5285
|
Assembly Syntax: Qx4^=vcmp.eq(Vu32.sf,Vv32.sf)
|
|
5266
|
-
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVsfVsf(HVX_VectorPred
|
|
5267
|
-
|
|
5268
|
-
Slots: SLOT0123
|
|
5286
|
+
C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
|
|
5287
|
+
Instruction Type: CVI_VA
|
|
5288
|
+
Execution Slots: SLOT0123
|
|
5269
5289
|
========================================================================== */
|
|
5270
5290
|
|
|
5271
5291
|
#define Q6_Q_vcmp_eqxacc_QVsfVsf(Qx, Vu, Vv) \
|
|
@@ -5375,8 +5395,9 @@
|
|
|
5375
5395
|
#if __HVX_ARCH__ >= 81
|
|
5376
5396
|
/* ==========================================================================
|
|
5377
5397
|
Assembly Syntax: Vd32.qf16=vsub(Vu32.hf,Vv32.qf16)
|
|
5378
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_VhfVqf16(HVX_Vector Vu,
|
|
5379
|
-
|
|
5398
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_VhfVqf16(HVX_Vector Vu, HVX_Vector Vv)
|
|
5399
|
+
Instruction Type: CVI_VS
|
|
5400
|
+
Execution Slots: SLOT0123
|
|
5380
5401
|
========================================================================== */
|
|
5381
5402
|
|
|
5382
5403
|
#define Q6_Vqf16_vsub_VhfVqf16(Vu, Vv) \
|
|
@@ -5386,8 +5407,9 @@
|
|
|
5386
5407
|
#if __HVX_ARCH__ >= 81
|
|
5387
5408
|
/* ==========================================================================
|
|
5388
5409
|
Assembly Syntax: Vd32.qf32=vsub(Vu32.sf,Vv32.qf32)
|
|
5389
|
-
C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_VsfVqf32(HVX_Vector Vu,
|
|
5390
|
-
|
|
5410
|
+
C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_VsfVqf32(HVX_Vector Vu, HVX_Vector Vv)
|
|
5411
|
+
Instruction Type: CVI_VS
|
|
5412
|
+
Execution Slots: SLOT0123
|
|
5391
5413
|
========================================================================== */
|
|
5392
5414
|
|
|
5393
5415
|
#define Q6_Vqf32_vsub_VsfVqf32(Vu, Vv) \
|
package/include/immintrin.h
CHANGED
|
@@ -58,6 +58,10 @@
|
|
|
58
58
|
|
|
59
59
|
#include <avx512bitalgintrin.h>
|
|
60
60
|
|
|
61
|
+
#include <avx512bmmintrin.h>
|
|
62
|
+
|
|
63
|
+
#include <avx512bmmvlintrin.h>
|
|
64
|
+
|
|
61
65
|
#include <avx512cdintrin.h>
|
|
62
66
|
|
|
63
67
|
#include <avx512vpopcntdqintrin.h>
|
|
@@ -479,8 +483,6 @@ _storebe_i64(void * __P, long long __D) {
|
|
|
479
483
|
|
|
480
484
|
#include <amxavx512intrin.h>
|
|
481
485
|
|
|
482
|
-
#include <amxtf32intrin.h>
|
|
483
|
-
|
|
484
486
|
#include <avx512vp2intersectintrin.h>
|
|
485
487
|
|
|
486
488
|
#include <avx512vlvp2intersectintrin.h>
|
package/include/intrin.h
CHANGED
|
@@ -44,8 +44,10 @@
|
|
|
44
44
|
|
|
45
45
|
#if __x86_64__
|
|
46
46
|
#define __LPTRINT_TYPE__ __int64
|
|
47
|
+
#define __IPTRINT_TYPE__ __int64
|
|
47
48
|
#else
|
|
48
49
|
#define __LPTRINT_TYPE__ long
|
|
50
|
+
#define __IPTRINT_TYPE__ int
|
|
49
51
|
#endif
|
|
50
52
|
|
|
51
53
|
#ifdef __cplusplus
|
|
@@ -95,12 +97,12 @@ void __outdword(unsigned short, unsigned long);
|
|
|
95
97
|
void __outdwordstring(unsigned short, unsigned long *, unsigned long);
|
|
96
98
|
void __outword(unsigned short, unsigned short);
|
|
97
99
|
void __outwordstring(unsigned short, unsigned short *, unsigned long);
|
|
98
|
-
unsigned
|
|
99
|
-
unsigned
|
|
100
|
+
unsigned __LPTRINT_TYPE__ __readcr0(void);
|
|
101
|
+
unsigned __LPTRINT_TYPE__ __readcr2(void);
|
|
100
102
|
unsigned __LPTRINT_TYPE__ __readcr3(void);
|
|
101
103
|
unsigned __LPTRINT_TYPE__ __readcr4(void);
|
|
102
|
-
unsigned
|
|
103
|
-
unsigned
|
|
104
|
+
unsigned __LPTRINT_TYPE__ __readcr8(void);
|
|
105
|
+
unsigned __IPTRINT_TYPE__ __readdr(unsigned int);
|
|
104
106
|
#ifdef __i386__
|
|
105
107
|
unsigned char __readfsbyte(unsigned long);
|
|
106
108
|
unsigned short __readfsword(unsigned long);
|
|
@@ -126,11 +128,12 @@ unsigned __int64 __ull_rshift(unsigned __int64, int);
|
|
|
126
128
|
void __vmx_off(void);
|
|
127
129
|
void __vmx_vmptrst(unsigned __int64 *);
|
|
128
130
|
void __wbinvd(void);
|
|
129
|
-
void __writecr0(unsigned
|
|
130
|
-
void
|
|
131
|
-
void
|
|
132
|
-
void
|
|
133
|
-
void
|
|
131
|
+
void __writecr0(unsigned __IPTRINT_TYPE__);
|
|
132
|
+
void __writecr2(unsigned __IPTRINT_TYPE__);
|
|
133
|
+
void __writecr3(unsigned __IPTRINT_TYPE__);
|
|
134
|
+
void __writecr4(unsigned __IPTRINT_TYPE__);
|
|
135
|
+
void __writecr8(unsigned __IPTRINT_TYPE__);
|
|
136
|
+
void __writedr(unsigned int, unsigned __IPTRINT_TYPE__);
|
|
134
137
|
void __writefsbyte(unsigned long, unsigned char);
|
|
135
138
|
void __writefsdword(unsigned long, unsigned long);
|
|
136
139
|
void __writefsqword(unsigned long, unsigned __int64);
|
|
@@ -374,6 +377,9 @@ static __inline__ void __DEFAULT_FN_ATTRS __nop(void) {
|
|
|
374
377
|
\*----------------------------------------------------------------------------*/
|
|
375
378
|
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
376
379
|
unsigned __int64 __getReg(int);
|
|
380
|
+
double __getRegFp(int _Reg);
|
|
381
|
+
void __setReg(int, unsigned __int64);
|
|
382
|
+
void __setRegFp(int, double);
|
|
377
383
|
unsigned char _interlockedbittestandreset_acq(long volatile *, long);
|
|
378
384
|
unsigned char _interlockedbittestandreset_nf(long volatile *, long);
|
|
379
385
|
unsigned char _interlockedbittestandreset_rel(long volatile *, long);
|
|
@@ -438,10 +444,13 @@ unsigned int _CountLeadingSigns(long);
|
|
|
438
444
|
unsigned int _CountLeadingSigns64(__int64);
|
|
439
445
|
unsigned int _CountOneBits(unsigned long);
|
|
440
446
|
unsigned int _CountOneBits64(unsigned __int64);
|
|
447
|
+
unsigned int _CountTrailingZeros(unsigned long);
|
|
448
|
+
unsigned int _CountTrailingZeros64(unsigned __int64);
|
|
441
449
|
|
|
442
450
|
unsigned int __hlt(unsigned int, ...);
|
|
443
451
|
|
|
444
452
|
void __cdecl __prefetch(const void *);
|
|
453
|
+
void __cdecl __prefetch2(const void *, unsigned char);
|
|
445
454
|
|
|
446
455
|
#endif
|
|
447
456
|
|
|
@@ -474,7 +483,7 @@ static __inline__ unsigned __LPTRINT_TYPE__ __DEFAULT_FN_ATTRS __readcr3(void) {
|
|
|
474
483
|
}
|
|
475
484
|
|
|
476
485
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
477
|
-
__writecr3(unsigned
|
|
486
|
+
__writecr3(unsigned __IPTRINT_TYPE__ __cr3_val) {
|
|
478
487
|
__asm__ ("mov {%0, %%cr3|cr3, %0}" : : "r"(__cr3_val) : "memory");
|
|
479
488
|
}
|
|
480
489
|
#endif
|
|
@@ -484,6 +493,7 @@ __writecr3(unsigned __INTPTR_TYPE__ __cr3_val) {
|
|
|
484
493
|
#endif
|
|
485
494
|
|
|
486
495
|
#undef __LPTRINT_TYPE__
|
|
496
|
+
#undef __IPTRINT_TYPE__
|
|
487
497
|
|
|
488
498
|
#undef __DEFAULT_FN_ATTRS
|
|
489
499
|
|
package/include/larchintrin.h
CHANGED
|
@@ -120,10 +120,12 @@ extern __inline int
|
|
|
120
120
|
|
|
121
121
|
#define __ibar(/*ui15*/ _1) __builtin_loongarch_ibar((_1))
|
|
122
122
|
|
|
123
|
+
#ifdef __loongarch_hard_float
|
|
123
124
|
#define __movfcsr2gr(/*ui5*/ _1) __builtin_loongarch_movfcsr2gr((_1));
|
|
124
125
|
|
|
125
126
|
#define __movgr2fcsr(/*ui5*/ _1, _2) \
|
|
126
127
|
__builtin_loongarch_movgr2fcsr((_1), (unsigned int)_2);
|
|
128
|
+
#endif
|
|
127
129
|
|
|
128
130
|
#define __syscall(/*ui15*/ _1) __builtin_loongarch_syscall((_1))
|
|
129
131
|
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
10
10
|
#define __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
11
11
|
|
|
12
|
-
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__) && \
|
|
13
|
+
!defined(__SPIRV__)
|
|
13
14
|
#error "This file is for GPU offloading compilation only"
|
|
14
15
|
#endif
|
|
15
16
|
|
|
16
17
|
#include_next <ctype.h>
|
|
17
18
|
|
|
18
|
-
#if defined(__HIP__) || defined(__CUDA__)
|
|
19
|
+
#if defined(__HIP__) || defined(__CUDA__) || defined(__SPIRV__)
|
|
19
20
|
#define __LIBC_ATTRS __attribute__((device))
|
|
20
21
|
#else
|
|
21
22
|
#define __LIBC_ATTRS
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
|
|
10
10
|
#define __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
|
|
11
11
|
|
|
12
|
-
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__) && \
|
|
13
|
+
!defined(__SPIRV__)
|
|
13
14
|
#error "This file is for GPU offloading compilation only"
|
|
14
15
|
#endif
|
|
15
16
|
|
|
16
17
|
#include_next <string.h>
|
|
17
18
|
|
|
18
|
-
#if defined(__HIP__) || defined(__CUDA__)
|
|
19
|
+
#if defined(__HIP__) || defined(__CUDA__) || defined(__SPIRV__)
|
|
19
20
|
#define __LIBC_ATTRS __attribute__((device))
|
|
20
21
|
#else
|
|
21
22
|
#define __LIBC_ATTRS
|
package/include/module.modulemap
CHANGED
|
@@ -21,10 +21,19 @@ module _Builtin_intrinsics [system] [extern_c] {
|
|
|
21
21
|
export *
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
explicit module bf16 {
|
|
25
|
+
header "arm_bf16.h"
|
|
26
|
+
export *
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
explicit module fp16 {
|
|
30
|
+
header "arm_fp16.h"
|
|
31
|
+
export *
|
|
32
|
+
}
|
|
33
|
+
|
|
24
34
|
explicit module neon {
|
|
25
35
|
requires neon
|
|
26
36
|
header "arm_neon.h"
|
|
27
|
-
header "arm_fp16.h"
|
|
28
37
|
export *
|
|
29
38
|
}
|
|
30
39
|
|
|
@@ -41,6 +50,12 @@ module _Builtin_intrinsics [system] [extern_c] {
|
|
|
41
50
|
|
|
42
51
|
header "arm64intr.h"
|
|
43
52
|
export *
|
|
53
|
+
|
|
54
|
+
explicit module neon {
|
|
55
|
+
requires neon
|
|
56
|
+
header "arm64_neon.h"
|
|
57
|
+
export *
|
|
58
|
+
}
|
|
44
59
|
}
|
|
45
60
|
|
|
46
61
|
explicit module intel {
|