@cpp-linter/clang-tidy-win32-x64 21.1.0 → 23.1.3

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 (326) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
  5. package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
  6. package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  7. package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -5
  8. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  9. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  10. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  11. package/lib/clang/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
  12. package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
  13. package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
  14. package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
  15. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  16. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  17. package/lib/clang/{21/include/float.h → 23/include/__float_float.h} +13 -24
  18. package/lib/clang/23/include/__float_header_macro.h +12 -0
  19. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  20. package/lib/clang/{21 → 23}/include/altivec.h +79 -9
  21. package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
  22. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  23. package/lib/clang/23/include/amo.h +220 -0
  24. package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
  25. package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
  26. package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
  27. package/lib/clang/23/include/arm64_neon.h +21 -0
  28. package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
  29. package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
  30. package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
  31. package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
  32. package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
  33. package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
  34. package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
  35. package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
  36. package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
  37. package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
  38. package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
  39. package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
  40. package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
  41. package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
  42. package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
  43. package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
  44. package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
  45. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  46. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  47. package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
  48. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  49. package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
  50. package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
  51. package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
  52. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  53. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  54. package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
  55. package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
  56. package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
  57. package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
  58. package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
  59. package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
  60. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  61. package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
  62. package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
  63. package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
  64. package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  65. package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
  66. package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  67. package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
  68. package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
  69. package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
  70. package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
  71. package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
  72. package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
  73. package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
  74. package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
  75. package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
  76. package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
  77. package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
  78. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  79. package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
  80. package/lib/clang/23/include/endian.h +91 -0
  81. package/lib/clang/{21 → 23}/include/f16cintrin.h +23 -9
  82. package/lib/clang/23/include/float.h +48 -0
  83. package/lib/clang/23/include/fma4intrin.h +220 -0
  84. package/lib/clang/{21 → 23}/include/fmaintrin.h +96 -66
  85. package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
  86. package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
  87. package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
  88. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  89. package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
  90. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  91. package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
  92. package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
  93. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  94. package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
  95. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  96. package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
  97. package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
  98. package/lib/clang/{21 → 23}/include/intrin.h +24 -10
  99. package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
  100. package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
  101. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  102. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  103. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  104. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  105. package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
  106. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  107. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  108. package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
  109. package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
  110. package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
  111. package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
  112. package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
  113. package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
  114. package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
  115. package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
  116. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
  117. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
  118. package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
  119. package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
  120. package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
  121. package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
  122. package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
  123. package/lib/clang/{21 → 23}/include/riscv_crypto.h +8 -0
  124. package/lib/clang/23/include/riscv_mips.h +36 -0
  125. package/lib/clang/23/include/riscv_nds.h +92 -0
  126. package/lib/clang/{21 → 23}/include/riscv_ntlh.h +2 -0
  127. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  128. package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
  129. package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
  130. package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
  131. package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
  132. package/lib/clang/23/include/spirvintrin.h +167 -0
  133. package/lib/clang/23/include/stddefer.h +19 -0
  134. package/lib/clang/{21 → 23}/include/stdint.h +5 -14
  135. package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
  136. package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
  137. package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
  138. package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
  139. package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
  140. package/lib/clang/{21 → 23}/include/xopintrin.h +20 -10
  141. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  142. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  143. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  144. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  145. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  146. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  147. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  148. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  149. package/package.json +6 -6
  150. package/lib/clang/21/include/__clang_cuda_complex_builtins.h +0 -285
  151. package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
  152. package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
  153. package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
  154. package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
  155. package/lib/clang/21/include/amxtf32intrin.h +0 -108
  156. package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
  157. package/lib/clang/21/include/amxtransposeintrin.h +0 -248
  158. package/lib/clang/21/include/avx512cdintrin.h +0 -125
  159. package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
  160. package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
  161. package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
  162. package/lib/clang/21/include/fma4intrin.h +0 -218
  163. package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
  164. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
  165. package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
  166. package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
  167. package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
  168. package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
  169. /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  170. /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
  171. /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  172. /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
  173. /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
  174. /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
  175. /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
  176. /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  177. /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
  178. /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
  179. /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
  180. /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
  181. /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
  182. /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
  183. /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
  184. /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
  185. /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
  186. /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
  187. /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  188. /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
  189. /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
  190. /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
  191. /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
  192. /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
  193. /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
  194. /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
  195. /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
  196. /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
  197. /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
  198. /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
  199. /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
  200. /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
  201. /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
  202. /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
  203. /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
  204. /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
  205. /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
  206. /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
  207. /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
  208. /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
  209. /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
  210. /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
  211. /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
  212. /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
  213. /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
  214. /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
  215. /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
  216. /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
  217. /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
  218. /package/lib/clang/{21 → 23}/include/cet.h +0 -0
  219. /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
  220. /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
  221. /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
  222. /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
  223. /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
  224. /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
  225. /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
  226. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  227. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  228. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
  229. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  230. /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
  231. /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
  232. /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
  233. /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
  234. /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
  235. /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  236. /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
  237. /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
  238. /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
  239. /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
  240. /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
  241. /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
  242. /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
  243. /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
  244. /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
  245. /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
  246. /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
  247. /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
  248. /package/lib/clang/{21 → 23}/include/limits.h +0 -0
  249. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
  250. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
  251. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
  252. /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
  253. /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
  254. /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
  255. /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
  256. /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
  257. /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
  258. /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
  259. /package/lib/clang/{21 → 23}/include/msa.h +0 -0
  260. /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
  261. /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
  262. /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
  263. /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
  264. /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
  265. /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
  266. /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
  267. /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
  268. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  269. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  270. /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  271. /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  272. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  273. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  274. /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  275. /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  276. /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  277. /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  278. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  279. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  280. /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  281. /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
  282. /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
  283. /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
  293. /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
  294. /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
  295. /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
  296. /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
  297. /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
  298. /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
  299. /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
  300. /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
  301. /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
  302. /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
  303. /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
  304. /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
  305. /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
  306. /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
  307. /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
  308. /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
  309. /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
  310. /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
  311. /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
  312. /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
  313. /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
  314. /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
  315. /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
  316. /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
  317. /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
  318. /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
  319. /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
  320. /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
  321. /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
  322. /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
  323. /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
  324. /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
  325. /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
  326. /package/lib/clang/{21 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -15,20 +15,19 @@
15
15
  #define __AVX2INTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #if defined(__EVEX512__) && !defined(__AVX10_1_512__)
19
- #define __DEFAULT_FN_ATTRS256 \
20
- __attribute__((__always_inline__, __nodebug__, \
21
- __target__("avx2,no-evex512"), __min_vector_width__(256)))
22
- #define __DEFAULT_FN_ATTRS128 \
23
- __attribute__((__always_inline__, __nodebug__, \
24
- __target__("avx2,no-evex512"), __min_vector_width__(128)))
25
- #else
26
18
  #define __DEFAULT_FN_ATTRS256 \
27
19
  __attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
28
20
  __min_vector_width__(256)))
29
21
  #define __DEFAULT_FN_ATTRS128 \
30
22
  __attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
31
23
  __min_vector_width__(128)))
24
+
25
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
26
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
27
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
28
+ #else
29
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
30
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
32
31
  #endif
33
32
 
34
33
  /* SSE4 Multiple Packed Sums of Absolute Difference. */
@@ -104,10 +103,9 @@
104
103
  /// \param __a
105
104
  /// A 256-bit integer vector.
106
105
  /// \returns A 256-bit integer vector containing the result.
107
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
108
- _mm256_abs_epi8(__m256i __a)
109
- {
110
- return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
106
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
107
+ _mm256_abs_epi8(__m256i __a) {
108
+ return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
111
109
  }
112
110
 
113
111
  /// Computes the absolute value of each signed 16-bit element in the 256-bit
@@ -121,10 +119,9 @@ _mm256_abs_epi8(__m256i __a)
121
119
  /// \param __a
122
120
  /// A 256-bit vector of [16 x i16].
123
121
  /// \returns A 256-bit vector of [16 x i16] containing the result.
124
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
125
- _mm256_abs_epi16(__m256i __a)
126
- {
127
- return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
122
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
123
+ _mm256_abs_epi16(__m256i __a) {
124
+ return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
128
125
  }
129
126
 
130
127
  /// Computes the absolute value of each signed 32-bit element in the 256-bit
@@ -138,10 +135,9 @@ _mm256_abs_epi16(__m256i __a)
138
135
  /// \param __a
139
136
  /// A 256-bit vector of [8 x i32].
140
137
  /// \returns A 256-bit vector of [8 x i32] containing the result.
141
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
142
- _mm256_abs_epi32(__m256i __a)
143
- {
144
- return (__m256i)__builtin_elementwise_abs((__v8si)__a);
138
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
139
+ _mm256_abs_epi32(__m256i __a) {
140
+ return (__m256i)__builtin_elementwise_abs((__v8si)__a);
145
141
  }
146
142
 
147
143
  /// Converts the elements of two 256-bit vectors of [16 x i16] to 8-bit
@@ -169,9 +165,8 @@ _mm256_abs_epi32(__m256i __a)
169
165
  /// A 256-bit vector of [16 x i16] used to generate result[127:64] and
170
166
  /// result[255:192].
171
167
  /// \returns A 256-bit integer vector containing the result.
172
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
173
- _mm256_packs_epi16(__m256i __a, __m256i __b)
174
- {
168
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
169
+ _mm256_packs_epi16(__m256i __a, __m256i __b) {
175
170
  return (__m256i)__builtin_ia32_packsswb256((__v16hi)__a, (__v16hi)__b);
176
171
  }
177
172
 
@@ -201,9 +196,8 @@ _mm256_packs_epi16(__m256i __a, __m256i __b)
201
196
  /// A 256-bit vector of [8 x i32] used to generate result[127:64] and
202
197
  /// result[255:192].
203
198
  /// \returns A 256-bit vector of [16 x i16] containing the result.
204
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
205
- _mm256_packs_epi32(__m256i __a, __m256i __b)
206
- {
199
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
200
+ _mm256_packs_epi32(__m256i __a, __m256i __b) {
207
201
  return (__m256i)__builtin_ia32_packssdw256((__v8si)__a, (__v8si)__b);
208
202
  }
209
203
 
@@ -232,9 +226,8 @@ _mm256_packs_epi32(__m256i __a, __m256i __b)
232
226
  /// A 256-bit vector of [16 x i16] used to generate result[127:64] and
233
227
  /// result[255:192].
234
228
  /// \returns A 256-bit integer vector containing the result.
235
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
236
- _mm256_packus_epi16(__m256i __a, __m256i __b)
237
- {
229
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
230
+ _mm256_packus_epi16(__m256i __a, __m256i __b) {
238
231
  return (__m256i)__builtin_ia32_packuswb256((__v16hi)__a, (__v16hi)__b);
239
232
  }
240
233
 
@@ -264,9 +257,8 @@ _mm256_packus_epi16(__m256i __a, __m256i __b)
264
257
  /// A 256-bit vector of [8 x i32] used to generate result[127:64] and
265
258
  /// result[255:192].
266
259
  /// \returns A 256-bit vector of [16 x i16] containing the result.
267
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
268
- _mm256_packus_epi32(__m256i __V1, __m256i __V2)
269
- {
260
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
261
+ _mm256_packus_epi32(__m256i __V1, __m256i __V2) {
270
262
  return (__m256i) __builtin_ia32_packusdw256((__v8si)__V1, (__v8si)__V2);
271
263
  }
272
264
 
@@ -283,9 +275,8 @@ _mm256_packus_epi32(__m256i __V1, __m256i __V2)
283
275
  /// \param __b
284
276
  /// A 256-bit integer vector containing one of the source operands.
285
277
  /// \returns A 256-bit integer vector containing the sums.
286
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
287
- _mm256_add_epi8(__m256i __a, __m256i __b)
288
- {
278
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
279
+ _mm256_add_epi8(__m256i __a, __m256i __b) {
289
280
  return (__m256i)((__v32qu)__a + (__v32qu)__b);
290
281
  }
291
282
 
@@ -302,9 +293,8 @@ _mm256_add_epi8(__m256i __a, __m256i __b)
302
293
  /// \param __b
303
294
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
304
295
  /// \returns A 256-bit vector of [16 x i16] containing the sums.
305
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
306
- _mm256_add_epi16(__m256i __a, __m256i __b)
307
- {
296
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
297
+ _mm256_add_epi16(__m256i __a, __m256i __b) {
308
298
  return (__m256i)((__v16hu)__a + (__v16hu)__b);
309
299
  }
310
300
 
@@ -321,9 +311,8 @@ _mm256_add_epi16(__m256i __a, __m256i __b)
321
311
  /// \param __b
322
312
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
323
313
  /// \returns A 256-bit vector of [8 x i32] containing the sums.
324
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
325
- _mm256_add_epi32(__m256i __a, __m256i __b)
326
- {
314
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
315
+ _mm256_add_epi32(__m256i __a, __m256i __b) {
327
316
  return (__m256i)((__v8su)__a + (__v8su)__b);
328
317
  }
329
318
 
@@ -340,9 +329,8 @@ _mm256_add_epi32(__m256i __a, __m256i __b)
340
329
  /// \param __b
341
330
  /// A 256-bit vector of [4 x i64] containing one of the source operands.
342
331
  /// \returns A 256-bit vector of [4 x i64] containing the sums.
343
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
344
- _mm256_add_epi64(__m256i __a, __m256i __b)
345
- {
332
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
333
+ _mm256_add_epi64(__m256i __a, __m256i __b) {
346
334
  return (__m256i)((__v4du)__a + (__v4du)__b);
347
335
  }
348
336
 
@@ -359,9 +347,8 @@ _mm256_add_epi64(__m256i __a, __m256i __b)
359
347
  /// \param __b
360
348
  /// A 256-bit integer vector containing one of the source operands.
361
349
  /// \returns A 256-bit integer vector containing the sums.
362
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
363
- _mm256_adds_epi8(__m256i __a, __m256i __b)
364
- {
350
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
351
+ _mm256_adds_epi8(__m256i __a, __m256i __b) {
365
352
  return (__m256i)__builtin_elementwise_add_sat((__v32qs)__a, (__v32qs)__b);
366
353
  }
367
354
 
@@ -377,9 +364,8 @@ _mm256_adds_epi8(__m256i __a, __m256i __b)
377
364
  /// \param __b
378
365
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
379
366
  /// \returns A 256-bit vector of [16 x i16] containing the sums.
380
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
381
- _mm256_adds_epi16(__m256i __a, __m256i __b)
382
- {
367
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
368
+ _mm256_adds_epi16(__m256i __a, __m256i __b) {
383
369
  return (__m256i)__builtin_elementwise_add_sat((__v16hi)__a, (__v16hi)__b);
384
370
  }
385
371
 
@@ -396,9 +382,8 @@ _mm256_adds_epi16(__m256i __a, __m256i __b)
396
382
  /// \param __b
397
383
  /// A 256-bit integer vector containing one of the source operands.
398
384
  /// \returns A 256-bit integer vector containing the sums.
399
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
400
- _mm256_adds_epu8(__m256i __a, __m256i __b)
401
- {
385
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
386
+ _mm256_adds_epu8(__m256i __a, __m256i __b) {
402
387
  return (__m256i)__builtin_elementwise_add_sat((__v32qu)__a, (__v32qu)__b);
403
388
  }
404
389
 
@@ -414,9 +399,8 @@ _mm256_adds_epu8(__m256i __a, __m256i __b)
414
399
  /// \param __b
415
400
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
416
401
  /// \returns A 256-bit vector of [16 x i16] containing the sums.
417
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
418
- _mm256_adds_epu16(__m256i __a, __m256i __b)
419
- {
402
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
403
+ _mm256_adds_epu16(__m256i __a, __m256i __b) {
420
404
  return (__m256i)__builtin_elementwise_add_sat((__v16hu)__a, (__v16hu)__b);
421
405
  }
422
406
 
@@ -460,7 +444,7 @@ _mm256_adds_epu16(__m256i __a, __m256i __b)
460
444
  /// \param __b
461
445
  /// A 256-bit integer vector.
462
446
  /// \returns A 256-bit integer vector containing the result.
463
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
447
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
464
448
  _mm256_and_si256(__m256i __a, __m256i __b)
465
449
  {
466
450
  return (__m256i)((__v4du)__a & (__v4du)__b);
@@ -478,7 +462,7 @@ _mm256_and_si256(__m256i __a, __m256i __b)
478
462
  /// \param __b
479
463
  /// A 256-bit integer vector.
480
464
  /// \returns A 256-bit integer vector containing the result.
481
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
465
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
482
466
  _mm256_andnot_si256(__m256i __a, __m256i __b)
483
467
  {
484
468
  return (__m256i)(~(__v4du)__a & (__v4du)__b);
@@ -504,10 +488,9 @@ _mm256_andnot_si256(__m256i __a, __m256i __b)
504
488
  /// \param __b
505
489
  /// A 256-bit integer vector.
506
490
  /// \returns A 256-bit integer vector containing the result.
507
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
508
- _mm256_avg_epu8(__m256i __a, __m256i __b)
509
- {
510
- return (__m256i)__builtin_ia32_pavgb256((__v32qi)__a, (__v32qi)__b);
491
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
492
+ _mm256_avg_epu8(__m256i __a, __m256i __b) {
493
+ return (__m256i)__builtin_ia32_pavgb256((__v32qu)__a, (__v32qu)__b);
511
494
  }
512
495
 
513
496
  /// Computes the averages of the corresponding unsigned 16-bit integers in
@@ -530,10 +513,9 @@ _mm256_avg_epu8(__m256i __a, __m256i __b)
530
513
  /// \param __b
531
514
  /// A 256-bit vector of [16 x i16].
532
515
  /// \returns A 256-bit vector of [16 x i16] containing the result.
533
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
534
- _mm256_avg_epu16(__m256i __a, __m256i __b)
535
- {
536
- return (__m256i)__builtin_ia32_pavgw256((__v16hi)__a, (__v16hi)__b);
516
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
517
+ _mm256_avg_epu16(__m256i __a, __m256i __b) {
518
+ return (__m256i)__builtin_ia32_pavgw256((__v16hu)__a, (__v16hu)__b);
537
519
  }
538
520
 
539
521
  /// Merges 8-bit integer values from either of the two 256-bit vectors
@@ -565,9 +547,8 @@ _mm256_avg_epu16(__m256i __a, __m256i __b)
565
547
  /// is 0, the byte is copied from \a __V1; otherwise, it is copied from
566
548
  /// \a __V2.
567
549
  /// \returns A 256-bit integer vector containing the result.
568
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
569
- _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
570
- {
550
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
551
+ _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M) {
571
552
  return (__m256i)__builtin_ia32_pblendvb256((__v32qi)__V1, (__v32qi)__V2,
572
553
  (__v32qi)__M);
573
554
  }
@@ -633,7 +614,7 @@ _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
633
614
  /// \param __b
634
615
  /// A 256-bit integer vector containing one of the inputs.
635
616
  /// \returns A 256-bit integer vector containing the result.
636
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
617
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
637
618
  _mm256_cmpeq_epi8(__m256i __a, __m256i __b)
638
619
  {
639
620
  return (__m256i)((__v32qi)__a == (__v32qi)__b);
@@ -659,7 +640,7 @@ _mm256_cmpeq_epi8(__m256i __a, __m256i __b)
659
640
  /// \param __b
660
641
  /// A 256-bit vector of [16 x i16] containing one of the inputs.
661
642
  /// \returns A 256-bit vector of [16 x i16] containing the result.
662
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
643
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
663
644
  _mm256_cmpeq_epi16(__m256i __a, __m256i __b)
664
645
  {
665
646
  return (__m256i)((__v16hi)__a == (__v16hi)__b);
@@ -685,7 +666,7 @@ _mm256_cmpeq_epi16(__m256i __a, __m256i __b)
685
666
  /// \param __b
686
667
  /// A 256-bit vector of [8 x i32] containing one of the inputs.
687
668
  /// \returns A 256-bit vector of [8 x i32] containing the result.
688
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
669
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
689
670
  _mm256_cmpeq_epi32(__m256i __a, __m256i __b)
690
671
  {
691
672
  return (__m256i)((__v8si)__a == (__v8si)__b);
@@ -711,7 +692,7 @@ _mm256_cmpeq_epi32(__m256i __a, __m256i __b)
711
692
  /// \param __b
712
693
  /// A 256-bit vector of [4 x i64] containing one of the inputs.
713
694
  /// \returns A 256-bit vector of [4 x i64] containing the result.
714
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
695
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
715
696
  _mm256_cmpeq_epi64(__m256i __a, __m256i __b)
716
697
  {
717
698
  return (__m256i)((__v4di)__a == (__v4di)__b);
@@ -737,7 +718,7 @@ _mm256_cmpeq_epi64(__m256i __a, __m256i __b)
737
718
  /// \param __b
738
719
  /// A 256-bit integer vector containing one of the inputs.
739
720
  /// \returns A 256-bit integer vector containing the result.
740
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
721
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
741
722
  _mm256_cmpgt_epi8(__m256i __a, __m256i __b)
742
723
  {
743
724
  /* This function always performs a signed comparison, but __v32qi is a char
@@ -765,7 +746,7 @@ _mm256_cmpgt_epi8(__m256i __a, __m256i __b)
765
746
  /// \param __b
766
747
  /// A 256-bit vector of [16 x i16] containing one of the inputs.
767
748
  /// \returns A 256-bit vector of [16 x i16] containing the result.
768
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
749
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
769
750
  _mm256_cmpgt_epi16(__m256i __a, __m256i __b)
770
751
  {
771
752
  return (__m256i)((__v16hi)__a > (__v16hi)__b);
@@ -791,7 +772,7 @@ _mm256_cmpgt_epi16(__m256i __a, __m256i __b)
791
772
  /// \param __b
792
773
  /// A 256-bit vector of [8 x i32] containing one of the inputs.
793
774
  /// \returns A 256-bit vector of [8 x i32] containing the result.
794
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
775
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
795
776
  _mm256_cmpgt_epi32(__m256i __a, __m256i __b)
796
777
  {
797
778
  return (__m256i)((__v8si)__a > (__v8si)__b);
@@ -817,7 +798,7 @@ _mm256_cmpgt_epi32(__m256i __a, __m256i __b)
817
798
  /// \param __b
818
799
  /// A 256-bit vector of [4 x i64] containing one of the inputs.
819
800
  /// \returns A 256-bit vector of [4 x i64] containing the result.
820
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
801
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
821
802
  _mm256_cmpgt_epi64(__m256i __a, __m256i __b)
822
803
  {
823
804
  return (__m256i)((__v4di)__a > (__v4di)__b);
@@ -853,10 +834,9 @@ _mm256_cmpgt_epi64(__m256i __a, __m256i __b)
853
834
  /// \param __b
854
835
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
855
836
  /// \returns A 256-bit vector of [16 x i16] containing the sums.
856
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
857
- _mm256_hadd_epi16(__m256i __a, __m256i __b)
858
- {
859
- return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
837
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
838
+ _mm256_hadd_epi16(__m256i __a, __m256i __b) {
839
+ return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
860
840
  }
861
841
 
862
842
  /// Horizontally adds the adjacent pairs of 32-bit integers from two 256-bit
@@ -885,10 +865,9 @@ _mm256_hadd_epi16(__m256i __a, __m256i __b)
885
865
  /// \param __b
886
866
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
887
867
  /// \returns A 256-bit vector of [8 x i32] containing the sums.
888
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
889
- _mm256_hadd_epi32(__m256i __a, __m256i __b)
890
- {
891
- return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
868
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
869
+ _mm256_hadd_epi32(__m256i __a, __m256i __b) {
870
+ return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
892
871
  }
893
872
 
894
873
  /// Horizontally adds the adjacent pairs of 16-bit integers from two 256-bit
@@ -920,10 +899,9 @@ _mm256_hadd_epi32(__m256i __a, __m256i __b)
920
899
  /// \param __b
921
900
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
922
901
  /// \returns A 256-bit vector of [16 x i16] containing the sums.
923
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
924
- _mm256_hadds_epi16(__m256i __a, __m256i __b)
925
- {
926
- return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
902
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
903
+ _mm256_hadds_epi16(__m256i __a, __m256i __b) {
904
+ return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
927
905
  }
928
906
 
929
907
  /// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
@@ -956,10 +934,9 @@ _mm256_hadds_epi16(__m256i __a, __m256i __b)
956
934
  /// \param __b
957
935
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
958
936
  /// \returns A 256-bit vector of [16 x i16] containing the differences.
959
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
960
- _mm256_hsub_epi16(__m256i __a, __m256i __b)
961
- {
962
- return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
937
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
938
+ _mm256_hsub_epi16(__m256i __a, __m256i __b) {
939
+ return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
963
940
  }
964
941
 
965
942
  /// Horizontally subtracts adjacent pairs of 32-bit integers from two 256-bit
@@ -988,10 +965,9 @@ _mm256_hsub_epi16(__m256i __a, __m256i __b)
988
965
  /// \param __b
989
966
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
990
967
  /// \returns A 256-bit vector of [8 x i32] containing the differences.
991
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
992
- _mm256_hsub_epi32(__m256i __a, __m256i __b)
993
- {
994
- return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
968
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
969
+ _mm256_hsub_epi32(__m256i __a, __m256i __b) {
970
+ return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
995
971
  }
996
972
 
997
973
  /// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
@@ -1024,10 +1000,9 @@ _mm256_hsub_epi32(__m256i __a, __m256i __b)
1024
1000
  /// \param __b
1025
1001
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1026
1002
  /// \returns A 256-bit vector of [16 x i16] containing the differences.
1027
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1028
- _mm256_hsubs_epi16(__m256i __a, __m256i __b)
1029
- {
1030
- return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
1003
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1004
+ _mm256_hsubs_epi16(__m256i __a, __m256i __b) {
1005
+ return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
1031
1006
  }
1032
1007
 
1033
1008
  /// Multiplies each unsigned byte from the 256-bit integer vector in \a __a
@@ -1054,10 +1029,9 @@ _mm256_hsubs_epi16(__m256i __a, __m256i __b)
1054
1029
  /// \param __b
1055
1030
  /// A 256-bit vector containing one of the source operands.
1056
1031
  /// \returns A 256-bit vector of [16 x i16] containing the result.
1057
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1058
- _mm256_maddubs_epi16(__m256i __a, __m256i __b)
1059
- {
1060
- return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
1032
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1033
+ _mm256_maddubs_epi16(__m256i __a, __m256i __b) {
1034
+ return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
1061
1035
  }
1062
1036
 
1063
1037
  /// Multiplies corresponding 16-bit elements of two 256-bit vectors of
@@ -1086,9 +1060,8 @@ _mm256_maddubs_epi16(__m256i __a, __m256i __b)
1086
1060
  /// \param __b
1087
1061
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1088
1062
  /// \returns A 256-bit vector of [8 x i32] containing the result.
1089
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1090
- _mm256_madd_epi16(__m256i __a, __m256i __b)
1091
- {
1063
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1064
+ _mm256_madd_epi16(__m256i __a, __m256i __b) {
1092
1065
  return (__m256i)__builtin_ia32_pmaddwd256((__v16hi)__a, (__v16hi)__b);
1093
1066
  }
1094
1067
 
@@ -1105,9 +1078,8 @@ _mm256_madd_epi16(__m256i __a, __m256i __b)
1105
1078
  /// \param __b
1106
1079
  /// A 256-bit integer vector.
1107
1080
  /// \returns A 256-bit integer vector containing the result.
1108
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1109
- _mm256_max_epi8(__m256i __a, __m256i __b)
1110
- {
1081
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1082
+ _mm256_max_epi8(__m256i __a, __m256i __b) {
1111
1083
  return (__m256i)__builtin_elementwise_max((__v32qs)__a, (__v32qs)__b);
1112
1084
  }
1113
1085
 
@@ -1124,9 +1096,8 @@ _mm256_max_epi8(__m256i __a, __m256i __b)
1124
1096
  /// \param __b
1125
1097
  /// A 256-bit vector of [16 x i16].
1126
1098
  /// \returns A 256-bit vector of [16 x i16] containing the result.
1127
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1128
- _mm256_max_epi16(__m256i __a, __m256i __b)
1129
- {
1099
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1100
+ _mm256_max_epi16(__m256i __a, __m256i __b) {
1130
1101
  return (__m256i)__builtin_elementwise_max((__v16hi)__a, (__v16hi)__b);
1131
1102
  }
1132
1103
 
@@ -1143,9 +1114,8 @@ _mm256_max_epi16(__m256i __a, __m256i __b)
1143
1114
  /// \param __b
1144
1115
  /// A 256-bit vector of [8 x i32].
1145
1116
  /// \returns A 256-bit vector of [8 x i32] containing the result.
1146
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1147
- _mm256_max_epi32(__m256i __a, __m256i __b)
1148
- {
1117
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1118
+ _mm256_max_epi32(__m256i __a, __m256i __b) {
1149
1119
  return (__m256i)__builtin_elementwise_max((__v8si)__a, (__v8si)__b);
1150
1120
  }
1151
1121
 
@@ -1162,9 +1132,8 @@ _mm256_max_epi32(__m256i __a, __m256i __b)
1162
1132
  /// \param __b
1163
1133
  /// A 256-bit integer vector.
1164
1134
  /// \returns A 256-bit integer vector containing the result.
1165
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1166
- _mm256_max_epu8(__m256i __a, __m256i __b)
1167
- {
1135
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1136
+ _mm256_max_epu8(__m256i __a, __m256i __b) {
1168
1137
  return (__m256i)__builtin_elementwise_max((__v32qu)__a, (__v32qu)__b);
1169
1138
  }
1170
1139
 
@@ -1181,9 +1150,8 @@ _mm256_max_epu8(__m256i __a, __m256i __b)
1181
1150
  /// \param __b
1182
1151
  /// A 256-bit vector of [16 x i16].
1183
1152
  /// \returns A 256-bit vector of [16 x i16] containing the result.
1184
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1185
- _mm256_max_epu16(__m256i __a, __m256i __b)
1186
- {
1153
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1154
+ _mm256_max_epu16(__m256i __a, __m256i __b) {
1187
1155
  return (__m256i)__builtin_elementwise_max((__v16hu)__a, (__v16hu)__b);
1188
1156
  }
1189
1157
 
@@ -1200,9 +1168,8 @@ _mm256_max_epu16(__m256i __a, __m256i __b)
1200
1168
  /// \param __b
1201
1169
  /// A 256-bit vector of [8 x i32].
1202
1170
  /// \returns A 256-bit vector of [8 x i32] containing the result.
1203
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1204
- _mm256_max_epu32(__m256i __a, __m256i __b)
1205
- {
1171
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1172
+ _mm256_max_epu32(__m256i __a, __m256i __b) {
1206
1173
  return (__m256i)__builtin_elementwise_max((__v8su)__a, (__v8su)__b);
1207
1174
  }
1208
1175
 
@@ -1219,9 +1186,8 @@ _mm256_max_epu32(__m256i __a, __m256i __b)
1219
1186
  /// \param __b
1220
1187
  /// A 256-bit integer vector.
1221
1188
  /// \returns A 256-bit integer vector containing the result.
1222
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1223
- _mm256_min_epi8(__m256i __a, __m256i __b)
1224
- {
1189
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1190
+ _mm256_min_epi8(__m256i __a, __m256i __b) {
1225
1191
  return (__m256i)__builtin_elementwise_min((__v32qs)__a, (__v32qs)__b);
1226
1192
  }
1227
1193
 
@@ -1238,9 +1204,8 @@ _mm256_min_epi8(__m256i __a, __m256i __b)
1238
1204
  /// \param __b
1239
1205
  /// A 256-bit vector of [16 x i16].
1240
1206
  /// \returns A 256-bit vector of [16 x i16] containing the result.
1241
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1242
- _mm256_min_epi16(__m256i __a, __m256i __b)
1243
- {
1207
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1208
+ _mm256_min_epi16(__m256i __a, __m256i __b) {
1244
1209
  return (__m256i)__builtin_elementwise_min((__v16hi)__a, (__v16hi)__b);
1245
1210
  }
1246
1211
 
@@ -1257,9 +1222,8 @@ _mm256_min_epi16(__m256i __a, __m256i __b)
1257
1222
  /// \param __b
1258
1223
  /// A 256-bit vector of [8 x i32].
1259
1224
  /// \returns A 256-bit vector of [8 x i32] containing the result.
1260
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1261
- _mm256_min_epi32(__m256i __a, __m256i __b)
1262
- {
1225
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1226
+ _mm256_min_epi32(__m256i __a, __m256i __b) {
1263
1227
  return (__m256i)__builtin_elementwise_min((__v8si)__a, (__v8si)__b);
1264
1228
  }
1265
1229
 
@@ -1276,9 +1240,8 @@ _mm256_min_epi32(__m256i __a, __m256i __b)
1276
1240
  /// \param __b
1277
1241
  /// A 256-bit integer vector.
1278
1242
  /// \returns A 256-bit integer vector containing the result.
1279
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1280
- _mm256_min_epu8(__m256i __a, __m256i __b)
1281
- {
1243
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1244
+ _mm256_min_epu8(__m256i __a, __m256i __b) {
1282
1245
  return (__m256i)__builtin_elementwise_min((__v32qu)__a, (__v32qu)__b);
1283
1246
  }
1284
1247
 
@@ -1295,9 +1258,8 @@ _mm256_min_epu8(__m256i __a, __m256i __b)
1295
1258
  /// \param __b
1296
1259
  /// A 256-bit vector of [16 x i16].
1297
1260
  /// \returns A 256-bit vector of [16 x i16] containing the result.
1298
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1299
- _mm256_min_epu16(__m256i __a, __m256i __b)
1300
- {
1261
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1262
+ _mm256_min_epu16(__m256i __a, __m256i __b) {
1301
1263
  return (__m256i)__builtin_elementwise_min((__v16hu)__a, (__v16hu)__b);
1302
1264
  }
1303
1265
 
@@ -1314,9 +1276,8 @@ _mm256_min_epu16(__m256i __a, __m256i __b)
1314
1276
  /// \param __b
1315
1277
  /// A 256-bit vector of [8 x i32].
1316
1278
  /// \returns A 256-bit vector of [8 x i32] containing the result.
1317
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1318
- _mm256_min_epu32(__m256i __a, __m256i __b)
1319
- {
1279
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1280
+ _mm256_min_epu32(__m256i __a, __m256i __b) {
1320
1281
  return (__m256i)__builtin_elementwise_min((__v8su)__a, (__v8su)__b);
1321
1282
  }
1322
1283
 
@@ -1337,9 +1298,8 @@ _mm256_min_epu32(__m256i __a, __m256i __b)
1337
1298
  /// \param __a
1338
1299
  /// A 256-bit integer vector containing the source bytes.
1339
1300
  /// \returns The 32-bit integer mask.
1340
- static __inline__ int __DEFAULT_FN_ATTRS256
1341
- _mm256_movemask_epi8(__m256i __a)
1342
- {
1301
+ static __inline__ int __DEFAULT_FN_ATTRS256_CONSTEXPR
1302
+ _mm256_movemask_epi8(__m256i __a) {
1343
1303
  return __builtin_ia32_pmovmskb256((__v32qi)__a);
1344
1304
  }
1345
1305
 
@@ -1363,9 +1323,8 @@ _mm256_movemask_epi8(__m256i __a)
1363
1323
  /// A 128-bit integer vector containing the source bytes.
1364
1324
  /// \returns A 256-bit vector of [16 x i16] containing the sign-extended
1365
1325
  /// values.
1366
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1367
- _mm256_cvtepi8_epi16(__m128i __V)
1368
- {
1326
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1327
+ _mm256_cvtepi8_epi16(__m128i __V) {
1369
1328
  /* This function always performs a signed extension, but __v16qi is a char
1370
1329
  which may be signed or unsigned, so use __v16qs. */
1371
1330
  return (__m256i)__builtin_convertvector((__v16qs)__V, __v16hi);
@@ -1391,9 +1350,8 @@ _mm256_cvtepi8_epi16(__m128i __V)
1391
1350
  /// A 128-bit integer vector containing the source bytes.
1392
1351
  /// \returns A 256-bit vector of [8 x i32] containing the sign-extended
1393
1352
  /// values.
1394
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1395
- _mm256_cvtepi8_epi32(__m128i __V)
1396
- {
1353
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1354
+ _mm256_cvtepi8_epi32(__m128i __V) {
1397
1355
  /* This function always performs a signed extension, but __v16qi is a char
1398
1356
  which may be signed or unsigned, so use __v16qs. */
1399
1357
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
@@ -1418,9 +1376,8 @@ _mm256_cvtepi8_epi32(__m128i __V)
1418
1376
  /// A 128-bit integer vector containing the source bytes.
1419
1377
  /// \returns A 256-bit vector of [4 x i64] containing the sign-extended
1420
1378
  /// values.
1421
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1422
- _mm256_cvtepi8_epi64(__m128i __V)
1423
- {
1379
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1380
+ _mm256_cvtepi8_epi64(__m128i __V) {
1424
1381
  /* This function always performs a signed extension, but __v16qi is a char
1425
1382
  which may be signed or unsigned, so use __v16qs. */
1426
1383
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4di);
@@ -1446,9 +1403,8 @@ _mm256_cvtepi8_epi64(__m128i __V)
1446
1403
  /// A 128-bit vector of [8 x i16] containing the source values.
1447
1404
  /// \returns A 256-bit vector of [8 x i32] containing the sign-extended
1448
1405
  /// values.
1449
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1450
- _mm256_cvtepi16_epi32(__m128i __V)
1451
- {
1406
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1407
+ _mm256_cvtepi16_epi32(__m128i __V) {
1452
1408
  return (__m256i)__builtin_convertvector((__v8hi)__V, __v8si);
1453
1409
  }
1454
1410
 
@@ -1471,9 +1427,8 @@ _mm256_cvtepi16_epi32(__m128i __V)
1471
1427
  /// A 128-bit vector of [8 x i16] containing the source values.
1472
1428
  /// \returns A 256-bit vector of [4 x i64] containing the sign-extended
1473
1429
  /// values.
1474
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1475
- _mm256_cvtepi16_epi64(__m128i __V)
1476
- {
1430
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1431
+ _mm256_cvtepi16_epi64(__m128i __V) {
1477
1432
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4di);
1478
1433
  }
1479
1434
 
@@ -1496,9 +1451,8 @@ _mm256_cvtepi16_epi64(__m128i __V)
1496
1451
  /// A 128-bit vector of [4 x i32] containing the source values.
1497
1452
  /// \returns A 256-bit vector of [4 x i64] containing the sign-extended
1498
1453
  /// values.
1499
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1500
- _mm256_cvtepi32_epi64(__m128i __V)
1501
- {
1454
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1455
+ _mm256_cvtepi32_epi64(__m128i __V) {
1502
1456
  return (__m256i)__builtin_convertvector((__v4si)__V, __v4di);
1503
1457
  }
1504
1458
 
@@ -1522,9 +1476,8 @@ _mm256_cvtepi32_epi64(__m128i __V)
1522
1476
  /// A 128-bit integer vector containing the source bytes.
1523
1477
  /// \returns A 256-bit vector of [16 x i16] containing the zero-extended
1524
1478
  /// values.
1525
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1526
- _mm256_cvtepu8_epi16(__m128i __V)
1527
- {
1479
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1480
+ _mm256_cvtepu8_epi16(__m128i __V) {
1528
1481
  return (__m256i)__builtin_convertvector((__v16qu)__V, __v16hi);
1529
1482
  }
1530
1483
 
@@ -1548,9 +1501,8 @@ _mm256_cvtepu8_epi16(__m128i __V)
1548
1501
  /// A 128-bit integer vector containing the source bytes.
1549
1502
  /// \returns A 256-bit vector of [8 x i32] containing the zero-extended
1550
1503
  /// values.
1551
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1552
- _mm256_cvtepu8_epi32(__m128i __V)
1553
- {
1504
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1505
+ _mm256_cvtepu8_epi32(__m128i __V) {
1554
1506
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
1555
1507
  }
1556
1508
 
@@ -1573,9 +1525,8 @@ _mm256_cvtepu8_epi32(__m128i __V)
1573
1525
  /// A 128-bit integer vector containing the source bytes.
1574
1526
  /// \returns A 256-bit vector of [4 x i64] containing the zero-extended
1575
1527
  /// values.
1576
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1577
- _mm256_cvtepu8_epi64(__m128i __V)
1578
- {
1528
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1529
+ _mm256_cvtepu8_epi64(__m128i __V) {
1579
1530
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4di);
1580
1531
  }
1581
1532
 
@@ -1599,9 +1550,8 @@ _mm256_cvtepu8_epi64(__m128i __V)
1599
1550
  /// A 128-bit vector of [8 x i16] containing the source values.
1600
1551
  /// \returns A 256-bit vector of [8 x i32] containing the zero-extended
1601
1552
  /// values.
1602
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1603
- _mm256_cvtepu16_epi32(__m128i __V)
1604
- {
1553
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1554
+ _mm256_cvtepu16_epi32(__m128i __V) {
1605
1555
  return (__m256i)__builtin_convertvector((__v8hu)__V, __v8si);
1606
1556
  }
1607
1557
 
@@ -1624,9 +1574,8 @@ _mm256_cvtepu16_epi32(__m128i __V)
1624
1574
  /// A 128-bit vector of [8 x i16] containing the source values.
1625
1575
  /// \returns A 256-bit vector of [4 x i64] containing the zero-extended
1626
1576
  /// values.
1627
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1628
- _mm256_cvtepu16_epi64(__m128i __V)
1629
- {
1577
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1578
+ _mm256_cvtepu16_epi64(__m128i __V) {
1630
1579
  return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4di);
1631
1580
  }
1632
1581
 
@@ -1649,9 +1598,8 @@ _mm256_cvtepu16_epi64(__m128i __V)
1649
1598
  /// A 128-bit vector of [4 x i32] containing the source values.
1650
1599
  /// \returns A 256-bit vector of [4 x i64] containing the zero-extended
1651
1600
  /// values.
1652
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1653
- _mm256_cvtepu32_epi64(__m128i __V)
1654
- {
1601
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1602
+ _mm256_cvtepu32_epi64(__m128i __V) {
1655
1603
  return (__m256i)__builtin_convertvector((__v4su)__V, __v4di);
1656
1604
  }
1657
1605
 
@@ -1675,9 +1623,8 @@ _mm256_cvtepu32_epi64(__m128i __V)
1675
1623
  /// \param __b
1676
1624
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
1677
1625
  /// \returns A 256-bit vector of [4 x i64] containing the products.
1678
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1679
- _mm256_mul_epi32(__m256i __a, __m256i __b)
1680
- {
1626
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1627
+ _mm256_mul_epi32(__m256i __a, __m256i __b) {
1681
1628
  return (__m256i)__builtin_ia32_pmuldq256((__v8si)__a, (__v8si)__b);
1682
1629
  }
1683
1630
 
@@ -1702,9 +1649,8 @@ _mm256_mul_epi32(__m256i __a, __m256i __b)
1702
1649
  /// \param __b
1703
1650
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1704
1651
  /// \returns A 256-bit vector of [16 x i16] containing the rounded products.
1705
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1706
- _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
1707
- {
1652
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1653
+ _mm256_mulhrs_epi16(__m256i __a, __m256i __b) {
1708
1654
  return (__m256i)__builtin_ia32_pmulhrsw256((__v16hi)__a, (__v16hi)__b);
1709
1655
  }
1710
1656
 
@@ -1721,10 +1667,9 @@ _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
1721
1667
  /// \param __b
1722
1668
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1723
1669
  /// \returns A 256-bit vector of [16 x i16] containing the products.
1724
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1725
- _mm256_mulhi_epu16(__m256i __a, __m256i __b)
1726
- {
1727
- return (__m256i)__builtin_ia32_pmulhuw256((__v16hi)__a, (__v16hi)__b);
1670
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1671
+ _mm256_mulhi_epu16(__m256i __a, __m256i __b) {
1672
+ return (__m256i)__builtin_ia32_pmulhuw256((__v16hu)__a, (__v16hu)__b);
1728
1673
  }
1729
1674
 
1730
1675
  /// Multiplies signed 16-bit integer elements of two 256-bit vectors of
@@ -1740,7 +1685,7 @@ _mm256_mulhi_epu16(__m256i __a, __m256i __b)
1740
1685
  /// \param __b
1741
1686
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1742
1687
  /// \returns A 256-bit vector of [16 x i16] containing the products.
1743
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1688
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1744
1689
  _mm256_mulhi_epi16(__m256i __a, __m256i __b)
1745
1690
  {
1746
1691
  return (__m256i)__builtin_ia32_pmulhw256((__v16hi)__a, (__v16hi)__b);
@@ -1759,7 +1704,7 @@ _mm256_mulhi_epi16(__m256i __a, __m256i __b)
1759
1704
  /// \param __b
1760
1705
  /// A 256-bit vector of [16 x i16] containing one of the source operands.
1761
1706
  /// \returns A 256-bit vector of [16 x i16] containing the products.
1762
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1707
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1763
1708
  _mm256_mullo_epi16(__m256i __a, __m256i __b)
1764
1709
  {
1765
1710
  return (__m256i)((__v16hu)__a * (__v16hu)__b);
@@ -1778,9 +1723,8 @@ _mm256_mullo_epi16(__m256i __a, __m256i __b)
1778
1723
  /// \param __b
1779
1724
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
1780
1725
  /// \returns A 256-bit vector of [8 x i32] containing the products.
1781
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1782
- _mm256_mullo_epi32 (__m256i __a, __m256i __b)
1783
- {
1726
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1727
+ _mm256_mullo_epi32(__m256i __a, __m256i __b) {
1784
1728
  return (__m256i)((__v8su)__a * (__v8su)__b);
1785
1729
  }
1786
1730
 
@@ -1804,9 +1748,8 @@ _mm256_mullo_epi32 (__m256i __a, __m256i __b)
1804
1748
  /// \param __b
1805
1749
  /// A 256-bit vector of [8 x i32] containing one of the source operands.
1806
1750
  /// \returns A 256-bit vector of [4 x i64] containing the products.
1807
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1808
- _mm256_mul_epu32(__m256i __a, __m256i __b)
1809
- {
1751
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1752
+ _mm256_mul_epu32(__m256i __a, __m256i __b) {
1810
1753
  return __builtin_ia32_pmuludq256((__v8si)__a, (__v8si)__b);
1811
1754
  }
1812
1755
 
@@ -1822,7 +1765,7 @@ _mm256_mul_epu32(__m256i __a, __m256i __b)
1822
1765
  /// \param __b
1823
1766
  /// A 256-bit integer vector.
1824
1767
  /// \returns A 256-bit integer vector containing the result.
1825
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1768
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1826
1769
  _mm256_or_si256(__m256i __a, __m256i __b)
1827
1770
  {
1828
1771
  return (__m256i)((__v4du)__a | (__v4du)__b);
@@ -1867,10 +1810,9 @@ _mm256_or_si256(__m256i __a, __m256i __b)
1867
1810
  /// \param __b
1868
1811
  /// A 256-bit integer vector.
1869
1812
  /// \returns A 256-bit integer vector containing the result.
1870
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1871
- _mm256_sad_epu8(__m256i __a, __m256i __b)
1872
- {
1873
- return __builtin_ia32_psadbw256((__v32qi)__a, (__v32qi)__b);
1813
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1814
+ _mm256_sad_epu8(__m256i __a, __m256i __b) {
1815
+ return __builtin_ia32_psadbw256((__v32qu)__a, (__v32qu)__b);
1874
1816
  }
1875
1817
 
1876
1818
  /// Shuffles 8-bit integers in the 256-bit integer vector \a __a according
@@ -1906,9 +1848,8 @@ _mm256_sad_epu8(__m256i __a, __m256i __b)
1906
1848
  /// control byte specify the index (within the same 128-bit half) of \a __a
1907
1849
  /// to copy to the result byte.
1908
1850
  /// \returns A 256-bit integer vector containing the result.
1909
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
1910
- _mm256_shuffle_epi8(__m256i __a, __m256i __b)
1911
- {
1851
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1852
+ _mm256_shuffle_epi8(__m256i __a, __m256i __b) {
1912
1853
  return (__m256i)__builtin_ia32_pshufb256((__v32qi)__a, (__v32qi)__b);
1913
1854
  }
1914
1855
 
@@ -2033,10 +1974,9 @@ _mm256_shuffle_epi8(__m256i __a, __m256i __b)
2033
1974
  /// \param __b
2034
1975
  /// A 256-bit integer vector].
2035
1976
  /// \returns A 256-bit integer vector containing the result.
2036
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2037
- _mm256_sign_epi8(__m256i __a, __m256i __b)
2038
- {
2039
- return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
1977
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1978
+ _mm256_sign_epi8(__m256i __a, __m256i __b) {
1979
+ return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
2040
1980
  }
2041
1981
 
2042
1982
  /// Sets each element of the result to the corresponding element of the
@@ -2054,10 +1994,9 @@ _mm256_sign_epi8(__m256i __a, __m256i __b)
2054
1994
  /// \param __b
2055
1995
  /// A 256-bit vector of [16 x i16].
2056
1996
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2057
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2058
- _mm256_sign_epi16(__m256i __a, __m256i __b)
2059
- {
2060
- return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
1997
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1998
+ _mm256_sign_epi16(__m256i __a, __m256i __b) {
1999
+ return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
2061
2000
  }
2062
2001
 
2063
2002
  /// Sets each element of the result to the corresponding element of the
@@ -2075,10 +2014,9 @@ _mm256_sign_epi16(__m256i __a, __m256i __b)
2075
2014
  /// \param __b
2076
2015
  /// A 256-bit vector of [8 x i32].
2077
2016
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2078
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2079
- _mm256_sign_epi32(__m256i __a, __m256i __b)
2080
- {
2081
- return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
2017
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2018
+ _mm256_sign_epi32(__m256i __a, __m256i __b) {
2019
+ return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
2082
2020
  }
2083
2021
 
2084
2022
  /// Shifts each 128-bit half of the 256-bit integer vector \a a left by
@@ -2098,8 +2036,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2098
2036
  /// \param imm
2099
2037
  /// An unsigned immediate value specifying the shift count (in bytes).
2100
2038
  /// \returns A 256-bit integer vector containing the result.
2101
- #define _mm256_slli_si256(a, imm) \
2102
- ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2039
+ #define _mm256_slli_si256(a, imm) \
2040
+ ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2041
+ (int)(imm)))
2103
2042
 
2104
2043
  /// Shifts each 128-bit half of the 256-bit integer vector \a a left by
2105
2044
  /// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
@@ -2118,8 +2057,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2118
2057
  /// \param imm
2119
2058
  /// An unsigned immediate value specifying the shift count (in bytes).
2120
2059
  /// \returns A 256-bit integer vector containing the result.
2121
- #define _mm256_bslli_epi128(a, imm) \
2122
- ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2060
+ #define _mm256_bslli_epi128(a, imm) \
2061
+ ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2062
+ (int)(imm)))
2123
2063
 
2124
2064
  /// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
2125
2065
  /// left by \a __count bits, shifting in zero bits, and returns the result.
@@ -2134,9 +2074,8 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2134
2074
  /// \param __count
2135
2075
  /// An unsigned integer value specifying the shift count (in bits).
2136
2076
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2137
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2138
- _mm256_slli_epi16(__m256i __a, int __count)
2139
- {
2077
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2078
+ _mm256_slli_epi16(__m256i __a, int __count) {
2140
2079
  return (__m256i)__builtin_ia32_psllwi256((__v16hi)__a, __count);
2141
2080
  }
2142
2081
 
@@ -2155,9 +2094,8 @@ _mm256_slli_epi16(__m256i __a, int __count)
2155
2094
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2156
2095
  /// shift count (in bits). The upper element is ignored.
2157
2096
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2158
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2159
- _mm256_sll_epi16(__m256i __a, __m128i __count)
2160
- {
2097
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2098
+ _mm256_sll_epi16(__m256i __a, __m128i __count) {
2161
2099
  return (__m256i)__builtin_ia32_psllw256((__v16hi)__a, (__v8hi)__count);
2162
2100
  }
2163
2101
 
@@ -2174,9 +2112,8 @@ _mm256_sll_epi16(__m256i __a, __m128i __count)
2174
2112
  /// \param __count
2175
2113
  /// An unsigned integer value specifying the shift count (in bits).
2176
2114
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2177
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2178
- _mm256_slli_epi32(__m256i __a, int __count)
2179
- {
2115
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2116
+ _mm256_slli_epi32(__m256i __a, int __count) {
2180
2117
  return (__m256i)__builtin_ia32_pslldi256((__v8si)__a, __count);
2181
2118
  }
2182
2119
 
@@ -2195,9 +2132,8 @@ _mm256_slli_epi32(__m256i __a, int __count)
2195
2132
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2196
2133
  /// shift count (in bits). The upper element is ignored.
2197
2134
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2198
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2199
- _mm256_sll_epi32(__m256i __a, __m128i __count)
2200
- {
2135
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2136
+ _mm256_sll_epi32(__m256i __a, __m128i __count) {
2201
2137
  return (__m256i)__builtin_ia32_pslld256((__v8si)__a, (__v4si)__count);
2202
2138
  }
2203
2139
 
@@ -2214,9 +2150,8 @@ _mm256_sll_epi32(__m256i __a, __m128i __count)
2214
2150
  /// \param __count
2215
2151
  /// An unsigned integer value specifying the shift count (in bits).
2216
2152
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2217
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2218
- _mm256_slli_epi64(__m256i __a, int __count)
2219
- {
2153
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2154
+ _mm256_slli_epi64(__m256i __a, int __count) {
2220
2155
  return __builtin_ia32_psllqi256((__v4di)__a, __count);
2221
2156
  }
2222
2157
 
@@ -2235,9 +2170,8 @@ _mm256_slli_epi64(__m256i __a, int __count)
2235
2170
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2236
2171
  /// shift count (in bits). The upper element is ignored.
2237
2172
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2238
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2239
- _mm256_sll_epi64(__m256i __a, __m128i __count)
2240
- {
2173
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2174
+ _mm256_sll_epi64(__m256i __a, __m128i __count) {
2241
2175
  return __builtin_ia32_psllq256((__v4di)__a, __count);
2242
2176
  }
2243
2177
 
@@ -2255,9 +2189,8 @@ _mm256_sll_epi64(__m256i __a, __m128i __count)
2255
2189
  /// \param __count
2256
2190
  /// An unsigned integer value specifying the shift count (in bits).
2257
2191
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2258
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2259
- _mm256_srai_epi16(__m256i __a, int __count)
2260
- {
2192
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2193
+ _mm256_srai_epi16(__m256i __a, int __count) {
2261
2194
  return (__m256i)__builtin_ia32_psrawi256((__v16hi)__a, __count);
2262
2195
  }
2263
2196
 
@@ -2277,9 +2210,8 @@ _mm256_srai_epi16(__m256i __a, int __count)
2277
2210
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2278
2211
  /// shift count (in bits). The upper element is ignored.
2279
2212
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2280
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2281
- _mm256_sra_epi16(__m256i __a, __m128i __count)
2282
- {
2213
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2214
+ _mm256_sra_epi16(__m256i __a, __m128i __count) {
2283
2215
  return (__m256i)__builtin_ia32_psraw256((__v16hi)__a, (__v8hi)__count);
2284
2216
  }
2285
2217
 
@@ -2297,9 +2229,8 @@ _mm256_sra_epi16(__m256i __a, __m128i __count)
2297
2229
  /// \param __count
2298
2230
  /// An unsigned integer value specifying the shift count (in bits).
2299
2231
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2300
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2301
- _mm256_srai_epi32(__m256i __a, int __count)
2302
- {
2232
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2233
+ _mm256_srai_epi32(__m256i __a, int __count) {
2303
2234
  return (__m256i)__builtin_ia32_psradi256((__v8si)__a, __count);
2304
2235
  }
2305
2236
 
@@ -2319,9 +2250,8 @@ _mm256_srai_epi32(__m256i __a, int __count)
2319
2250
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2320
2251
  /// shift count (in bits). The upper element is ignored.
2321
2252
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2322
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2323
- _mm256_sra_epi32(__m256i __a, __m128i __count)
2324
- {
2253
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2254
+ _mm256_sra_epi32(__m256i __a, __m128i __count) {
2325
2255
  return (__m256i)__builtin_ia32_psrad256((__v8si)__a, (__v4si)__count);
2326
2256
  }
2327
2257
 
@@ -2342,8 +2272,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2342
2272
  /// \param imm
2343
2273
  /// An unsigned immediate value specifying the shift count (in bytes).
2344
2274
  /// \returns A 256-bit integer vector containing the result.
2345
- #define _mm256_srli_si256(a, imm) \
2346
- ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))
2275
+ #define _mm256_srli_si256(a, imm) \
2276
+ ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2277
+ (int)(imm)))
2347
2278
 
2348
2279
  /// Shifts each 128-bit half of the 256-bit integer vector in \a a right by
2349
2280
  /// \a imm bytes, shifting in zero bytes, and returns the result. If
@@ -2362,8 +2293,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2362
2293
  /// \param imm
2363
2294
  /// An unsigned immediate value specifying the shift count (in bytes).
2364
2295
  /// \returns A 256-bit integer vector containing the result.
2365
- #define _mm256_bsrli_epi128(a, imm) \
2366
- ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))
2296
+ #define _mm256_bsrli_epi128(a, imm) \
2297
+ ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2298
+ (int)(imm)))
2367
2299
 
2368
2300
  /// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
2369
2301
  /// right by \a __count bits, shifting in zero bits, and returns the result.
@@ -2378,9 +2310,8 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2378
2310
  /// \param __count
2379
2311
  /// An unsigned integer value specifying the shift count (in bits).
2380
2312
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2381
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2382
- _mm256_srli_epi16(__m256i __a, int __count)
2383
- {
2313
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2314
+ _mm256_srli_epi16(__m256i __a, int __count) {
2384
2315
  return (__m256i)__builtin_ia32_psrlwi256((__v16hi)__a, __count);
2385
2316
  }
2386
2317
 
@@ -2399,9 +2330,8 @@ _mm256_srli_epi16(__m256i __a, int __count)
2399
2330
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2400
2331
  /// shift count (in bits). The upper element is ignored.
2401
2332
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2402
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2403
- _mm256_srl_epi16(__m256i __a, __m128i __count)
2404
- {
2333
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2334
+ _mm256_srl_epi16(__m256i __a, __m128i __count) {
2405
2335
  return (__m256i)__builtin_ia32_psrlw256((__v16hi)__a, (__v8hi)__count);
2406
2336
  }
2407
2337
 
@@ -2418,9 +2348,8 @@ _mm256_srl_epi16(__m256i __a, __m128i __count)
2418
2348
  /// \param __count
2419
2349
  /// An unsigned integer value specifying the shift count (in bits).
2420
2350
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2421
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2422
- _mm256_srli_epi32(__m256i __a, int __count)
2423
- {
2351
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2352
+ _mm256_srli_epi32(__m256i __a, int __count) {
2424
2353
  return (__m256i)__builtin_ia32_psrldi256((__v8si)__a, __count);
2425
2354
  }
2426
2355
 
@@ -2439,9 +2368,8 @@ _mm256_srli_epi32(__m256i __a, int __count)
2439
2368
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2440
2369
  /// shift count (in bits). The upper element is ignored.
2441
2370
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2442
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2443
- _mm256_srl_epi32(__m256i __a, __m128i __count)
2444
- {
2371
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2372
+ _mm256_srl_epi32(__m256i __a, __m128i __count) {
2445
2373
  return (__m256i)__builtin_ia32_psrld256((__v8si)__a, (__v4si)__count);
2446
2374
  }
2447
2375
 
@@ -2458,9 +2386,8 @@ _mm256_srl_epi32(__m256i __a, __m128i __count)
2458
2386
  /// \param __count
2459
2387
  /// An unsigned integer value specifying the shift count (in bits).
2460
2388
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2461
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2462
- _mm256_srli_epi64(__m256i __a, int __count)
2463
- {
2389
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2390
+ _mm256_srli_epi64(__m256i __a, int __count) {
2464
2391
  return __builtin_ia32_psrlqi256((__v4di)__a, __count);
2465
2392
  }
2466
2393
 
@@ -2479,9 +2406,8 @@ _mm256_srli_epi64(__m256i __a, int __count)
2479
2406
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2480
2407
  /// shift count (in bits). The upper element is ignored.
2481
2408
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2482
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2483
- _mm256_srl_epi64(__m256i __a, __m128i __count)
2484
- {
2409
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2410
+ _mm256_srl_epi64(__m256i __a, __m128i __count) {
2485
2411
  return __builtin_ia32_psrlq256((__v4di)__a, __count);
2486
2412
  }
2487
2413
 
@@ -2506,9 +2432,8 @@ _mm256_srl_epi64(__m256i __a, __m128i __count)
2506
2432
  /// \param __b
2507
2433
  /// A 256-bit integer vector containing the subtrahends.
2508
2434
  /// \returns A 256-bit integer vector containing the differences.
2509
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2510
- _mm256_sub_epi8(__m256i __a, __m256i __b)
2511
- {
2435
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2436
+ _mm256_sub_epi8(__m256i __a, __m256i __b) {
2512
2437
  return (__m256i)((__v32qu)__a - (__v32qu)__b);
2513
2438
  }
2514
2439
 
@@ -2533,9 +2458,8 @@ _mm256_sub_epi8(__m256i __a, __m256i __b)
2533
2458
  /// \param __b
2534
2459
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2535
2460
  /// \returns A 256-bit vector of [16 x i16] containing the differences.
2536
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2537
- _mm256_sub_epi16(__m256i __a, __m256i __b)
2538
- {
2461
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2462
+ _mm256_sub_epi16(__m256i __a, __m256i __b) {
2539
2463
  return (__m256i)((__v16hu)__a - (__v16hu)__b);
2540
2464
  }
2541
2465
 
@@ -2559,9 +2483,8 @@ _mm256_sub_epi16(__m256i __a, __m256i __b)
2559
2483
  /// \param __b
2560
2484
  /// A 256-bit vector of [8 x i32] containing the subtrahends.
2561
2485
  /// \returns A 256-bit vector of [8 x i32] containing the differences.
2562
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2563
- _mm256_sub_epi32(__m256i __a, __m256i __b)
2564
- {
2486
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2487
+ _mm256_sub_epi32(__m256i __a, __m256i __b) {
2565
2488
  return (__m256i)((__v8su)__a - (__v8su)__b);
2566
2489
  }
2567
2490
 
@@ -2585,9 +2508,8 @@ _mm256_sub_epi32(__m256i __a, __m256i __b)
2585
2508
  /// \param __b
2586
2509
  /// A 256-bit vector of [4 x i64] containing the subtrahends.
2587
2510
  /// \returns A 256-bit vector of [4 x i64] containing the differences.
2588
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2589
- _mm256_sub_epi64(__m256i __a, __m256i __b)
2590
- {
2511
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2512
+ _mm256_sub_epi64(__m256i __a, __m256i __b) {
2591
2513
  return (__m256i)((__v4du)__a - (__v4du)__b);
2592
2514
  }
2593
2515
 
@@ -2611,9 +2533,8 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
2611
2533
  /// \param __b
2612
2534
  /// A 256-bit integer vector containing the subtrahends.
2613
2535
  /// \returns A 256-bit integer vector containing the differences.
2614
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2615
- _mm256_subs_epi8(__m256i __a, __m256i __b)
2616
- {
2536
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2537
+ _mm256_subs_epi8(__m256i __a, __m256i __b) {
2617
2538
  return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
2618
2539
  }
2619
2540
 
@@ -2637,9 +2558,8 @@ _mm256_subs_epi8(__m256i __a, __m256i __b)
2637
2558
  /// \param __b
2638
2559
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2639
2560
  /// \returns A 256-bit vector of [16 x i16] containing the differences.
2640
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2641
- _mm256_subs_epi16(__m256i __a, __m256i __b)
2642
- {
2561
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2562
+ _mm256_subs_epi16(__m256i __a, __m256i __b) {
2643
2563
  return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
2644
2564
  }
2645
2565
 
@@ -2664,9 +2584,8 @@ _mm256_subs_epi16(__m256i __a, __m256i __b)
2664
2584
  /// \param __b
2665
2585
  /// A 256-bit integer vector containing the subtrahends.
2666
2586
  /// \returns A 256-bit integer vector containing the differences.
2667
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2668
- _mm256_subs_epu8(__m256i __a, __m256i __b)
2669
- {
2587
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2588
+ _mm256_subs_epu8(__m256i __a, __m256i __b) {
2670
2589
  return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
2671
2590
  }
2672
2591
 
@@ -2690,9 +2609,8 @@ _mm256_subs_epu8(__m256i __a, __m256i __b)
2690
2609
  /// \param __b
2691
2610
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2692
2611
  /// \returns A 256-bit vector of [16 x i16] containing the differences.
2693
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2694
- _mm256_subs_epu16(__m256i __a, __m256i __b)
2695
- {
2612
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2613
+ _mm256_subs_epu16(__m256i __a, __m256i __b) {
2696
2614
  return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
2697
2615
  }
2698
2616
 
@@ -2724,9 +2642,8 @@ _mm256_subs_epu16(__m256i __a, __m256i __b)
2724
2642
  /// A 256-bit integer vector used as the source for the odd-numbered bytes
2725
2643
  /// of the result.
2726
2644
  /// \returns A 256-bit integer vector containing the result.
2727
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2728
- _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
2729
- {
2645
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2646
+ _mm256_unpackhi_epi8(__m256i __a, __m256i __b) {
2730
2647
  return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 8, 32+8, 9, 32+9, 10, 32+10, 11, 32+11, 12, 32+12, 13, 32+13, 14, 32+14, 15, 32+15, 24, 32+24, 25, 32+25, 26, 32+26, 27, 32+27, 28, 32+28, 29, 32+29, 30, 32+30, 31, 32+31);
2731
2648
  }
2732
2649
 
@@ -2759,9 +2676,8 @@ _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
2759
2676
  /// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
2760
2677
  /// elements of the result.
2761
2678
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2762
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2763
- _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
2764
- {
2679
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2680
+ _mm256_unpackhi_epi16(__m256i __a, __m256i __b) {
2765
2681
  return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15);
2766
2682
  }
2767
2683
 
@@ -2793,9 +2709,8 @@ _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
2793
2709
  /// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
2794
2710
  /// elements of the result.
2795
2711
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2796
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2797
- _mm256_unpackhi_epi32(__m256i __a, __m256i __b)
2798
- {
2712
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2713
+ _mm256_unpackhi_epi32(__m256i __a, __m256i __b) {
2799
2714
  return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 2, 8+2, 3, 8+3, 6, 8+6, 7, 8+7);
2800
2715
  }
2801
2716
 
@@ -2823,9 +2738,8 @@ _mm256_unpackhi_epi32(__m256i __a, __m256i __b)
2823
2738
  /// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
2824
2739
  /// elements of the result.
2825
2740
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2826
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2827
- _mm256_unpackhi_epi64(__m256i __a, __m256i __b)
2828
- {
2741
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2742
+ _mm256_unpackhi_epi64(__m256i __a, __m256i __b) {
2829
2743
  return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 1, 4+1, 3, 4+3);
2830
2744
  }
2831
2745
 
@@ -2857,9 +2771,8 @@ _mm256_unpackhi_epi64(__m256i __a, __m256i __b)
2857
2771
  /// A 256-bit integer vector used as the source for the odd-numbered bytes
2858
2772
  /// of the result.
2859
2773
  /// \returns A 256-bit integer vector containing the result.
2860
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2861
- _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
2862
- {
2774
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2775
+ _mm256_unpacklo_epi8(__m256i __a, __m256i __b) {
2863
2776
  return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 0, 32+0, 1, 32+1, 2, 32+2, 3, 32+3, 4, 32+4, 5, 32+5, 6, 32+6, 7, 32+7, 16, 32+16, 17, 32+17, 18, 32+18, 19, 32+19, 20, 32+20, 21, 32+21, 22, 32+22, 23, 32+23);
2864
2777
  }
2865
2778
 
@@ -2892,9 +2805,8 @@ _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
2892
2805
  /// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
2893
2806
  /// elements of the result.
2894
2807
  /// \returns A 256-bit vector of [16 x i16] containing the result.
2895
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2896
- _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
2897
- {
2808
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2809
+ _mm256_unpacklo_epi16(__m256i __a, __m256i __b) {
2898
2810
  return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11);
2899
2811
  }
2900
2812
 
@@ -2926,9 +2838,8 @@ _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
2926
2838
  /// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
2927
2839
  /// elements of the result.
2928
2840
  /// \returns A 256-bit vector of [8 x i32] containing the result.
2929
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2930
- _mm256_unpacklo_epi32(__m256i __a, __m256i __b)
2931
- {
2841
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2842
+ _mm256_unpacklo_epi32(__m256i __a, __m256i __b) {
2932
2843
  return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 0, 8+0, 1, 8+1, 4, 8+4, 5, 8+5);
2933
2844
  }
2934
2845
 
@@ -2956,9 +2867,8 @@ _mm256_unpacklo_epi32(__m256i __a, __m256i __b)
2956
2867
  /// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
2957
2868
  /// elements of the result.
2958
2869
  /// \returns A 256-bit vector of [4 x i64] containing the result.
2959
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2960
- _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
2961
- {
2870
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2871
+ _mm256_unpacklo_epi64(__m256i __a, __m256i __b) {
2962
2872
  return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 0, 4+0, 2, 4+2);
2963
2873
  }
2964
2874
 
@@ -2974,7 +2884,7 @@ _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
2974
2884
  /// \param __b
2975
2885
  /// A 256-bit integer vector.
2976
2886
  /// \returns A 256-bit integer vector containing the result.
2977
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2887
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2978
2888
  _mm256_xor_si256(__m256i __a, __m256i __b)
2979
2889
  {
2980
2890
  return (__m256i)((__v4du)__a ^ (__v4du)__b);
@@ -3009,9 +2919,8 @@ _mm256_stream_load_si256(const void *__V)
3009
2919
  /// \param __X
3010
2920
  /// A 128-bit vector of [4 x float] whose low element will be broadcast.
3011
2921
  /// \returns A 128-bit vector of [4 x float] containing the result.
3012
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
3013
- _mm_broadcastss_ps(__m128 __X)
3014
- {
2922
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2923
+ _mm_broadcastss_ps(__m128 __X) {
3015
2924
  return (__m128)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0);
3016
2925
  }
3017
2926
 
@@ -3026,9 +2935,8 @@ _mm_broadcastss_ps(__m128 __X)
3026
2935
  /// \param __a
3027
2936
  /// A 128-bit vector of [2 x double] whose low element will be broadcast.
3028
2937
  /// \returns A 128-bit vector of [2 x double] containing the result.
3029
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
3030
- _mm_broadcastsd_pd(__m128d __a)
3031
- {
2938
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2939
+ _mm_broadcastsd_pd(__m128d __a) {
3032
2940
  return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
3033
2941
  }
3034
2942
 
@@ -3043,9 +2951,8 @@ _mm_broadcastsd_pd(__m128d __a)
3043
2951
  /// \param __X
3044
2952
  /// A 128-bit vector of [4 x float] whose low element will be broadcast.
3045
2953
  /// \returns A 256-bit vector of [8 x float] containing the result.
3046
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
3047
- _mm256_broadcastss_ps(__m128 __X)
3048
- {
2954
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2955
+ _mm256_broadcastss_ps(__m128 __X) {
3049
2956
  return (__m256)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3050
2957
  }
3051
2958
 
@@ -3060,9 +2967,8 @@ _mm256_broadcastss_ps(__m128 __X)
3060
2967
  /// \param __X
3061
2968
  /// A 128-bit vector of [2 x double] whose low element will be broadcast.
3062
2969
  /// \returns A 256-bit vector of [4 x double] containing the result.
3063
- static __inline__ __m256d __DEFAULT_FN_ATTRS256
3064
- _mm256_broadcastsd_pd(__m128d __X)
3065
- {
2970
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2971
+ _mm256_broadcastsd_pd(__m128d __X) {
3066
2972
  return (__m256d)__builtin_shufflevector((__v2df)__X, (__v2df)__X, 0, 0, 0, 0);
3067
2973
  }
3068
2974
 
@@ -3076,9 +2982,8 @@ _mm256_broadcastsd_pd(__m128d __X)
3076
2982
  /// \param __X
3077
2983
  /// A 128-bit integer vector to be broadcast.
3078
2984
  /// \returns A 256-bit integer vector containing the result.
3079
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3080
- _mm256_broadcastsi128_si256(__m128i __X)
3081
- {
2985
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2986
+ _mm256_broadcastsi128_si256(__m128i __X) {
3082
2987
  return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 1, 0, 1);
3083
2988
  }
3084
2989
 
@@ -3152,7 +3057,7 @@ _mm256_broadcastsi128_si256(__m128i __X)
3152
3057
  /// An immediate 8-bit integer operand, with bits [7:0] specifying the
3153
3058
  /// source for each element of the result. The position of the mask bit
3154
3059
  /// corresponds to the index of a copied value. When a mask bit is 0, the
3155
- /// element is copied from \a V1; otherwise, it is is copied from \a V2.
3060
+ /// element is copied from \a V1; otherwise, it is copied from \a V2.
3156
3061
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3157
3062
  #define _mm256_blend_epi32(V1, V2, M) \
3158
3063
  ((__m256i)__builtin_ia32_pblendd256((__v8si)(__m256i)(V1), \
@@ -3168,9 +3073,8 @@ _mm256_broadcastsi128_si256(__m128i __X)
3168
3073
  /// \param __X
3169
3074
  /// A 128-bit integer vector whose low byte will be broadcast.
3170
3075
  /// \returns A 256-bit integer vector containing the result.
3171
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3172
- _mm256_broadcastb_epi8(__m128i __X)
3173
- {
3076
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3077
+ _mm256_broadcastb_epi8(__m128i __X) {
3174
3078
  return (__m256i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
3175
3079
  }
3176
3080
 
@@ -3184,9 +3088,8 @@ _mm256_broadcastb_epi8(__m128i __X)
3184
3088
  /// \param __X
3185
3089
  /// A 128-bit vector of [8 x i16] whose low element will be broadcast.
3186
3090
  /// \returns A 256-bit vector of [16 x i16] containing the result.
3187
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3188
- _mm256_broadcastw_epi16(__m128i __X)
3189
- {
3091
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3092
+ _mm256_broadcastw_epi16(__m128i __X) {
3190
3093
  return (__m256i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
3191
3094
  }
3192
3095
 
@@ -3200,9 +3103,8 @@ _mm256_broadcastw_epi16(__m128i __X)
3200
3103
  /// \param __X
3201
3104
  /// A 128-bit vector of [4 x i32] whose low element will be broadcast.
3202
3105
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3203
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3204
- _mm256_broadcastd_epi32(__m128i __X)
3205
- {
3106
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3107
+ _mm256_broadcastd_epi32(__m128i __X) {
3206
3108
  return (__m256i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3207
3109
  }
3208
3110
 
@@ -3216,9 +3118,8 @@ _mm256_broadcastd_epi32(__m128i __X)
3216
3118
  /// \param __X
3217
3119
  /// A 128-bit vector of [2 x i64] whose low element will be broadcast.
3218
3120
  /// \returns A 256-bit vector of [4 x i64] containing the result.
3219
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3220
- _mm256_broadcastq_epi64(__m128i __X)
3221
- {
3121
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3122
+ _mm256_broadcastq_epi64(__m128i __X) {
3222
3123
  return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0, 0, 0);
3223
3124
  }
3224
3125
 
@@ -3232,9 +3133,8 @@ _mm256_broadcastq_epi64(__m128i __X)
3232
3133
  /// \param __X
3233
3134
  /// A 128-bit integer vector whose low byte will be broadcast.
3234
3135
  /// \returns A 128-bit integer vector containing the result.
3235
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3236
- _mm_broadcastb_epi8(__m128i __X)
3237
- {
3136
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3137
+ _mm_broadcastb_epi8(__m128i __X) {
3238
3138
  return (__m128i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
3239
3139
  }
3240
3140
 
@@ -3248,9 +3148,8 @@ _mm_broadcastb_epi8(__m128i __X)
3248
3148
  /// \param __X
3249
3149
  /// A 128-bit vector of [8 x i16] whose low element will be broadcast.
3250
3150
  /// \returns A 128-bit vector of [8 x i16] containing the result.
3251
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3252
- _mm_broadcastw_epi16(__m128i __X)
3253
- {
3151
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3152
+ _mm_broadcastw_epi16(__m128i __X) {
3254
3153
  return (__m128i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3255
3154
  }
3256
3155
 
@@ -3264,9 +3163,8 @@ _mm_broadcastw_epi16(__m128i __X)
3264
3163
  /// \param __X
3265
3164
  /// A 128-bit vector of [4 x i32] whose low element will be broadcast.
3266
3165
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3267
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3268
- _mm_broadcastd_epi32(__m128i __X)
3269
- {
3166
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3167
+ _mm_broadcastd_epi32(__m128i __X) {
3270
3168
  return (__m128i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0);
3271
3169
  }
3272
3170
 
@@ -3280,9 +3178,8 @@ _mm_broadcastd_epi32(__m128i __X)
3280
3178
  /// \param __X
3281
3179
  /// A 128-bit vector of [2 x i64] whose low element will be broadcast.
3282
3180
  /// \returns A 128-bit vector of [2 x i64] containing the result.
3283
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3284
- _mm_broadcastq_epi64(__m128i __X)
3285
- {
3181
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3182
+ _mm_broadcastq_epi64(__m128i __X) {
3286
3183
  return (__m128i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0);
3287
3184
  }
3288
3185
 
@@ -3308,9 +3205,8 @@ _mm_broadcastq_epi64(__m128i __X)
3308
3205
  /// A 256-bit vector of [8 x i32] containing indexes of values to use from
3309
3206
  /// \a __a.
3310
3207
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3311
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3312
- _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
3313
- {
3208
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3209
+ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b) {
3314
3210
  return (__m256i)__builtin_ia32_permvarsi256((__v8si)__a, (__v8si)__b);
3315
3211
  }
3316
3212
 
@@ -3366,9 +3262,8 @@ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
3366
3262
  /// A 256-bit vector of [8 x i32] containing indexes of values to use from
3367
3263
  /// \a __a.
3368
3264
  /// \returns A 256-bit vector of [8 x float] containing the result.
3369
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
3370
- _mm256_permutevar8x32_ps(__m256 __a, __m256i __b)
3371
- {
3265
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3266
+ _mm256_permutevar8x32_ps(__m256 __a, __m256i __b) {
3372
3267
  return (__m256)__builtin_ia32_permvarsf256((__v8sf)__a, (__v8si)__b);
3373
3268
  }
3374
3269
 
@@ -3756,7 +3651,7 @@ _mm_maskstore_epi64(long long *__X, __m128i __M, __m128i __Y)
3756
3651
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3757
3652
  /// bits).
3758
3653
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3759
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3654
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3760
3655
  _mm256_sllv_epi32(__m256i __X, __m256i __Y)
3761
3656
  {
3762
3657
  return (__m256i)__builtin_ia32_psllv8si((__v8si)__X, (__v8si)__Y);
@@ -3778,7 +3673,7 @@ _mm256_sllv_epi32(__m256i __X, __m256i __Y)
3778
3673
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3779
3674
  /// bits).
3780
3675
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3781
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3676
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3782
3677
  _mm_sllv_epi32(__m128i __X, __m128i __Y)
3783
3678
  {
3784
3679
  return (__m128i)__builtin_ia32_psllv4si((__v4si)__X, (__v4si)__Y);
@@ -3800,7 +3695,7 @@ _mm_sllv_epi32(__m128i __X, __m128i __Y)
3800
3695
  /// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
3801
3696
  /// bits).
3802
3697
  /// \returns A 256-bit vector of [4 x i64] containing the result.
3803
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3698
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3804
3699
  _mm256_sllv_epi64(__m256i __X, __m256i __Y)
3805
3700
  {
3806
3701
  return (__m256i)__builtin_ia32_psllv4di((__v4di)__X, (__v4di)__Y);
@@ -3822,7 +3717,7 @@ _mm256_sllv_epi64(__m256i __X, __m256i __Y)
3822
3717
  /// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
3823
3718
  /// bits).
3824
3719
  /// \returns A 128-bit vector of [2 x i64] containing the result.
3825
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3720
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3826
3721
  _mm_sllv_epi64(__m128i __X, __m128i __Y)
3827
3722
  {
3828
3723
  return (__m128i)__builtin_ia32_psllv2di((__v2di)__X, (__v2di)__Y);
@@ -3845,7 +3740,7 @@ _mm_sllv_epi64(__m128i __X, __m128i __Y)
3845
3740
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3846
3741
  /// bits).
3847
3742
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3848
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3743
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3849
3744
  _mm256_srav_epi32(__m256i __X, __m256i __Y)
3850
3745
  {
3851
3746
  return (__m256i)__builtin_ia32_psrav8si((__v8si)__X, (__v8si)__Y);
@@ -3868,7 +3763,7 @@ _mm256_srav_epi32(__m256i __X, __m256i __Y)
3868
3763
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3869
3764
  /// bits).
3870
3765
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3871
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3766
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3872
3767
  _mm_srav_epi32(__m128i __X, __m128i __Y)
3873
3768
  {
3874
3769
  return (__m128i)__builtin_ia32_psrav4si((__v4si)__X, (__v4si)__Y);
@@ -3890,7 +3785,7 @@ _mm_srav_epi32(__m128i __X, __m128i __Y)
3890
3785
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3891
3786
  /// bits).
3892
3787
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3893
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3788
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3894
3789
  _mm256_srlv_epi32(__m256i __X, __m256i __Y)
3895
3790
  {
3896
3791
  return (__m256i)__builtin_ia32_psrlv8si((__v8si)__X, (__v8si)__Y);
@@ -3912,7 +3807,7 @@ _mm256_srlv_epi32(__m256i __X, __m256i __Y)
3912
3807
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3913
3808
  /// bits).
3914
3809
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3915
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3810
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3916
3811
  _mm_srlv_epi32(__m128i __X, __m128i __Y)
3917
3812
  {
3918
3813
  return (__m128i)__builtin_ia32_psrlv4si((__v4si)__X, (__v4si)__Y);
@@ -3934,7 +3829,7 @@ _mm_srlv_epi32(__m128i __X, __m128i __Y)
3934
3829
  /// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
3935
3830
  /// bits).
3936
3831
  /// \returns A 256-bit vector of [4 x i64] containing the result.
3937
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3832
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3938
3833
  _mm256_srlv_epi64(__m256i __X, __m256i __Y)
3939
3834
  {
3940
3835
  return (__m256i)__builtin_ia32_psrlv4di((__v4di)__X, (__v4di)__Y);
@@ -3956,7 +3851,7 @@ _mm256_srlv_epi64(__m256i __X, __m256i __Y)
3956
3851
  /// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
3957
3852
  /// bits).
3958
3853
  /// \returns A 128-bit vector of [2 x i64] containing the result.
3959
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3854
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3960
3855
  _mm_srlv_epi64(__m128i __X, __m128i __Y)
3961
3856
  {
3962
3857
  return (__m128i)__builtin_ia32_psrlv2di((__v2di)__X, (__v2di)__Y);
@@ -5289,5 +5184,7 @@ _mm_srlv_epi64(__m128i __X, __m128i __Y)
5289
5184
 
5290
5185
  #undef __DEFAULT_FN_ATTRS256
5291
5186
  #undef __DEFAULT_FN_ATTRS128
5187
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
5188
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
5292
5189
 
5293
5190
  #endif /* __AVX2INTRIN_H */