@cpp-linter/clang-tidy-win32-x64 12.0.1 → 13.0.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.
Files changed (171) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_device_functions.h +174 -102
  4. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_runtime_wrapper.h +6 -1
  5. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_cmath.h +272 -94
  6. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
  7. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_math.h +48 -2
  8. package/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h +124 -0
  9. package/lib/clang/{12.0.1 → 13.0.0}/include/altivec.h +1165 -423
  10. package/lib/clang/{12.0.1 → 13.0.0}/include/amxintrin.h +234 -19
  11. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_acle.h +55 -0
  12. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_neon.h +1077 -165
  13. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_sve.h +11791 -5896
  14. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512fintrin.h +177 -37
  15. package/lib/clang/13.0.0/include/builtins.h +16 -0
  16. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/complex +8 -0
  17. package/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
  18. package/lib/clang/13.0.0/include/hexagon_protos.h +8450 -0
  19. package/lib/clang/13.0.0/include/hexagon_types.h +2653 -0
  20. package/lib/clang/13.0.0/include/hvx_hexagon_protos.h +4392 -0
  21. package/lib/clang/{12.0.1 → 13.0.0}/include/intrin.h +44 -8
  22. package/lib/clang/{12.0.1 → 13.0.0}/include/keylockerintrin.h +30 -0
  23. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c-base.h +144 -3
  24. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c.h +505 -355
  25. package/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  26. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/cmath +54 -0
  27. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex +1 -7
  28. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex.h +0 -1
  29. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/math.h +10 -0
  30. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/new +2 -24
  31. package/lib/clang/13.0.0/include/riscv_vector.h +123865 -0
  32. package/lib/clang/{12.0.1 → 13.0.0}/include/uintrintrin.h +7 -0
  33. package/lib/clang/{12.0.1 → 13.0.0}/include/vaesintrin.h +21 -20
  34. package/lib/clang/{12.0.1 → 13.0.0}/include/vecintrin.h +206 -77
  35. package/lib/clang/{12.0.1 → 13.0.0}/include/vpclmulqdqintrin.h +2 -0
  36. package/lib/clang/{12.0.1 → 13.0.0}/include/wasm_simd128.h +806 -239
  37. package/package.json +6 -6
  38. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  39. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  40. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  41. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_cmath.h +0 -0
  42. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_complex_builtins.h +0 -0
  43. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_intrinsics.h +0 -0
  44. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_libdevice_declares.h +0 -0
  45. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math.h +2 -2
  46. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  47. package/lib/clang/{12.0.1 → 13.0.0}/include/__stddef_max_align_t.h +0 -0
  48. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_aes.h +0 -0
  49. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_pclmul.h +0 -0
  50. package/lib/clang/{12.0.1 → 13.0.0}/include/adxintrin.h +0 -0
  51. package/lib/clang/{12.0.1 → 13.0.0}/include/ammintrin.h +0 -0
  52. package/lib/clang/{12.0.1 → 13.0.0}/include/arm64intr.h +0 -0
  53. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_bf16.h +0 -0
  54. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cde.h +0 -0
  55. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cmse.h +0 -0
  56. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_fp16.h +0 -0
  57. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_mve.h +0 -0
  58. package/lib/clang/{12.0.1 → 13.0.0}/include/armintr.h +0 -0
  59. package/lib/clang/{12.0.1 → 13.0.0}/include/avx2intrin.h +0 -0
  60. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bf16intrin.h +0 -0
  61. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bitalgintrin.h +0 -0
  62. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bwintrin.h +0 -0
  63. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512cdintrin.h +0 -0
  64. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512dqintrin.h +0 -0
  65. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512erintrin.h +0 -0
  66. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmaintrin.h +0 -0
  67. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmavlintrin.h +0 -0
  68. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512pfintrin.h +0 -0
  69. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmi2intrin.h +0 -0
  70. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmiintrin.h +0 -0
  71. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmivlintrin.h +0 -0
  72. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbf16intrin.h +0 -0
  73. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbitalgintrin.h +0 -0
  74. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbwintrin.h +0 -0
  75. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlcdintrin.h +0 -0
  76. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vldqintrin.h +0 -0
  77. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlintrin.h +0 -0
  78. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvbmi2intrin.h +0 -0
  79. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvnniintrin.h +0 -0
  80. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  81. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vnniintrin.h +0 -0
  82. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vp2intersectintrin.h +0 -0
  83. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  84. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  85. package/lib/clang/{12.0.1 → 13.0.0}/include/avxintrin.h +0 -0
  86. package/lib/clang/{12.0.1 → 13.0.0}/include/avxvnniintrin.h +0 -0
  87. package/lib/clang/{12.0.1 → 13.0.0}/include/bmi2intrin.h +0 -0
  88. package/lib/clang/{12.0.1 → 13.0.0}/include/bmiintrin.h +0 -0
  89. package/lib/clang/{12.0.1 → 13.0.0}/include/cet.h +0 -0
  90. package/lib/clang/{12.0.1 → 13.0.0}/include/cetintrin.h +0 -0
  91. package/lib/clang/{12.0.1 → 13.0.0}/include/cldemoteintrin.h +0 -0
  92. package/lib/clang/{12.0.1 → 13.0.0}/include/clflushoptintrin.h +0 -0
  93. package/lib/clang/{12.0.1 → 13.0.0}/include/clwbintrin.h +0 -0
  94. package/lib/clang/{12.0.1 → 13.0.0}/include/clzerointrin.h +0 -0
  95. package/lib/clang/{12.0.1 → 13.0.0}/include/cpuid.h +0 -0
  96. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/algorithm +0 -0
  97. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/new +0 -0
  98. package/lib/clang/{12.0.1 → 13.0.0}/include/emmintrin.h +0 -0
  99. package/lib/clang/{12.0.1 → 13.0.0}/include/enqcmdintrin.h +0 -0
  100. package/lib/clang/{12.0.1 → 13.0.0}/include/f16cintrin.h +0 -0
  101. package/lib/clang/{12.0.1 → 13.0.0}/include/float.h +0 -0
  102. package/lib/clang/{12.0.1 → 13.0.0}/include/fma4intrin.h +0 -0
  103. package/lib/clang/{12.0.1 → 13.0.0}/include/fmaintrin.h +0 -0
  104. package/lib/clang/{12.0.1 → 13.0.0}/include/fxsrintrin.h +0 -0
  105. package/lib/clang/{12.0.1 → 13.0.0}/include/gfniintrin.h +0 -0
  106. package/lib/clang/{12.0.1 → 13.0.0}/include/hresetintrin.h +0 -0
  107. package/lib/clang/{12.0.1 → 13.0.0}/include/htmintrin.h +0 -0
  108. package/lib/clang/{12.0.1 → 13.0.0}/include/htmxlintrin.h +0 -0
  109. package/lib/clang/{12.0.1 → 13.0.0}/include/ia32intrin.h +0 -0
  110. package/lib/clang/{12.0.1 → 13.0.0}/include/immintrin.h +5 -5
  111. /package/lib/clang/{12.0.1 → 13.0.0}/include/inttypes.h +0 -0
  112. /package/lib/clang/{12.0.1 → 13.0.0}/include/invpcidintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 13.0.0}/include/iso646.h +0 -0
  114. /package/lib/clang/{12.0.1 → 13.0.0}/include/limits.h +0 -0
  115. /package/lib/clang/{12.0.1 → 13.0.0}/include/lwpintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 13.0.0}/include/lzcntintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm3dnow.h +0 -0
  118. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm_malloc.h +0 -0
  119. /package/lib/clang/{12.0.1 → 13.0.0}/include/mmintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 13.0.0}/include/module.modulemap +0 -0
  121. /package/lib/clang/{12.0.1 → 13.0.0}/include/movdirintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 13.0.0}/include/msa.h +0 -0
  123. /package/lib/clang/{12.0.1 → 13.0.0}/include/mwaitxintrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 13.0.0}/include/nmmintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  126. /package/lib/clang/{12.0.1 → 13.0.0}/include/pconfigintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 13.0.0}/include/pkuintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 13.0.0}/include/pmmintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 13.0.0}/include/popcntintrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/emmintrin.h +0 -0
  131. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mm_malloc.h +0 -0
  132. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mmintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/pmmintrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/smmintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/tmmintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/xmmintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 13.0.0}/include/prfchwintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 13.0.0}/include/ptwriteintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 13.0.0}/include/rdseedintrin.h +0 -0
  140. /package/lib/clang/{12.0.1 → 13.0.0}/include/rtmintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 13.0.0}/include/s390intrin.h +0 -0
  142. /package/lib/clang/{12.0.1 → 13.0.0}/include/serializeintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 13.0.0}/include/sgxintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 13.0.0}/include/shaintrin.h +0 -0
  145. /package/lib/clang/{12.0.1 → 13.0.0}/include/smmintrin.h +0 -0
  146. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdalign.h +0 -0
  147. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdarg.h +0 -0
  148. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdatomic.h +0 -0
  149. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdbool.h +0 -0
  150. /package/lib/clang/{12.0.1 → 13.0.0}/include/stddef.h +0 -0
  151. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdint.h +0 -0
  152. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdnoreturn.h +0 -0
  153. /package/lib/clang/{12.0.1 → 13.0.0}/include/tbmintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 13.0.0}/include/tgmath.h +0 -0
  155. /package/lib/clang/{12.0.1 → 13.0.0}/include/tmmintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 13.0.0}/include/tsxldtrkintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 13.0.0}/include/unwind.h +0 -0
  158. /package/lib/clang/{12.0.1 → 13.0.0}/include/vadefs.h +0 -0
  159. /package/lib/clang/{12.0.1 → 13.0.0}/include/varargs.h +0 -0
  160. /package/lib/clang/{12.0.1 → 13.0.0}/include/waitpkgintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 13.0.0}/include/wbnoinvdintrin.h +0 -0
  162. /package/lib/clang/{12.0.1 → 13.0.0}/include/wmmintrin.h +0 -0
  163. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86gprintrin.h +0 -0
  164. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86intrin.h +0 -0
  165. /package/lib/clang/{12.0.1 → 13.0.0}/include/xmmintrin.h +0 -0
  166. /package/lib/clang/{12.0.1 → 13.0.0}/include/xopintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavecintrin.h +0 -0
  168. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveoptintrin.h +0 -0
  170. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavesintrin.h +0 -0
  171. /package/lib/clang/{12.0.1 → 13.0.0}/include/xtestintrin.h +0 -0
@@ -451,24 +451,47 @@ unsigned char _InterlockedCompareExchange128_rel(__int64 volatile *_Destination,
451
451
  static __inline__ void __DEFAULT_FN_ATTRS __movsb(unsigned char *__dst,
452
452
  unsigned char const *__src,
453
453
  size_t __n) {
454
- __asm__ __volatile__("rep movsb" : "+D"(__dst), "+S"(__src), "+c"(__n)
455
- : : "memory");
454
+ #if defined(__x86_64__)
455
+ __asm__ __volatile__("rep movsb"
456
+ : "+D"(__dst), "+S"(__src), "+c"(__n)
457
+ :
458
+ : "memory");
459
+ #else
460
+ __asm__ __volatile__("xchg %%esi, %1\nrep movsb\nxchg %%esi, %1"
461
+ : "+D"(__dst), "+r"(__src), "+c"(__n)
462
+ :
463
+ : "memory");
464
+ #endif
456
465
  }
457
466
  static __inline__ void __DEFAULT_FN_ATTRS __movsd(unsigned long *__dst,
458
467
  unsigned long const *__src,
459
468
  size_t __n) {
469
+ #if defined(__x86_64__)
460
470
  __asm__ __volatile__("rep movsl"
461
471
  : "+D"(__dst), "+S"(__src), "+c"(__n)
462
472
  :
463
473
  : "memory");
474
+ #else
475
+ __asm__ __volatile__("xchg %%esi, %1\nrep movsl\nxchg %%esi, %1"
476
+ : "+D"(__dst), "+r"(__src), "+c"(__n)
477
+ :
478
+ : "memory");
479
+ #endif
464
480
  }
465
481
  static __inline__ void __DEFAULT_FN_ATTRS __movsw(unsigned short *__dst,
466
482
  unsigned short const *__src,
467
483
  size_t __n) {
484
+ #if defined(__x86_64__)
468
485
  __asm__ __volatile__("rep movsw"
469
486
  : "+D"(__dst), "+S"(__src), "+c"(__n)
470
487
  :
471
488
  : "memory");
489
+ #else
490
+ __asm__ __volatile__("xchg %%esi, %1\nrep movsw\nxchg %%esi, %1"
491
+ : "+D"(__dst), "+r"(__src), "+c"(__n)
492
+ :
493
+ : "memory");
494
+ #endif
472
495
  }
473
496
  static __inline__ void __DEFAULT_FN_ATTRS __stosd(unsigned long *__dst,
474
497
  unsigned long __x,
@@ -507,16 +530,26 @@ static __inline__ void __DEFAULT_FN_ATTRS __stosq(unsigned __int64 *__dst,
507
530
  |* Misc
508
531
  \*----------------------------------------------------------------------------*/
509
532
  #if defined(__i386__) || defined(__x86_64__)
533
+ #if defined(__i386__)
534
+ #define __cpuid_count(__leaf, __count, __eax, __ebx, __ecx, __edx) \
535
+ __asm("cpuid" \
536
+ : "=a"(__eax), "=b"(__ebx), "=c"(__ecx), "=d"(__edx) \
537
+ : "0"(__leaf), "2"(__count))
538
+ #else
539
+ /* x86-64 uses %rbx as the base register, so preserve it. */
540
+ #define __cpuid_count(__leaf, __count, __eax, __ebx, __ecx, __edx) \
541
+ __asm("xchgq %%rbx,%q1\n" \
542
+ "cpuid\n" \
543
+ "xchgq %%rbx,%q1" \
544
+ : "=a"(__eax), "=r"(__ebx), "=c"(__ecx), "=d"(__edx) \
545
+ : "0"(__leaf), "2"(__count))
546
+ #endif
510
547
  static __inline__ void __DEFAULT_FN_ATTRS __cpuid(int __info[4], int __level) {
511
- __asm__("cpuid"
512
- : "=a"(__info[0]), "=b"(__info[1]), "=c"(__info[2]), "=d"(__info[3])
513
- : "a"(__level), "c"(0));
548
+ __cpuid_count(__level, 0, __info[0], __info[1], __info[2], __info[3]);
514
549
  }
515
550
  static __inline__ void __DEFAULT_FN_ATTRS __cpuidex(int __info[4], int __level,
516
551
  int __ecx) {
517
- __asm__("cpuid"
518
- : "=a"(__info[0]), "=b"(__info[1]), "=c"(__info[2]), "=d"(__info[3])
519
- : "a"(__level), "c"(__ecx));
552
+ __cpuid_count(__level, __ecx, __info[0], __info[1], __info[2], __info[3]);
520
553
  }
521
554
  static __inline__ void __DEFAULT_FN_ATTRS __halt(void) {
522
555
  __asm__ volatile("hlt");
@@ -541,6 +574,9 @@ void _WriteStatusReg(int, __int64);
541
574
  unsigned short __cdecl _byteswap_ushort(unsigned short val);
542
575
  unsigned long __cdecl _byteswap_ulong (unsigned long val);
543
576
  unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 val);
577
+
578
+ __int64 __mulh(__int64 __a, __int64 __b);
579
+ unsigned __int64 __umulh(unsigned __int64 __a, unsigned __int64 __b);
544
580
  #endif
545
581
 
546
582
  /*----------------------------------------------------------------------------*\
@@ -230,10 +230,12 @@ _mm_aesenc128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
230
230
  /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES256 )
231
231
  /// IF (IllegalHandle)
232
232
  /// ZF := 1
233
+ /// MEM[__odata+127:__odata] := 0
233
234
  /// ELSE
234
235
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
235
236
  /// IF (Authentic == 0)
236
237
  /// ZF := 1
238
+ /// MEM[__odata+127:__odata] := 0
237
239
  /// ELSE
238
240
  /// MEM[__odata+127:__odata] := AES256Encrypt (__idata[127:0], UnwrappedKey)
239
241
  /// ZF := 0
@@ -267,10 +269,12 @@ _mm_aesenc256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
267
269
  /// HandleKeyType (Handle[383:0]) != HANDLE_KEY_TYPE_AES128)
268
270
  /// IF (IllegalHandle)
269
271
  /// ZF := 1
272
+ /// MEM[__odata+127:__odata] := 0
270
273
  /// ELSE
271
274
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
272
275
  /// IF (Authentic == 0)
273
276
  /// ZF := 1
277
+ /// MEM[__odata+127:__odata] := 0
274
278
  /// ELSE
275
279
  /// MEM[__odata+127:__odata] := AES128Decrypt (__idata[127:0], UnwrappedKey)
276
280
  /// ZF := 0
@@ -304,10 +308,12 @@ _mm_aesdec128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
304
308
  /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES256)
305
309
  /// IF (IllegalHandle)
306
310
  /// ZF := 1
311
+ /// MEM[__odata+127:__odata] := 0
307
312
  /// ELSE
308
313
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
309
314
  /// IF (Authentic == 0)
310
315
  /// ZF := 1
316
+ /// MEM[__odata+127:__odata] := 0
311
317
  /// ELSE
312
318
  /// MEM[__odata+127:__odata] := AES256Decrypt (__idata[127:0], UnwrappedKey)
313
319
  /// ZF := 0
@@ -354,10 +360,16 @@ _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
354
360
  /// HandleKeyType (Handle[383:0]) != HANDLE_KEY_TYPE_AES128 )
355
361
  /// IF (IllegalHandle)
356
362
  /// ZF := 1
363
+ /// FOR i := 0 to 7
364
+ /// __odata[i] := 0
365
+ /// ENDFOR
357
366
  /// ELSE
358
367
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
359
368
  /// IF Authentic == 0
360
369
  /// ZF := 1
370
+ /// FOR i := 0 to 7
371
+ /// __odata[i] := 0
372
+ /// ENDFOR
361
373
  /// ELSE
362
374
  /// FOR i := 0 to 7
363
375
  /// __odata[i] := AES128Encrypt (__idata[i], UnwrappedKey)
@@ -394,10 +406,16 @@ _mm_aesencwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
394
406
  /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES512 )
395
407
  /// IF (IllegalHandle)
396
408
  /// ZF := 1
409
+ /// FOR i := 0 to 7
410
+ /// __odata[i] := 0
411
+ /// ENDFOR
397
412
  /// ELSE
398
413
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
399
414
  /// IF Authentic == 0
400
415
  /// ZF := 1
416
+ /// FOR i := 0 to 7
417
+ /// __odata[i] := 0
418
+ /// ENDFOR
401
419
  /// ELSE
402
420
  /// FOR i := 0 to 7
403
421
  /// __odata[i] := AES256Encrypt (__idata[i], UnwrappedKey)
@@ -434,10 +452,16 @@ _mm_aesencwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
434
452
  /// HandleKeyType (Handle) != HANDLE_KEY_TYPE_AES128 )
435
453
  /// IF (IllegalHandle)
436
454
  /// ZF := 1
455
+ /// FOR i := 0 to 7
456
+ /// __odata[i] := 0
457
+ /// ENDFOR
437
458
  /// ELSE
438
459
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
439
460
  /// IF Authentic == 0
440
461
  /// ZF := 1
462
+ /// FOR i := 0 to 7
463
+ /// __odata[i] := 0
464
+ /// ENDFOR
441
465
  /// ELSE
442
466
  /// FOR i := 0 to 7
443
467
  /// __odata[i] := AES128Decrypt (__idata[i], UnwrappedKey)
@@ -474,10 +498,16 @@ _mm_aesdecwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
474
498
  /// HandleKeyType (Handle) != HANDLE_KEY_TYPE_AES512 )
475
499
  /// If (IllegalHandle)
476
500
  /// ZF := 1
501
+ /// FOR i := 0 to 7
502
+ /// __odata[i] := 0
503
+ /// ENDFOR
477
504
  /// ELSE
478
505
  /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
479
506
  /// IF Authentic == 0
480
507
  /// ZF := 1
508
+ /// FOR i := 0 to 7
509
+ /// __odata[i] := 0
510
+ /// ENDFOR
481
511
  /// ELSE
482
512
  /// FOR i := 0 to 7
483
513
  /// __odata[i] := AES256Decrypt (__idata[i], UnwrappedKey)
@@ -21,9 +21,37 @@
21
21
  #define cl_khr_subgroup_shuffle 1
22
22
  #define cl_khr_subgroup_shuffle_relative 1
23
23
  #define cl_khr_subgroup_clustered_reduce 1
24
+ #define cl_khr_extended_bit_ops 1
25
+ #define cl_khr_integer_dot_product 1
26
+ #define __opencl_c_integer_dot_product_input_4x8bit 1
27
+ #define __opencl_c_integer_dot_product_input_4x8bit_packed 1
28
+
24
29
  #endif // defined(__SPIR__)
25
30
  #endif // (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
26
31
 
32
+ // Define feature macros for OpenCL C 2.0
33
+ #if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ == 200)
34
+ #define __opencl_c_pipes 1
35
+ #define __opencl_c_generic_address_space 1
36
+ #define __opencl_c_work_group_collective_functions 1
37
+ #define __opencl_c_atomic_order_acq_rel 1
38
+ #define __opencl_c_atomic_order_seq_cst 1
39
+ #define __opencl_c_atomic_scope_device 1
40
+ #define __opencl_c_atomic_scope_all_devices 1
41
+ #define __opencl_c_device_enqueue 1
42
+ #define __opencl_c_read_write_images 1
43
+ #define __opencl_c_program_scope_global_variables 1
44
+ #define __opencl_c_images 1
45
+ #endif
46
+
47
+ // Define header-only feature macros for OpenCL C 3.0.
48
+ #if (__OPENCL_C_VERSION__ == 300)
49
+ // For the SPIR target all features are supported.
50
+ #if defined(__SPIR__)
51
+ #define __opencl_c_atomic_scope_all_devices 1
52
+ #endif // defined(__SPIR__)
53
+ #endif // (__OPENCL_C_VERSION__ == 300)
54
+
27
55
  // built-in scalar data types:
28
56
 
29
57
  /**
@@ -141,7 +169,9 @@ typedef double double8 __attribute__((ext_vector_type(8)));
141
169
  typedef double double16 __attribute__((ext_vector_type(16)));
142
170
  #endif
143
171
 
144
- #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
172
+ #if defined(__OPENCL_CPP_VERSION__)
173
+ #define NULL nullptr
174
+ #elif defined(__OPENCL_C_VERSION__)
145
175
  #define NULL ((void*)0)
146
176
  #endif
147
177
 
@@ -297,7 +327,12 @@ typedef enum memory_scope {
297
327
  memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM,
298
328
  memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP,
299
329
  memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE,
330
+ #if defined(__opencl_c_atomic_scope_all_devices)
300
331
  memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES,
332
+ #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0)
333
+ memory_scope_all_devices = memory_scope_all_svm_devices,
334
+ #endif // __OPENCL_C_VERSION__ >= CL_VERSION_3_0
335
+ #endif // defined(__opencl_c_atomic_scope_all_devices)
301
336
  #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
302
337
  memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP
303
338
  #endif
@@ -322,7 +357,9 @@ typedef enum memory_order
322
357
  memory_order_acquire = __ATOMIC_ACQUIRE,
323
358
  memory_order_release = __ATOMIC_RELEASE,
324
359
  memory_order_acq_rel = __ATOMIC_ACQ_REL,
360
+ #if defined(__opencl_c_atomic_order_seq_cst)
325
361
  memory_order_seq_cst = __ATOMIC_SEQ_CST
362
+ #endif
326
363
  } memory_order;
327
364
 
328
365
  #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
@@ -445,8 +482,113 @@ typedef struct {
445
482
 
446
483
  #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
447
484
 
485
+ /**
486
+ * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
487
+ * Reinterprets a data type as another data type of the same size
488
+ */
489
+ #define as_char(x) __builtin_astype((x), char)
490
+ #define as_char2(x) __builtin_astype((x), char2)
491
+ #define as_char3(x) __builtin_astype((x), char3)
492
+ #define as_char4(x) __builtin_astype((x), char4)
493
+ #define as_char8(x) __builtin_astype((x), char8)
494
+ #define as_char16(x) __builtin_astype((x), char16)
495
+
496
+ #define as_uchar(x) __builtin_astype((x), uchar)
497
+ #define as_uchar2(x) __builtin_astype((x), uchar2)
498
+ #define as_uchar3(x) __builtin_astype((x), uchar3)
499
+ #define as_uchar4(x) __builtin_astype((x), uchar4)
500
+ #define as_uchar8(x) __builtin_astype((x), uchar8)
501
+ #define as_uchar16(x) __builtin_astype((x), uchar16)
502
+
503
+ #define as_short(x) __builtin_astype((x), short)
504
+ #define as_short2(x) __builtin_astype((x), short2)
505
+ #define as_short3(x) __builtin_astype((x), short3)
506
+ #define as_short4(x) __builtin_astype((x), short4)
507
+ #define as_short8(x) __builtin_astype((x), short8)
508
+ #define as_short16(x) __builtin_astype((x), short16)
509
+
510
+ #define as_ushort(x) __builtin_astype((x), ushort)
511
+ #define as_ushort2(x) __builtin_astype((x), ushort2)
512
+ #define as_ushort3(x) __builtin_astype((x), ushort3)
513
+ #define as_ushort4(x) __builtin_astype((x), ushort4)
514
+ #define as_ushort8(x) __builtin_astype((x), ushort8)
515
+ #define as_ushort16(x) __builtin_astype((x), ushort16)
516
+
517
+ #define as_int(x) __builtin_astype((x), int)
518
+ #define as_int2(x) __builtin_astype((x), int2)
519
+ #define as_int3(x) __builtin_astype((x), int3)
520
+ #define as_int4(x) __builtin_astype((x), int4)
521
+ #define as_int8(x) __builtin_astype((x), int8)
522
+ #define as_int16(x) __builtin_astype((x), int16)
523
+
524
+ #define as_uint(x) __builtin_astype((x), uint)
525
+ #define as_uint2(x) __builtin_astype((x), uint2)
526
+ #define as_uint3(x) __builtin_astype((x), uint3)
527
+ #define as_uint4(x) __builtin_astype((x), uint4)
528
+ #define as_uint8(x) __builtin_astype((x), uint8)
529
+ #define as_uint16(x) __builtin_astype((x), uint16)
530
+
531
+ #define as_long(x) __builtin_astype((x), long)
532
+ #define as_long2(x) __builtin_astype((x), long2)
533
+ #define as_long3(x) __builtin_astype((x), long3)
534
+ #define as_long4(x) __builtin_astype((x), long4)
535
+ #define as_long8(x) __builtin_astype((x), long8)
536
+ #define as_long16(x) __builtin_astype((x), long16)
537
+
538
+ #define as_ulong(x) __builtin_astype((x), ulong)
539
+ #define as_ulong2(x) __builtin_astype((x), ulong2)
540
+ #define as_ulong3(x) __builtin_astype((x), ulong3)
541
+ #define as_ulong4(x) __builtin_astype((x), ulong4)
542
+ #define as_ulong8(x) __builtin_astype((x), ulong8)
543
+ #define as_ulong16(x) __builtin_astype((x), ulong16)
544
+
545
+ #define as_float(x) __builtin_astype((x), float)
546
+ #define as_float2(x) __builtin_astype((x), float2)
547
+ #define as_float3(x) __builtin_astype((x), float3)
548
+ #define as_float4(x) __builtin_astype((x), float4)
549
+ #define as_float8(x) __builtin_astype((x), float8)
550
+ #define as_float16(x) __builtin_astype((x), float16)
551
+
552
+ #ifdef cl_khr_fp64
553
+ #define as_double(x) __builtin_astype((x), double)
554
+ #define as_double2(x) __builtin_astype((x), double2)
555
+ #define as_double3(x) __builtin_astype((x), double3)
556
+ #define as_double4(x) __builtin_astype((x), double4)
557
+ #define as_double8(x) __builtin_astype((x), double8)
558
+ #define as_double16(x) __builtin_astype((x), double16)
559
+ #endif // cl_khr_fp64
560
+
561
+ #ifdef cl_khr_fp16
562
+ #define as_half(x) __builtin_astype((x), half)
563
+ #define as_half2(x) __builtin_astype((x), half2)
564
+ #define as_half3(x) __builtin_astype((x), half3)
565
+ #define as_half4(x) __builtin_astype((x), half4)
566
+ #define as_half8(x) __builtin_astype((x), half8)
567
+ #define as_half16(x) __builtin_astype((x), half16)
568
+ #endif // cl_khr_fp16
569
+
570
+ #define as_size_t(x) __builtin_astype((x), size_t)
571
+ #define as_ptrdiff_t(x) __builtin_astype((x), ptrdiff_t)
572
+ #define as_intptr_t(x) __builtin_astype((x), intptr_t)
573
+ #define as_uintptr_t(x) __builtin_astype((x), uintptr_t)
574
+
575
+ // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
576
+
577
+ #define __kernel_exec(X, typen) __kernel \
578
+ __attribute__((work_group_size_hint(X, 1, 1))) \
579
+ __attribute__((vec_type_hint(typen)))
580
+
581
+ #define kernel_exec(X, typen) __kernel \
582
+ __attribute__((work_group_size_hint(X, 1, 1))) \
583
+ __attribute__((vec_type_hint(typen)))
584
+
585
+ #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
586
+ // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
587
+
588
+ int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
589
+ #endif
590
+
448
591
  #ifdef cl_intel_device_side_avc_motion_estimation
449
- #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
450
592
 
451
593
  #define CLK_AVC_ME_MAJOR_16x16_INTEL 0x0
452
594
  #define CLK_AVC_ME_MAJOR_16x8_INTEL 0x1
@@ -580,7 +722,6 @@ typedef struct {
580
722
  #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMOUT_INITIALIZE_INTEL 0x0
581
723
  #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMIN_INITIALIZE_INTEL 0x0
582
724
 
583
- #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
584
725
  #endif // cl_intel_device_side_avc_motion_estimation
585
726
 
586
727
  // Disable any extensions we may have enabled previously.