@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.296

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 (1103) hide show
  1. package/c/fcntl.zig +6 -1
  2. package/c/inttypes.zig +0 -10
  3. package/c/math.zig +52 -112
  4. package/c/pthread.zig +57 -0
  5. package/c/search.zig +1 -27
  6. package/c/stdlib/drand48.zig +0 -57
  7. package/c/stdlib.zig +31 -121
  8. package/c/string.zig +20 -7
  9. package/c/strings.zig +0 -38
  10. package/c/unistd.zig +27 -26
  11. package/c/wchar.zig +10 -0
  12. package/c.zig +2 -2
  13. package/compiler/aro/aro/CodeGen.zig +7 -8
  14. package/compiler/aro/aro/Compilation.zig +17 -17
  15. package/compiler/aro/aro/Driver.zig +14 -13
  16. package/compiler/aro/aro/Parser.zig +20 -15
  17. package/compiler/aro/aro/Pragma.zig +3 -2
  18. package/compiler/aro/aro/Preprocessor.zig +9 -6
  19. package/compiler/aro/aro/pragmas/message.zig +3 -2
  20. package/compiler/aro/aro/text_literal.zig +3 -2
  21. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  22. package/compiler/build_runner.zig +2 -4
  23. package/compiler/reduce/Walk.zig +8 -13
  24. package/compiler/resinator/compile.zig +1 -1
  25. package/compiler/resinator/cvtres.zig +4 -4
  26. package/compiler/resinator/errors.zig +7 -7
  27. package/compiler/resinator/ico.zig +4 -4
  28. package/compiler/resinator/parse.zig +2 -2
  29. package/compiler/resinator/res.zig +1 -1
  30. package/compiler/std-docs.zig +1 -1
  31. package/compiler/test_runner.zig +1 -1
  32. package/compiler/translate-c/MacroTranslator.zig +1 -1
  33. package/compiler/translate-c/Translator.zig +6 -2
  34. package/compiler/translate-c/ast.zig +16 -23
  35. package/compiler/translate-c/main.zig +1 -1
  36. package/compiler_rt/addf3.zig +1 -1
  37. package/compiler_rt/arm.zig +3 -3
  38. package/compiler_rt/atomics.zig +1 -1
  39. package/compiler_rt/comparef.zig +3 -3
  40. package/compiler_rt/cos.zig +1 -3
  41. package/compiler_rt/count0bits.zig +1 -1
  42. package/compiler_rt/divdf3.zig +2 -2
  43. package/compiler_rt/divsf3.zig +1 -1
  44. package/compiler_rt/divtf3.zig +1 -1
  45. package/compiler_rt/divxf3.zig +1 -1
  46. package/compiler_rt/exp.zig +0 -2
  47. package/compiler_rt/exp2.zig +0 -2
  48. package/compiler_rt/extendf.zig +5 -5
  49. package/compiler_rt/fabs.zig +1 -3
  50. package/compiler_rt/float_from_int.zig +3 -4
  51. package/compiler_rt/fma.zig +0 -2
  52. package/compiler_rt/fmax.zig +1 -3
  53. package/compiler_rt/fmin.zig +1 -3
  54. package/compiler_rt/fmod.zig +2 -4
  55. package/compiler_rt/limb64.zig +3 -2
  56. package/compiler_rt/log.zig +0 -2
  57. package/compiler_rt/log10.zig +0 -2
  58. package/compiler_rt/log2.zig +0 -2
  59. package/compiler_rt/mulf3.zig +2 -2
  60. package/compiler_rt/rem_pio2l.zig +1 -1
  61. package/compiler_rt/round.zig +0 -2
  62. package/compiler_rt/sin.zig +1 -3
  63. package/compiler_rt/sincos.zig +1 -3
  64. package/compiler_rt/sqrt.zig +0 -2
  65. package/compiler_rt/ssp.zig +2 -2
  66. package/compiler_rt/tan.zig +1 -3
  67. package/compiler_rt/trunc.zig +0 -2
  68. package/compiler_rt/truncf.zig +3 -3
  69. package/compiler_rt/trunctfhf2.zig +3 -0
  70. package/compiler_rt.zig +5 -26
  71. package/docs/wasm/Walk.zig +1 -3
  72. package/docs/wasm/html_render.zig +1 -2
  73. package/docs/wasm/markdown/Parser.zig +16 -20
  74. package/fuzzer.zig +2 -0
  75. package/include/__clang_spirv_builtins.h +12 -12
  76. package/include/__float_float.h +176 -0
  77. package/include/__float_header_macro.h +12 -0
  78. package/include/__float_infinity_nan.h +20 -0
  79. package/include/amo.h +131 -0
  80. package/include/amxavx512intrin.h +215 -1
  81. package/include/amxintrin.h +0 -2
  82. package/include/arm_acle.h +37 -27
  83. package/include/arm_neon.h +218 -82
  84. package/include/arm_sme.h +8 -8
  85. package/include/arm_sve.h +4162 -3782
  86. package/include/avx10_2_512bf16intrin.h +19 -12
  87. package/include/avx10_2_512convertintrin.h +1 -1
  88. package/include/avx10_2_512niintrin.h +31 -31
  89. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  90. package/include/avx10_2bf16intrin.h +54 -45
  91. package/include/avx10_2convertintrin.h +2 -2
  92. package/include/avx10_2copyintrin.h +1 -1
  93. package/include/avx10_2niintrin.h +14 -14
  94. package/include/avx10_2satcvtdsintrin.h +2 -2
  95. package/include/avx2intrin.h +275 -377
  96. package/include/avx512bf16intrin.h +25 -16
  97. package/include/avx512bitalgintrin.h +19 -30
  98. package/include/avx512bwintrin.h +386 -505
  99. package/include/avx512cdintrin.h +42 -55
  100. package/include/avx512dqintrin.h +132 -161
  101. package/include/avx512fintrin.h +1015 -1424
  102. package/include/avx512fp16intrin.h +112 -110
  103. package/include/avx512ifmaintrin.h +32 -34
  104. package/include/avx512ifmavlintrin.h +73 -46
  105. package/include/avx512vbmi2intrin.h +43 -32
  106. package/include/avx512vbmiintrin.h +19 -27
  107. package/include/avx512vbmivlintrin.h +35 -49
  108. package/include/avx512vlbf16intrin.h +32 -22
  109. package/include/avx512vlbitalgintrin.h +37 -53
  110. package/include/avx512vlbwintrin.h +470 -573
  111. package/include/avx512vlcdintrin.h +74 -102
  112. package/include/avx512vldqintrin.h +110 -127
  113. package/include/avx512vlfp16intrin.h +130 -111
  114. package/include/avx512vlintrin.h +945 -1299
  115. package/include/avx512vlvbmi2intrin.h +78 -63
  116. package/include/avx512vlvnniintrin.h +21 -18
  117. package/include/avx512vlvp2intersectintrin.h +2 -2
  118. package/include/avx512vnniintrin.h +10 -10
  119. package/include/avx512vp2intersectintrin.h +1 -2
  120. package/include/avx512vpopcntdqintrin.h +8 -10
  121. package/include/avx512vpopcntdqvlintrin.h +17 -15
  122. package/include/avxifmaintrin.h +16 -0
  123. package/include/avxintrin.h +165 -241
  124. package/include/avxvnniint16intrin.h +118 -99
  125. package/include/avxvnniint8intrin.h +56 -32
  126. package/include/avxvnniintrin.h +16 -8
  127. package/include/cpuid.h +101 -4
  128. package/include/emmintrin.h +168 -168
  129. package/include/f16cintrin.h +23 -9
  130. package/include/float.h +16 -155
  131. package/include/fma4intrin.h +98 -96
  132. package/include/fmaintrin.h +96 -66
  133. package/include/gfniintrin.h +21 -16
  134. package/include/hexagon_types.h +23 -20
  135. package/include/hvx_hexagon_protos.h +649 -860
  136. package/include/immintrin.h +0 -12
  137. package/include/intrin.h +4 -0
  138. package/include/lasxintrin.h +113 -0
  139. package/include/llvm_libc_wrappers/assert.h +3 -5
  140. package/include/llvm_libc_wrappers/ctype.h +3 -115
  141. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  142. package/include/llvm_libc_wrappers/stdio.h +10 -38
  143. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  144. package/include/llvm_libc_wrappers/string.h +2 -70
  145. package/include/llvm_libc_wrappers/time.h +4 -10
  146. package/include/mmintrin.h +188 -257
  147. package/include/module.modulemap +23 -4
  148. package/include/movrs_avx10_2_512intrin.h +2 -2
  149. package/include/movrs_avx10_2intrin.h +4 -4
  150. package/include/pmmintrin.h +12 -24
  151. package/include/ptrauth.h +16 -2
  152. package/include/riscv_mips.h +34 -0
  153. package/include/riscv_nds.h +89 -0
  154. package/include/sifive_vector.h +58 -2
  155. package/include/sm4evexintrin.h +2 -2
  156. package/include/smmintrin.h +77 -59
  157. package/include/spirvintrin.h +194 -0
  158. package/include/stddefer.h +19 -0
  159. package/include/tmmintrin.h +116 -147
  160. package/include/vaesintrin.h +1 -2
  161. package/include/xmmintrin.h +44 -70
  162. package/include/xopintrin.h +20 -10
  163. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  164. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  165. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  166. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  167. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  168. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  169. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  170. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  171. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  172. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  173. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  174. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  175. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  176. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  177. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  178. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  179. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  180. package/libc/include/any-linux-any/linux/elf.h +2 -0
  181. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  182. package/libc/include/any-linux-any/linux/fs.h +1 -0
  183. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  184. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  185. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  186. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  187. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  188. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  189. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  190. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  191. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  192. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  193. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  194. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  195. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  196. package/libc/include/any-linux-any/linux/magic.h +1 -0
  197. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  198. package/libc/include/any-linux-any/linux/mount.h +11 -2
  199. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  200. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  201. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  202. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  203. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  204. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  205. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  206. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  207. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  208. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  209. package/libc/include/any-linux-any/linux/pci.h +7 -0
  210. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  211. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  212. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  213. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  214. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  215. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  216. package/libc/include/any-linux-any/linux/shm.h +0 -1
  217. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  218. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  219. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  220. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  221. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  222. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  223. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  224. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  225. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  226. package/libc/include/any-linux-any/linux/version.h +3 -3
  227. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  228. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  229. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  230. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  231. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  232. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  233. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  234. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  235. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  236. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  237. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  238. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  239. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  240. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  241. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  242. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  243. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  244. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  245. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  246. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  247. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  248. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  249. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  250. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  251. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  252. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  253. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  254. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  255. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  256. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  257. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  258. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  259. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  260. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  261. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  262. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  263. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  264. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  265. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  266. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  267. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  268. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  269. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  270. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  271. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  272. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  273. package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
  274. package/libcxx/include/__algorithm/all_of.h +11 -5
  275. package/libcxx/include/__algorithm/comp.h +4 -0
  276. package/libcxx/include/__algorithm/copy.h +28 -147
  277. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  278. package/libcxx/include/__algorithm/copy_n.h +50 -16
  279. package/libcxx/include/__algorithm/count.h +2 -2
  280. package/libcxx/include/__algorithm/equal.h +43 -55
  281. package/libcxx/include/__algorithm/fill.h +26 -8
  282. package/libcxx/include/__algorithm/fill_n.h +32 -46
  283. package/libcxx/include/__algorithm/find.h +96 -39
  284. package/libcxx/include/__algorithm/find_end.h +105 -0
  285. package/libcxx/include/__algorithm/for_each.h +18 -24
  286. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  287. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  288. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  289. package/libcxx/include/__algorithm/generate.h +4 -2
  290. package/libcxx/include/__algorithm/generate_n.h +19 -6
  291. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  292. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  293. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  294. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  295. package/libcxx/include/__algorithm/make_heap.h +16 -4
  296. package/libcxx/include/__algorithm/mismatch.h +2 -2
  297. package/libcxx/include/__algorithm/move.h +8 -19
  298. package/libcxx/include/__algorithm/move_backward.h +9 -24
  299. package/libcxx/include/__algorithm/none_of.h +4 -4
  300. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  301. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  302. package/libcxx/include/__algorithm/pstl.h +9 -9
  303. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  304. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  305. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  306. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  307. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  308. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  309. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  310. package/libcxx/include/__algorithm/rotate.h +27 -44
  311. package/libcxx/include/__algorithm/search_n.h +49 -37
  312. package/libcxx/include/__algorithm/sift_down.h +19 -18
  313. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  314. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  315. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  316. package/libcxx/include/__assertion_handler +31 -4
  317. package/libcxx/include/__atomic/atomic.h +36 -60
  318. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  319. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  320. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  321. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  322. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  323. package/libcxx/include/__atomic/contention_t.h +27 -3
  324. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  325. package/libcxx/include/__bit/countl.h +1 -2
  326. package/libcxx/include/__bit/countr.h +1 -2
  327. package/libcxx/include/__bit/has_single_bit.h +1 -1
  328. package/libcxx/include/__bit/popcount.h +0 -1
  329. package/libcxx/include/__bit/rotate.h +15 -26
  330. package/libcxx/include/__bit_reference +207 -18
  331. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  332. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  333. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  334. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  335. package/libcxx/include/__charconv/traits.h +3 -24
  336. package/libcxx/include/__chrono/day.h +11 -0
  337. package/libcxx/include/__chrono/duration.h +58 -33
  338. package/libcxx/include/__chrono/file_clock.h +4 -2
  339. package/libcxx/include/__chrono/is_clock.h +72 -0
  340. package/libcxx/include/__chrono/leap_second.h +13 -0
  341. package/libcxx/include/__chrono/month.h +13 -0
  342. package/libcxx/include/__chrono/month_weekday.h +22 -0
  343. package/libcxx/include/__chrono/monthday.h +20 -0
  344. package/libcxx/include/__chrono/steady_clock.h +1 -1
  345. package/libcxx/include/__chrono/system_clock.h +3 -3
  346. package/libcxx/include/__chrono/time_point.h +37 -13
  347. package/libcxx/include/__chrono/weekday.h +25 -0
  348. package/libcxx/include/__chrono/year.h +11 -0
  349. package/libcxx/include/__chrono/year_month.h +13 -0
  350. package/libcxx/include/__chrono/year_month_day.h +23 -0
  351. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  352. package/libcxx/include/__chrono/zoned_time.h +16 -0
  353. package/libcxx/include/__compare/is_eq.h +6 -6
  354. package/libcxx/include/__compare/strong_order.h +12 -30
  355. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  356. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  357. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  358. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  359. package/libcxx/include/__config +63 -280
  360. package/libcxx/include/__configuration/abi.h +14 -24
  361. package/libcxx/include/__configuration/availability.h +65 -118
  362. package/libcxx/include/__configuration/compiler.h +6 -6
  363. package/libcxx/include/__configuration/experimental.h +38 -0
  364. package/libcxx/include/__configuration/hardening.h +215 -0
  365. package/libcxx/include/__configuration/language.h +3 -0
  366. package/libcxx/include/__configuration/platform.h +9 -16
  367. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  368. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  369. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  370. package/libcxx/include/__exception/exception.h +6 -4
  371. package/libcxx/include/__exception/exception_ptr.h +27 -5
  372. package/libcxx/include/__exception/nested_exception.h +2 -2
  373. package/libcxx/include/__exception/operations.h +5 -5
  374. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  375. package/libcxx/include/__expected/expected.h +62 -64
  376. package/libcxx/include/__expected/unexpected.h +4 -4
  377. package/libcxx/include/__filesystem/copy_options.h +4 -4
  378. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  379. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  380. package/libcxx/include/__filesystem/directory_options.h +7 -4
  381. package/libcxx/include/__filesystem/file_status.h +3 -3
  382. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  383. package/libcxx/include/__filesystem/operations.h +97 -66
  384. package/libcxx/include/__filesystem/path.h +68 -64
  385. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  386. package/libcxx/include/__filesystem/perm_options.h +4 -4
  387. package/libcxx/include/__filesystem/perms.h +4 -4
  388. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  389. package/libcxx/include/__filesystem/space_info.h +1 -1
  390. package/libcxx/include/__filesystem/u8path.h +12 -14
  391. package/libcxx/include/__flat_map/flat_map.h +88 -71
  392. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  393. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  394. package/libcxx/include/__flat_map/utils.h +1 -0
  395. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  396. package/libcxx/include/__flat_set/flat_set.h +86 -68
  397. package/libcxx/include/__format/concepts.h +0 -14
  398. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  399. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  400. package/libcxx/include/__format/format_arg.h +7 -10
  401. package/libcxx/include/__format/format_args.h +1 -1
  402. package/libcxx/include/__format/format_context.h +5 -5
  403. package/libcxx/include/__format/format_parse_context.h +2 -2
  404. package/libcxx/include/__format/formatter_output.h +30 -34
  405. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  406. package/libcxx/include/__format/range_default_formatter.h +2 -41
  407. package/libcxx/include/__format/range_format.h +71 -0
  408. package/libcxx/include/__format/range_formatter.h +1 -0
  409. package/libcxx/include/__format/width_estimation_table.h +4 -2
  410. package/libcxx/include/__functional/bind.h +10 -15
  411. package/libcxx/include/__functional/bind_back.h +1 -1
  412. package/libcxx/include/__functional/bind_front.h +1 -1
  413. package/libcxx/include/__functional/function.h +57 -75
  414. package/libcxx/include/__functional/hash.h +1 -10
  415. package/libcxx/include/__functional/identity.h +1 -1
  416. package/libcxx/include/__functional/is_transparent.h +8 -0
  417. package/libcxx/include/__functional/mem_fn.h +2 -1
  418. package/libcxx/include/__functional/operations.h +18 -0
  419. package/libcxx/include/__functional/ranges_operations.h +7 -0
  420. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  421. package/libcxx/include/__functional/weak_result_type.h +14 -28
  422. package/libcxx/include/__fwd/ios.h +1 -1
  423. package/libcxx/include/__fwd/tuple.h +14 -0
  424. package/libcxx/include/__hash_table +371 -357
  425. package/libcxx/include/__ios/fpos.h +4 -4
  426. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  427. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  428. package/libcxx/include/__iterator/concepts.h +6 -9
  429. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  430. package/libcxx/include/__iterator/distance.h +40 -18
  431. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  432. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  433. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  434. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  435. package/libcxx/include/__iterator/iter_move.h +1 -1
  436. package/libcxx/include/__iterator/iterator.h +13 -0
  437. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  438. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  439. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  440. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  441. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  442. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  443. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  444. package/libcxx/include/__locale +3 -10
  445. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  446. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  447. package/libcxx/include/__locale_dir/messages.h +1 -1
  448. package/libcxx/include/__locale_dir/money.h +2 -2
  449. package/libcxx/include/__locale_dir/num.h +190 -243
  450. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  451. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  452. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  453. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  454. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  455. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  456. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  457. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  458. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  459. package/libcxx/include/__locale_dir/time.h +3 -7
  460. package/libcxx/include/__math/hypot.h +1 -1
  461. package/libcxx/include/__math/logarithms.h +1 -1
  462. package/libcxx/include/__math/traits.h +80 -11
  463. package/libcxx/include/__mdspan/extents.h +7 -4
  464. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  465. package/libcxx/include/__mdspan/mdspan.h +29 -23
  466. package/libcxx/include/__memory/addressof.h +7 -5
  467. package/libcxx/include/__memory/align.h +18 -1
  468. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  469. package/libcxx/include/__memory/allocator.h +14 -26
  470. package/libcxx/include/__memory/allocator_traits.h +6 -4
  471. package/libcxx/include/__memory/compressed_pair.h +15 -9
  472. package/libcxx/include/__memory/construct_at.h +12 -23
  473. package/libcxx/include/__memory/inout_ptr.h +1 -1
  474. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  475. package/libcxx/include/__memory/out_ptr.h +1 -1
  476. package/libcxx/include/__memory/pointer_traits.h +1 -1
  477. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  478. package/libcxx/include/__memory/shared_count.h +9 -30
  479. package/libcxx/include/__memory/shared_ptr.h +100 -145
  480. package/libcxx/include/__memory/temp_value.h +1 -2
  481. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  482. package/libcxx/include/__memory/unique_ptr.h +14 -16
  483. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  484. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  485. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  486. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  487. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  488. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  489. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  490. package/libcxx/include/__mutex/mutex.h +2 -2
  491. package/libcxx/include/__mutex/once_flag.h +14 -11
  492. package/libcxx/include/__mutex/tag_types.h +3 -3
  493. package/libcxx/include/__mutex/unique_lock.h +8 -7
  494. package/libcxx/include/__new/align_val_t.h +6 -0
  495. package/libcxx/include/__new/allocate.h +1 -2
  496. package/libcxx/include/__new/exceptions.h +8 -2
  497. package/libcxx/include/__new/global_new_delete.h +4 -11
  498. package/libcxx/include/__new/interference_size.h +0 -4
  499. package/libcxx/include/__new/launder.h +3 -5
  500. package/libcxx/include/__new/nothrow_t.h +1 -1
  501. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  502. package/libcxx/include/__numeric/midpoint.h +9 -14
  503. package/libcxx/include/__numeric/pstl.h +2 -2
  504. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  505. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  506. package/libcxx/include/__pstl/backends/default.h +14 -14
  507. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  508. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  509. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  510. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  511. package/libcxx/include/__random/binomial_distribution.h +10 -4
  512. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  513. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  514. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  515. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  516. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  517. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  518. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  519. package/libcxx/include/__ranges/common_view.h +7 -7
  520. package/libcxx/include/__ranges/drop_view.h +8 -8
  521. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  522. package/libcxx/include/__ranges/elements_of.h +49 -0
  523. package/libcxx/include/__ranges/empty_view.h +5 -5
  524. package/libcxx/include/__ranges/filter_view.h +10 -10
  525. package/libcxx/include/__ranges/iota_view.h +41 -22
  526. package/libcxx/include/__ranges/owning_view.h +15 -15
  527. package/libcxx/include/__ranges/ref_view.h +6 -6
  528. package/libcxx/include/__ranges/repeat_view.h +17 -10
  529. package/libcxx/include/__ranges/single_view.h +8 -8
  530. package/libcxx/include/__ranges/take_view.h +9 -9
  531. package/libcxx/include/__ranges/transform_view.h +1 -2
  532. package/libcxx/include/__ranges/view_interface.h +10 -10
  533. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  534. package/libcxx/include/__ranges/zip_view.h +20 -20
  535. package/libcxx/include/__split_buffer +612 -240
  536. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  537. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  538. package/libcxx/include/__stop_token/stop_source.h +1 -1
  539. package/libcxx/include/__stop_token/stop_state.h +4 -4
  540. package/libcxx/include/__stop_token/stop_token.h +1 -1
  541. package/libcxx/include/__string/char_traits.h +51 -31
  542. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  543. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  544. package/libcxx/include/__system_error/error_category.h +8 -8
  545. package/libcxx/include/__system_error/error_code.h +5 -5
  546. package/libcxx/include/__system_error/error_condition.h +4 -4
  547. package/libcxx/include/__system_error/system_error.h +1 -1
  548. package/libcxx/include/__thread/id.h +1 -1
  549. package/libcxx/include/__thread/jthread.h +1 -1
  550. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  551. package/libcxx/include/__thread/support/c11.h +8 -8
  552. package/libcxx/include/__thread/support/pthread.h +8 -8
  553. package/libcxx/include/__thread/support/windows.h +8 -8
  554. package/libcxx/include/__thread/thread.h +13 -8
  555. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  556. package/libcxx/include/__tree +849 -701
  557. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  558. package/libcxx/include/__tuple/tuple_element.h +0 -12
  559. package/libcxx/include/__tuple/tuple_size.h +0 -4
  560. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  561. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  562. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  563. package/libcxx/include/__type_traits/invoke.h +8 -0
  564. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  565. package/libcxx/include/__type_traits/is_array.h +26 -0
  566. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  567. package/libcxx/include/__type_traits/is_final.h +1 -1
  568. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  569. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  570. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  571. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  572. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  573. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  574. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  575. package/libcxx/include/__utility/cmp.h +19 -7
  576. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  577. package/libcxx/include/__utility/in_place.h +1 -1
  578. package/libcxx/include/__utility/integer_sequence.h +56 -41
  579. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  580. package/libcxx/include/__utility/pair.h +22 -25
  581. package/libcxx/include/__utility/scope_guard.h +2 -0
  582. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  583. package/libcxx/include/__vector/vector.h +187 -160
  584. package/libcxx/include/__vector/vector_bool.h +76 -83
  585. package/libcxx/include/any +118 -155
  586. package/libcxx/include/array +88 -56
  587. package/libcxx/include/atomic +2 -0
  588. package/libcxx/include/barrier +20 -24
  589. package/libcxx/include/bitset +49 -30
  590. package/libcxx/include/ccomplex +3 -11
  591. package/libcxx/include/chrono +47 -0
  592. package/libcxx/include/ciso646 +3 -6
  593. package/libcxx/include/complex +77 -65
  594. package/libcxx/include/complex.h +10 -10
  595. package/libcxx/include/condition_variable +3 -3
  596. package/libcxx/include/cstdalign +3 -10
  597. package/libcxx/include/cstdbool +3 -10
  598. package/libcxx/include/ctgmath +2 -11
  599. package/libcxx/include/ctype.h +24 -24
  600. package/libcxx/include/cwchar +2 -2
  601. package/libcxx/include/deque +109 -225
  602. package/libcxx/include/errno.h +269 -269
  603. package/libcxx/include/exception +4 -1
  604. package/libcxx/include/ext/hash_map +7 -48
  605. package/libcxx/include/ext/hash_set +2 -8
  606. package/libcxx/include/fenv.h +43 -43
  607. package/libcxx/include/flat_map +663 -11
  608. package/libcxx/include/flat_set +543 -8
  609. package/libcxx/include/float.h +16 -16
  610. package/libcxx/include/forward_list +33 -53
  611. package/libcxx/include/fstream +57 -42
  612. package/libcxx/include/future +41 -51
  613. package/libcxx/include/initializer_list +9 -3
  614. package/libcxx/include/inttypes.h +16 -16
  615. package/libcxx/include/ios +28 -28
  616. package/libcxx/include/istream +19 -13
  617. package/libcxx/include/iterator +10 -0
  618. package/libcxx/include/latch +7 -5
  619. package/libcxx/include/limits +4 -4
  620. package/libcxx/include/list +61 -79
  621. package/libcxx/include/map +386 -274
  622. package/libcxx/include/math.h +19 -0
  623. package/libcxx/include/mdspan +1 -5
  624. package/libcxx/include/mutex +29 -19
  625. package/libcxx/include/optional +644 -149
  626. package/libcxx/include/print +9 -5
  627. package/libcxx/include/queue +39 -37
  628. package/libcxx/include/ranges +48 -0
  629. package/libcxx/include/regex +33 -31
  630. package/libcxx/include/scoped_allocator +16 -11
  631. package/libcxx/include/semaphore +15 -18
  632. package/libcxx/include/set +220 -192
  633. package/libcxx/include/shared_mutex +3 -8
  634. package/libcxx/include/span +53 -37
  635. package/libcxx/include/sstream +34 -28
  636. package/libcxx/include/stack +13 -15
  637. package/libcxx/include/stddef.h +10 -10
  638. package/libcxx/include/stdexcept +2 -2
  639. package/libcxx/include/stdio.h +20 -21
  640. package/libcxx/include/streambuf +59 -19
  641. package/libcxx/include/string +574 -573
  642. package/libcxx/include/string_view +113 -89
  643. package/libcxx/include/strstream +10 -10
  644. package/libcxx/include/syncstream +4 -4
  645. package/libcxx/include/tgmath.h +12 -12
  646. package/libcxx/include/tuple +242 -212
  647. package/libcxx/include/type_traits +8 -2
  648. package/libcxx/include/typeindex +5 -3
  649. package/libcxx/include/typeinfo +92 -89
  650. package/libcxx/include/unordered_map +179 -304
  651. package/libcxx/include/unordered_set +168 -195
  652. package/libcxx/include/utility +12 -0
  653. package/libcxx/include/valarray +106 -161
  654. package/libcxx/include/variant +25 -33
  655. package/libcxx/include/version +41 -24
  656. package/libcxx/include/wctype.h +29 -29
  657. package/libcxx/libc/hdr/errno_macros.h +3 -1
  658. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  659. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  660. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  661. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  662. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  663. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  664. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  665. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  666. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  667. package/libcxx/libc/shared/libc_common.h +5 -0
  668. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  669. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  670. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  671. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  672. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  673. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  674. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  675. package/libcxx/libc/src/__support/big_int.h +14 -14
  676. package/libcxx/libc/src/__support/common.h +3 -2
  677. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  678. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  679. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  680. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  681. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  682. package/libcxx/libc/src/__support/macros/config.h +23 -0
  683. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  684. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  685. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  686. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  687. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  688. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  689. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  690. package/libcxx/libc/src/__support/math_extras.h +20 -4
  691. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  692. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  693. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  694. package/libcxx/src/any.cpp +4 -0
  695. package/libcxx/src/atomic.cpp +365 -80
  696. package/libcxx/src/barrier.cpp +4 -3
  697. package/libcxx/src/charconv.cpp +6 -3
  698. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  699. package/libcxx/src/error_category.cpp +3 -1
  700. package/libcxx/src/exception.cpp +2 -10
  701. package/libcxx/src/experimental/time_zone.cpp +1 -1
  702. package/libcxx/src/experimental/tzdb.cpp +4 -1
  703. package/libcxx/src/filesystem/error.h +4 -22
  704. package/libcxx/src/filesystem/format_string.h +9 -18
  705. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  706. package/libcxx/src/filesystem/operations.cpp +2 -9
  707. package/libcxx/src/filesystem/path.cpp +3 -1
  708. package/libcxx/src/include/aligned_alloc.h +65 -0
  709. package/libcxx/src/include/config_elast.h +1 -1
  710. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  711. package/libcxx/src/include/overridable_function.h +8 -10
  712. package/libcxx/src/iostream.cpp +56 -37
  713. package/libcxx/src/locale.cpp +213 -196
  714. package/libcxx/src/memory.cpp +12 -14
  715. package/libcxx/src/mutex_destructor.cpp +1 -1
  716. package/libcxx/src/new.cpp +5 -5
  717. package/libcxx/src/optional.cpp +4 -0
  718. package/libcxx/src/print.cpp +9 -1
  719. package/libcxx/src/random.cpp +0 -26
  720. package/libcxx/src/string.cpp +10 -25
  721. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  722. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  723. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  724. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  725. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  726. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  727. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  728. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  729. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  730. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  731. package/libcxx/src/system_error.cpp +2 -0
  732. package/libcxx/src/thread.cpp +1 -3
  733. package/libcxx/src/valarray.cpp +1 -2
  734. package/libcxx/src/vector.cpp +2 -2
  735. package/libcxxabi/include/__cxxabi_config.h +42 -23
  736. package/libcxxabi/src/cxa_exception.cpp +4 -2
  737. package/libcxxabi/src/cxa_exception.h +16 -14
  738. package/libcxxabi/src/cxa_personality.cpp +126 -9
  739. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  740. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  741. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  742. package/libcxxabi/src/demangle/Utility.h +21 -7
  743. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  744. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  745. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  746. package/libtsan/LICENSE.TXT +311 -0
  747. package/libtsan/builtins/assembly.h +41 -8
  748. package/libtsan/interception/interception_win.cpp +4 -0
  749. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  750. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  751. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  752. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  753. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  754. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  755. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  756. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  757. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  758. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  759. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  760. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  761. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  762. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  763. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  764. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  765. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  766. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  767. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  768. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  769. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  770. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  771. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  772. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  773. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  774. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  775. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  776. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  777. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  778. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  779. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  780. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  781. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  782. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  783. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  784. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  785. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  786. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  787. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  788. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  789. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  790. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  791. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  792. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  793. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  794. package/libtsan/tsan_debugging.cpp +2 -2
  795. package/libtsan/tsan_flags.cpp +37 -0
  796. package/libtsan/tsan_flags.h +8 -0
  797. package/libtsan/tsan_flags.inc +12 -0
  798. package/libtsan/tsan_interceptors.h +9 -1
  799. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  800. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  801. package/libtsan/tsan_interface.h +3 -3
  802. package/libtsan/tsan_interface_ann.cpp +23 -9
  803. package/libtsan/tsan_mman.cpp +18 -4
  804. package/libtsan/tsan_platform.h +44 -7
  805. package/libtsan/tsan_platform_linux.cpp +42 -14
  806. package/libtsan/tsan_platform_mac.cpp +16 -3
  807. package/libtsan/tsan_report.h +14 -1
  808. package/libtsan/tsan_rtl.cpp +14 -0
  809. package/libtsan/tsan_rtl.h +7 -2
  810. package/libtsan/tsan_rtl_aarch64.S +3 -5
  811. package/libtsan/tsan_rtl_access.cpp +8 -3
  812. package/libtsan/tsan_rtl_amd64.S +2 -0
  813. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  814. package/libtsan/tsan_rtl_report.cpp +132 -65
  815. package/libtsan/tsan_rtl_thread.cpp +31 -9
  816. package/libtsan/tsan_symbolize.cpp +1 -1
  817. package/libtsan/tsan_symbolize.h +1 -1
  818. package/libtsan/tsan_trace.h +1 -1
  819. package/libunwind/include/__libunwind_config.h +11 -2
  820. package/libunwind/include/libunwind.h +117 -11
  821. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  822. package/libunwind/src/AddressSpace.hpp +42 -20
  823. package/libunwind/src/CompactUnwinder.hpp +16 -5
  824. package/libunwind/src/DwarfInstructions.hpp +24 -13
  825. package/libunwind/src/DwarfParser.hpp +62 -23
  826. package/libunwind/src/EHHeaderParser.hpp +7 -4
  827. package/libunwind/src/Registers.hpp +226 -22
  828. package/libunwind/src/Unwind-seh.cpp +6 -7
  829. package/libunwind/src/Unwind-wasm.c +7 -7
  830. package/libunwind/src/UnwindCursor.hpp +167 -49
  831. package/libunwind/src/UnwindLevel1.c +46 -17
  832. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  833. package/libunwind/src/UnwindRegistersSave.S +86 -2
  834. package/libunwind/src/assembly.h +5 -1
  835. package/libunwind/src/config.h +9 -0
  836. package/libunwind/src/gcc_personality_v0.c +79 -6
  837. package/libunwind/src/libunwind.cpp +104 -4
  838. package/libunwind/src/libunwind_ext.h +7 -1
  839. package/libunwind/src/shadow_stack_unwind.h +2 -2
  840. package/lldb/pretty_printers.py +948 -0
  841. package/package.json +1 -1
  842. package/std/Build/Cache/Path.zig +1 -1
  843. package/std/Build/Cache.zig +6 -6
  844. package/std/Build/Step/Compile.zig +18 -20
  845. package/std/Build/Step/ConfigHeader.zig +1 -1
  846. package/std/Build/Step/Run.zig +15 -8
  847. package/std/Build/Step.zig +3 -7
  848. package/std/Build/Watch/FsEvents.zig +1 -1
  849. package/std/Build/WebServer.zig +2 -2
  850. package/std/Build/abi.zig +1 -1
  851. package/std/Build.zig +0 -3
  852. package/std/Io/Dir.zig +9 -4
  853. package/std/Io/Dispatch.zig +8 -18
  854. package/std/Io/File/Writer.zig +8 -6
  855. package/std/Io/File.zig +0 -9
  856. package/std/Io/Kqueue.zig +3 -3
  857. package/std/Io/Reader.zig +8 -14
  858. package/std/Io/Semaphore.zig +112 -17
  859. package/std/Io/Terminal.zig +1 -1
  860. package/std/Io/Threaded.zig +183 -46
  861. package/std/Io/Uring.zig +18 -20
  862. package/std/Io/Writer.zig +10 -7
  863. package/std/Io/net/HostName.zig +11 -6
  864. package/std/Io/net.zig +11 -11
  865. package/std/Io.zig +104 -38
  866. package/std/Random/ChaCha.zig +2 -2
  867. package/std/Random/benchmark.zig +2 -2
  868. package/std/Random.zig +6 -6
  869. package/std/SemanticVersion.zig +1 -1
  870. package/std/Target/Query.zig +2 -2
  871. package/std/Target/aarch64.zig +620 -77
  872. package/std/Target/amdgcn.zig +421 -21
  873. package/std/Target/arm.zig +40 -6
  874. package/std/Target/bpf.zig +6 -0
  875. package/std/Target/hexagon.zig +41 -6
  876. package/std/Target/loongarch.zig +18 -0
  877. package/std/Target/mips.zig +6 -0
  878. package/std/Target/nvptx.zig +58 -35
  879. package/std/Target/powerpc.zig +27 -19
  880. package/std/Target/riscv.zig +415 -177
  881. package/std/Target/sparc.zig +17 -0
  882. package/std/Target/wasm.zig +7 -0
  883. package/std/Target/x86.zig +200 -31
  884. package/std/Target/xtensa.zig +65 -0
  885. package/std/Target.zig +67 -14
  886. package/std/Thread.zig +5 -2
  887. package/std/array_hash_map.zig +103 -57
  888. package/std/array_list.zig +10 -31
  889. package/std/base64.zig +5 -5
  890. package/std/bit_set.zig +86 -69
  891. package/std/c/haiku.zig +3 -0
  892. package/std/c/serenity.zig +1 -6
  893. package/std/c.zig +123 -32
  894. package/std/compress/flate/Decompress.zig +3 -4
  895. package/std/compress/zstd/Decompress.zig +7 -9
  896. package/std/crypto/25519/curve25519.zig +2 -2
  897. package/std/crypto/25519/edwards25519.zig +3 -3
  898. package/std/crypto/25519/ristretto255.zig +2 -2
  899. package/std/crypto/25519/scalar.zig +6 -6
  900. package/std/crypto/25519/x25519.zig +1 -1
  901. package/std/crypto/Certificate.zig +14 -2
  902. package/std/crypto/Sha1.zig +1 -1
  903. package/std/crypto/aegis.zig +45 -39
  904. package/std/crypto/aes_ccm.zig +22 -22
  905. package/std/crypto/aes_gcm.zig +10 -12
  906. package/std/crypto/aes_ocb.zig +9 -9
  907. package/std/crypto/argon2.zig +15 -15
  908. package/std/crypto/ascon.zig +75 -33
  909. package/std/crypto/bcrypt.zig +20 -10
  910. package/std/crypto/benchmark.zig +7 -7
  911. package/std/crypto/blake2.zig +100 -64
  912. package/std/crypto/cbc_mac.zig +1 -1
  913. package/std/crypto/chacha20.zig +10 -10
  914. package/std/crypto/cmac.zig +3 -3
  915. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  916. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  917. package/std/crypto/codecs/asn1.zig +1 -1
  918. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  919. package/std/crypto/ecdsa.zig +9 -9
  920. package/std/crypto/ff.zig +4 -5
  921. package/std/crypto/ghash_polyval.zig +4 -4
  922. package/std/crypto/hkdf.zig +1 -1
  923. package/std/crypto/isap.zig +3 -3
  924. package/std/crypto/kangarootwelve.zig +1 -1
  925. package/std/crypto/keccak_p.zig +8 -8
  926. package/std/crypto/md5.zig +1 -1
  927. package/std/crypto/ml_dsa.zig +39 -39
  928. package/std/crypto/ml_kem.zig +12 -34
  929. package/std/crypto/modes.zig +2 -2
  930. package/std/crypto/pbkdf2.zig +1 -1
  931. package/std/crypto/pcurves/common.zig +4 -5
  932. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  933. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  934. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  935. package/std/crypto/pcurves/tests/p256.zig +5 -5
  936. package/std/crypto/pcurves/tests/p384.zig +5 -5
  937. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  938. package/std/crypto/salsa20.zig +8 -8
  939. package/std/crypto/sha2.zig +2 -2
  940. package/std/crypto/sha3.zig +2 -2
  941. package/std/crypto/siphash.zig +1 -1
  942. package/std/crypto/timing_safe.zig +10 -9
  943. package/std/crypto/tls/Client.zig +89 -13
  944. package/std/crypto/tls.zig +1 -1
  945. package/std/crypto.zig +4 -3
  946. package/std/debug/Dwarf.zig +15 -12
  947. package/std/debug/Pdb.zig +25 -17
  948. package/std/debug.zig +14 -8
  949. package/std/deque.zig +1 -1
  950. package/std/elf.zig +1 -1
  951. package/std/enums.zig +8 -8
  952. package/std/fmt/parse_float/decimal.zig +1 -1
  953. package/std/fmt/parse_float.zig +1 -1
  954. package/std/fmt.zig +14 -10
  955. package/std/fs/path.zig +7 -5
  956. package/std/hash/Adler32.zig +3 -3
  957. package/std/hash/benchmark.zig +2 -2
  958. package/std/hash/wyhash.zig +2 -2
  959. package/std/hash/xxhash.zig +0 -6
  960. package/std/hash_map.zig +20 -1
  961. package/std/heap/BufferFirstAllocator.zig +165 -0
  962. package/std/heap/debug_allocator.zig +2 -2
  963. package/std/heap/memory_pool.zig +34 -197
  964. package/std/heap.zig +2 -133
  965. package/std/http/Client.zig +21 -24
  966. package/std/http.zig +4 -5
  967. package/std/json/Scanner.zig +2 -2
  968. package/std/json/static.zig +2 -2
  969. package/std/{builtin.zig → lang.zig} +5 -1
  970. package/std/leb128.zig +2 -2
  971. package/std/math/big/int.zig +5 -5
  972. package/std/math/big.zig +4 -4
  973. package/std/math/copysign.zig +1 -1
  974. package/std/math/float.zig +62 -0
  975. package/std/math/frexp.zig +4 -4
  976. package/std/math/ilogb.zig +1 -1
  977. package/std/math/isfinite.zig +1 -1
  978. package/std/math/isinf.zig +1 -1
  979. package/std/math/isnan.zig +1 -2
  980. package/std/math/isnormal.zig +2 -2
  981. package/std/math/iszero.zig +2 -2
  982. package/std/math/ldexp.zig +2 -2
  983. package/std/math/log10.zig +0 -2
  984. package/std/math/modf.zig +1 -2
  985. package/std/math/nextafter.zig +3 -4
  986. package/std/math/pow.zig +1 -1
  987. package/std/math/powi.zig +2 -3
  988. package/std/math/signbit.zig +0 -1
  989. package/std/math.zig +21 -26
  990. package/std/mem/Allocator.zig +0 -6
  991. package/std/mem.zig +31 -31
  992. package/std/meta/trailer_flags.zig +1 -1
  993. package/std/meta.zig +4 -36
  994. package/std/multi_array_list.zig +24 -0
  995. package/std/os/emscripten.zig +7 -6
  996. package/std/os/linux/IoUring.zig +2 -0
  997. package/std/os/linux/aarch64.zig +41 -12
  998. package/std/os/linux/arc.zig +41 -12
  999. package/std/os/linux/arm.zig +41 -12
  1000. package/std/os/linux/bpf.zig +6 -0
  1001. package/std/os/linux/hexagon.zig +33 -11
  1002. package/std/os/linux/ioctl.zig +2 -2
  1003. package/std/os/linux/loongarch32.zig +41 -13
  1004. package/std/os/linux/loongarch64.zig +41 -12
  1005. package/std/os/linux/m68k.zig +41 -13
  1006. package/std/os/linux/mips.zig +67 -36
  1007. package/std/os/linux/mips64.zig +60 -29
  1008. package/std/os/linux/mipsn32.zig +60 -29
  1009. package/std/os/linux/or1k.zig +41 -12
  1010. package/std/os/linux/powerpc.zig +41 -12
  1011. package/std/os/linux/powerpc64.zig +41 -12
  1012. package/std/os/linux/riscv32.zig +41 -12
  1013. package/std/os/linux/riscv64.zig +41 -12
  1014. package/std/os/linux/s390x.zig +44 -7
  1015. package/std/os/linux/sparc64.zig +83 -52
  1016. package/std/os/linux/syscalls.zig +26 -1
  1017. package/std/os/linux/thumb.zig +52 -36
  1018. package/std/os/linux/x32.zig +41 -12
  1019. package/std/os/linux/x86.zig +44 -15
  1020. package/std/os/linux/x86_64.zig +41 -12
  1021. package/std/os/linux.zig +416 -450
  1022. package/std/os/plan9.zig +1 -1
  1023. package/std/os/uefi/hii.zig +1 -1
  1024. package/std/os/uefi/tables/boot_services.zig +9 -8
  1025. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1026. package/std/os/windows.zig +130 -1
  1027. package/std/os.zig +41 -0
  1028. package/std/posix.zig +1 -1
  1029. package/std/process/Environ.zig +1 -1
  1030. package/std/process.zig +5 -4
  1031. package/std/simd.zig +4 -21
  1032. package/std/sort.zig +3 -3
  1033. package/std/start.zig +17 -4
  1034. package/std/std.zig +8 -1
  1035. package/std/tar/Writer.zig +39 -33
  1036. package/std/tar.zig +8 -4
  1037. package/std/testing.zig +2 -2
  1038. package/std/unicode.zig +13 -8
  1039. package/std/zig/Ast/Render.zig +6 -30
  1040. package/std/zig/Ast.zig +12 -37
  1041. package/std/zig/AstGen.zig +175 -332
  1042. package/std/zig/AstRlAnnotate.zig +1 -22
  1043. package/std/zig/AstSmith.zig +5 -11
  1044. package/std/zig/BuiltinFn.zig +0 -32
  1045. package/std/zig/ErrorBundle.zig +6 -2
  1046. package/std/zig/LibCDirs.zig +15 -6
  1047. package/std/zig/LibCInstallation.zig +34 -12
  1048. package/std/zig/Parse.zig +11 -76
  1049. package/std/zig/TokenSmith.zig +0 -6
  1050. package/std/zig/WindowsSdk.zig +18 -18
  1051. package/std/zig/Zir.zig +65 -132
  1052. package/std/zig/ZonGen.zig +19 -27
  1053. package/std/zig/llvm/Builder.zig +39 -33
  1054. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1055. package/std/zig/llvm/ir.zig +8 -8
  1056. package/std/zig/system/arm.zig +56 -2
  1057. package/std/zig/system/windows.zig +34 -1
  1058. package/std/zig/system/x86.zig +60 -16
  1059. package/std/zig/system.zig +0 -10
  1060. package/std/zig/target.zig +1 -4
  1061. package/std/zig/tokenizer.zig +4 -43
  1062. package/std/zig.zig +3 -14
  1063. package/std/zip.zig +5 -5
  1064. package/std/zon/parse.zig +1 -1
  1065. package/zig.h +340 -1
  1066. package/compiler_rt/long_double.zig +0 -37
  1067. package/include/amxbf16transposeintrin.h +0 -94
  1068. package/include/amxcomplextransposeintrin.h +0 -303
  1069. package/include/amxfp16transposeintrin.h +0 -94
  1070. package/include/amxmovrstransposeintrin.h +0 -200
  1071. package/include/amxtf32transposeintrin.h +0 -105
  1072. package/include/amxtransposeintrin.h +0 -248
  1073. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1074. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1075. package/libc/mingw/math/lrintl.c +0 -18
  1076. package/libc/mingw/math/rintl.c +0 -16
  1077. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1078. package/libc/musl/src/linux/tee.c +0 -8
  1079. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1080. package/libc/musl/src/math/i386/rintl.c +0 -7
  1081. package/libc/musl/src/math/lrintl.c +0 -36
  1082. package/libc/musl/src/math/rintl.c +0 -29
  1083. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1084. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1085. package/libc/musl/src/math/x32/rintl.s +0 -6
  1086. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1087. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1088. package/libc/musl/src/string/strdup.c +0 -10
  1089. package/libc/musl/src/string/strndup.c +0 -12
  1090. package/libc/musl/src/string/wcsdup.c +0 -10
  1091. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1092. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1093. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1094. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1095. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1096. package/libc/musl/src/unistd/dup2.c +0 -20
  1097. package/libc/musl/src/unistd/dup3.c +0 -26
  1098. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1099. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1100. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1101. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1102. package/std/Build/Step/CheckObject.zig +0 -2764
  1103. /package/std/{builtin → lang}/assembly.zig +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);
@@ -1906,9 +1849,8 @@ _mm256_sad_epu8(__m256i __a, __m256i __b)
1906
1849
  /// control byte specify the index (within the same 128-bit half) of \a __a
1907
1850
  /// to copy to the result byte.
1908
1851
  /// \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
- {
1852
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1853
+ _mm256_shuffle_epi8(__m256i __a, __m256i __b) {
1912
1854
  return (__m256i)__builtin_ia32_pshufb256((__v32qi)__a, (__v32qi)__b);
1913
1855
  }
1914
1856
 
@@ -2033,10 +1975,9 @@ _mm256_shuffle_epi8(__m256i __a, __m256i __b)
2033
1975
  /// \param __b
2034
1976
  /// A 256-bit integer vector].
2035
1977
  /// \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);
1978
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1979
+ _mm256_sign_epi8(__m256i __a, __m256i __b) {
1980
+ return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
2040
1981
  }
2041
1982
 
2042
1983
  /// Sets each element of the result to the corresponding element of the
@@ -2054,10 +1995,9 @@ _mm256_sign_epi8(__m256i __a, __m256i __b)
2054
1995
  /// \param __b
2055
1996
  /// A 256-bit vector of [16 x i16].
2056
1997
  /// \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);
1998
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1999
+ _mm256_sign_epi16(__m256i __a, __m256i __b) {
2000
+ return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
2061
2001
  }
2062
2002
 
2063
2003
  /// Sets each element of the result to the corresponding element of the
@@ -2075,10 +2015,9 @@ _mm256_sign_epi16(__m256i __a, __m256i __b)
2075
2015
  /// \param __b
2076
2016
  /// A 256-bit vector of [8 x i32].
2077
2017
  /// \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);
2018
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2019
+ _mm256_sign_epi32(__m256i __a, __m256i __b) {
2020
+ return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
2082
2021
  }
2083
2022
 
2084
2023
  /// Shifts each 128-bit half of the 256-bit integer vector \a a left by
@@ -2098,8 +2037,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2098
2037
  /// \param imm
2099
2038
  /// An unsigned immediate value specifying the shift count (in bytes).
2100
2039
  /// \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)))
2040
+ #define _mm256_slli_si256(a, imm) \
2041
+ ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2042
+ (int)(imm)))
2103
2043
 
2104
2044
  /// Shifts each 128-bit half of the 256-bit integer vector \a a left by
2105
2045
  /// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
@@ -2118,8 +2058,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2118
2058
  /// \param imm
2119
2059
  /// An unsigned immediate value specifying the shift count (in bytes).
2120
2060
  /// \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)))
2061
+ #define _mm256_bslli_epi128(a, imm) \
2062
+ ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2063
+ (int)(imm)))
2123
2064
 
2124
2065
  /// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
2125
2066
  /// left by \a __count bits, shifting in zero bits, and returns the result.
@@ -2134,9 +2075,8 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
2134
2075
  /// \param __count
2135
2076
  /// An unsigned integer value specifying the shift count (in bits).
2136
2077
  /// \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
- {
2078
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2079
+ _mm256_slli_epi16(__m256i __a, int __count) {
2140
2080
  return (__m256i)__builtin_ia32_psllwi256((__v16hi)__a, __count);
2141
2081
  }
2142
2082
 
@@ -2155,9 +2095,8 @@ _mm256_slli_epi16(__m256i __a, int __count)
2155
2095
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2156
2096
  /// shift count (in bits). The upper element is ignored.
2157
2097
  /// \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
- {
2098
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2099
+ _mm256_sll_epi16(__m256i __a, __m128i __count) {
2161
2100
  return (__m256i)__builtin_ia32_psllw256((__v16hi)__a, (__v8hi)__count);
2162
2101
  }
2163
2102
 
@@ -2174,9 +2113,8 @@ _mm256_sll_epi16(__m256i __a, __m128i __count)
2174
2113
  /// \param __count
2175
2114
  /// An unsigned integer value specifying the shift count (in bits).
2176
2115
  /// \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
- {
2116
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2117
+ _mm256_slli_epi32(__m256i __a, int __count) {
2180
2118
  return (__m256i)__builtin_ia32_pslldi256((__v8si)__a, __count);
2181
2119
  }
2182
2120
 
@@ -2195,9 +2133,8 @@ _mm256_slli_epi32(__m256i __a, int __count)
2195
2133
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2196
2134
  /// shift count (in bits). The upper element is ignored.
2197
2135
  /// \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
- {
2136
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2137
+ _mm256_sll_epi32(__m256i __a, __m128i __count) {
2201
2138
  return (__m256i)__builtin_ia32_pslld256((__v8si)__a, (__v4si)__count);
2202
2139
  }
2203
2140
 
@@ -2214,9 +2151,8 @@ _mm256_sll_epi32(__m256i __a, __m128i __count)
2214
2151
  /// \param __count
2215
2152
  /// An unsigned integer value specifying the shift count (in bits).
2216
2153
  /// \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
- {
2154
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2155
+ _mm256_slli_epi64(__m256i __a, int __count) {
2220
2156
  return __builtin_ia32_psllqi256((__v4di)__a, __count);
2221
2157
  }
2222
2158
 
@@ -2235,9 +2171,8 @@ _mm256_slli_epi64(__m256i __a, int __count)
2235
2171
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2236
2172
  /// shift count (in bits). The upper element is ignored.
2237
2173
  /// \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
- {
2174
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2175
+ _mm256_sll_epi64(__m256i __a, __m128i __count) {
2241
2176
  return __builtin_ia32_psllq256((__v4di)__a, __count);
2242
2177
  }
2243
2178
 
@@ -2255,9 +2190,8 @@ _mm256_sll_epi64(__m256i __a, __m128i __count)
2255
2190
  /// \param __count
2256
2191
  /// An unsigned integer value specifying the shift count (in bits).
2257
2192
  /// \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
- {
2193
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2194
+ _mm256_srai_epi16(__m256i __a, int __count) {
2261
2195
  return (__m256i)__builtin_ia32_psrawi256((__v16hi)__a, __count);
2262
2196
  }
2263
2197
 
@@ -2277,9 +2211,8 @@ _mm256_srai_epi16(__m256i __a, int __count)
2277
2211
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2278
2212
  /// shift count (in bits). The upper element is ignored.
2279
2213
  /// \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
- {
2214
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2215
+ _mm256_sra_epi16(__m256i __a, __m128i __count) {
2283
2216
  return (__m256i)__builtin_ia32_psraw256((__v16hi)__a, (__v8hi)__count);
2284
2217
  }
2285
2218
 
@@ -2297,9 +2230,8 @@ _mm256_sra_epi16(__m256i __a, __m128i __count)
2297
2230
  /// \param __count
2298
2231
  /// An unsigned integer value specifying the shift count (in bits).
2299
2232
  /// \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
- {
2233
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2234
+ _mm256_srai_epi32(__m256i __a, int __count) {
2303
2235
  return (__m256i)__builtin_ia32_psradi256((__v8si)__a, __count);
2304
2236
  }
2305
2237
 
@@ -2319,9 +2251,8 @@ _mm256_srai_epi32(__m256i __a, int __count)
2319
2251
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2320
2252
  /// shift count (in bits). The upper element is ignored.
2321
2253
  /// \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
- {
2254
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2255
+ _mm256_sra_epi32(__m256i __a, __m128i __count) {
2325
2256
  return (__m256i)__builtin_ia32_psrad256((__v8si)__a, (__v4si)__count);
2326
2257
  }
2327
2258
 
@@ -2342,8 +2273,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2342
2273
  /// \param imm
2343
2274
  /// An unsigned immediate value specifying the shift count (in bytes).
2344
2275
  /// \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)))
2276
+ #define _mm256_srli_si256(a, imm) \
2277
+ ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2278
+ (int)(imm)))
2347
2279
 
2348
2280
  /// Shifts each 128-bit half of the 256-bit integer vector in \a a right by
2349
2281
  /// \a imm bytes, shifting in zero bytes, and returns the result. If
@@ -2362,8 +2294,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2362
2294
  /// \param imm
2363
2295
  /// An unsigned immediate value specifying the shift count (in bytes).
2364
2296
  /// \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)))
2297
+ #define _mm256_bsrli_epi128(a, imm) \
2298
+ ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2299
+ (int)(imm)))
2367
2300
 
2368
2301
  /// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
2369
2302
  /// right by \a __count bits, shifting in zero bits, and returns the result.
@@ -2378,9 +2311,8 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
2378
2311
  /// \param __count
2379
2312
  /// An unsigned integer value specifying the shift count (in bits).
2380
2313
  /// \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
- {
2314
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2315
+ _mm256_srli_epi16(__m256i __a, int __count) {
2384
2316
  return (__m256i)__builtin_ia32_psrlwi256((__v16hi)__a, __count);
2385
2317
  }
2386
2318
 
@@ -2399,9 +2331,8 @@ _mm256_srli_epi16(__m256i __a, int __count)
2399
2331
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2400
2332
  /// shift count (in bits). The upper element is ignored.
2401
2333
  /// \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
- {
2334
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2335
+ _mm256_srl_epi16(__m256i __a, __m128i __count) {
2405
2336
  return (__m256i)__builtin_ia32_psrlw256((__v16hi)__a, (__v8hi)__count);
2406
2337
  }
2407
2338
 
@@ -2418,9 +2349,8 @@ _mm256_srl_epi16(__m256i __a, __m128i __count)
2418
2349
  /// \param __count
2419
2350
  /// An unsigned integer value specifying the shift count (in bits).
2420
2351
  /// \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
- {
2352
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2353
+ _mm256_srli_epi32(__m256i __a, int __count) {
2424
2354
  return (__m256i)__builtin_ia32_psrldi256((__v8si)__a, __count);
2425
2355
  }
2426
2356
 
@@ -2439,9 +2369,8 @@ _mm256_srli_epi32(__m256i __a, int __count)
2439
2369
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2440
2370
  /// shift count (in bits). The upper element is ignored.
2441
2371
  /// \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
- {
2372
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2373
+ _mm256_srl_epi32(__m256i __a, __m128i __count) {
2445
2374
  return (__m256i)__builtin_ia32_psrld256((__v8si)__a, (__v4si)__count);
2446
2375
  }
2447
2376
 
@@ -2458,9 +2387,8 @@ _mm256_srl_epi32(__m256i __a, __m128i __count)
2458
2387
  /// \param __count
2459
2388
  /// An unsigned integer value specifying the shift count (in bits).
2460
2389
  /// \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
- {
2390
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2391
+ _mm256_srli_epi64(__m256i __a, int __count) {
2464
2392
  return __builtin_ia32_psrlqi256((__v4di)__a, __count);
2465
2393
  }
2466
2394
 
@@ -2479,9 +2407,8 @@ _mm256_srli_epi64(__m256i __a, int __count)
2479
2407
  /// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
2480
2408
  /// shift count (in bits). The upper element is ignored.
2481
2409
  /// \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
- {
2410
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2411
+ _mm256_srl_epi64(__m256i __a, __m128i __count) {
2485
2412
  return __builtin_ia32_psrlq256((__v4di)__a, __count);
2486
2413
  }
2487
2414
 
@@ -2506,9 +2433,8 @@ _mm256_srl_epi64(__m256i __a, __m128i __count)
2506
2433
  /// \param __b
2507
2434
  /// A 256-bit integer vector containing the subtrahends.
2508
2435
  /// \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
- {
2436
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2437
+ _mm256_sub_epi8(__m256i __a, __m256i __b) {
2512
2438
  return (__m256i)((__v32qu)__a - (__v32qu)__b);
2513
2439
  }
2514
2440
 
@@ -2533,9 +2459,8 @@ _mm256_sub_epi8(__m256i __a, __m256i __b)
2533
2459
  /// \param __b
2534
2460
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2535
2461
  /// \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
- {
2462
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2463
+ _mm256_sub_epi16(__m256i __a, __m256i __b) {
2539
2464
  return (__m256i)((__v16hu)__a - (__v16hu)__b);
2540
2465
  }
2541
2466
 
@@ -2559,9 +2484,8 @@ _mm256_sub_epi16(__m256i __a, __m256i __b)
2559
2484
  /// \param __b
2560
2485
  /// A 256-bit vector of [8 x i32] containing the subtrahends.
2561
2486
  /// \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
- {
2487
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2488
+ _mm256_sub_epi32(__m256i __a, __m256i __b) {
2565
2489
  return (__m256i)((__v8su)__a - (__v8su)__b);
2566
2490
  }
2567
2491
 
@@ -2585,9 +2509,8 @@ _mm256_sub_epi32(__m256i __a, __m256i __b)
2585
2509
  /// \param __b
2586
2510
  /// A 256-bit vector of [4 x i64] containing the subtrahends.
2587
2511
  /// \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
- {
2512
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2513
+ _mm256_sub_epi64(__m256i __a, __m256i __b) {
2591
2514
  return (__m256i)((__v4du)__a - (__v4du)__b);
2592
2515
  }
2593
2516
 
@@ -2611,9 +2534,8 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
2611
2534
  /// \param __b
2612
2535
  /// A 256-bit integer vector containing the subtrahends.
2613
2536
  /// \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
- {
2537
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2538
+ _mm256_subs_epi8(__m256i __a, __m256i __b) {
2617
2539
  return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
2618
2540
  }
2619
2541
 
@@ -2637,9 +2559,8 @@ _mm256_subs_epi8(__m256i __a, __m256i __b)
2637
2559
  /// \param __b
2638
2560
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2639
2561
  /// \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
- {
2562
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2563
+ _mm256_subs_epi16(__m256i __a, __m256i __b) {
2643
2564
  return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
2644
2565
  }
2645
2566
 
@@ -2664,9 +2585,8 @@ _mm256_subs_epi16(__m256i __a, __m256i __b)
2664
2585
  /// \param __b
2665
2586
  /// A 256-bit integer vector containing the subtrahends.
2666
2587
  /// \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
- {
2588
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2589
+ _mm256_subs_epu8(__m256i __a, __m256i __b) {
2670
2590
  return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
2671
2591
  }
2672
2592
 
@@ -2690,9 +2610,8 @@ _mm256_subs_epu8(__m256i __a, __m256i __b)
2690
2610
  /// \param __b
2691
2611
  /// A 256-bit vector of [16 x i16] containing the subtrahends.
2692
2612
  /// \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
- {
2613
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2614
+ _mm256_subs_epu16(__m256i __a, __m256i __b) {
2696
2615
  return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
2697
2616
  }
2698
2617
 
@@ -2724,9 +2643,8 @@ _mm256_subs_epu16(__m256i __a, __m256i __b)
2724
2643
  /// A 256-bit integer vector used as the source for the odd-numbered bytes
2725
2644
  /// of the result.
2726
2645
  /// \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
- {
2646
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2647
+ _mm256_unpackhi_epi8(__m256i __a, __m256i __b) {
2730
2648
  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
2649
  }
2732
2650
 
@@ -2759,9 +2677,8 @@ _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
2759
2677
  /// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
2760
2678
  /// elements of the result.
2761
2679
  /// \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
- {
2680
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2681
+ _mm256_unpackhi_epi16(__m256i __a, __m256i __b) {
2765
2682
  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
2683
  }
2767
2684
 
@@ -2793,9 +2710,8 @@ _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
2793
2710
  /// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
2794
2711
  /// elements of the result.
2795
2712
  /// \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
- {
2713
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2714
+ _mm256_unpackhi_epi32(__m256i __a, __m256i __b) {
2799
2715
  return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 2, 8+2, 3, 8+3, 6, 8+6, 7, 8+7);
2800
2716
  }
2801
2717
 
@@ -2823,9 +2739,8 @@ _mm256_unpackhi_epi32(__m256i __a, __m256i __b)
2823
2739
  /// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
2824
2740
  /// elements of the result.
2825
2741
  /// \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
- {
2742
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2743
+ _mm256_unpackhi_epi64(__m256i __a, __m256i __b) {
2829
2744
  return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 1, 4+1, 3, 4+3);
2830
2745
  }
2831
2746
 
@@ -2857,9 +2772,8 @@ _mm256_unpackhi_epi64(__m256i __a, __m256i __b)
2857
2772
  /// A 256-bit integer vector used as the source for the odd-numbered bytes
2858
2773
  /// of the result.
2859
2774
  /// \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
- {
2775
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2776
+ _mm256_unpacklo_epi8(__m256i __a, __m256i __b) {
2863
2777
  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
2778
  }
2865
2779
 
@@ -2892,9 +2806,8 @@ _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
2892
2806
  /// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
2893
2807
  /// elements of the result.
2894
2808
  /// \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
- {
2809
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2810
+ _mm256_unpacklo_epi16(__m256i __a, __m256i __b) {
2898
2811
  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
2812
  }
2900
2813
 
@@ -2926,9 +2839,8 @@ _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
2926
2839
  /// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
2927
2840
  /// elements of the result.
2928
2841
  /// \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
- {
2842
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2843
+ _mm256_unpacklo_epi32(__m256i __a, __m256i __b) {
2932
2844
  return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 0, 8+0, 1, 8+1, 4, 8+4, 5, 8+5);
2933
2845
  }
2934
2846
 
@@ -2956,9 +2868,8 @@ _mm256_unpacklo_epi32(__m256i __a, __m256i __b)
2956
2868
  /// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
2957
2869
  /// elements of the result.
2958
2870
  /// \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
- {
2871
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2872
+ _mm256_unpacklo_epi64(__m256i __a, __m256i __b) {
2962
2873
  return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 0, 4+0, 2, 4+2);
2963
2874
  }
2964
2875
 
@@ -2974,7 +2885,7 @@ _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
2974
2885
  /// \param __b
2975
2886
  /// A 256-bit integer vector.
2976
2887
  /// \returns A 256-bit integer vector containing the result.
2977
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
2888
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2978
2889
  _mm256_xor_si256(__m256i __a, __m256i __b)
2979
2890
  {
2980
2891
  return (__m256i)((__v4du)__a ^ (__v4du)__b);
@@ -3009,9 +2920,8 @@ _mm256_stream_load_si256(const void *__V)
3009
2920
  /// \param __X
3010
2921
  /// A 128-bit vector of [4 x float] whose low element will be broadcast.
3011
2922
  /// \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
- {
2923
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2924
+ _mm_broadcastss_ps(__m128 __X) {
3015
2925
  return (__m128)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0);
3016
2926
  }
3017
2927
 
@@ -3026,9 +2936,8 @@ _mm_broadcastss_ps(__m128 __X)
3026
2936
  /// \param __a
3027
2937
  /// A 128-bit vector of [2 x double] whose low element will be broadcast.
3028
2938
  /// \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
- {
2939
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2940
+ _mm_broadcastsd_pd(__m128d __a) {
3032
2941
  return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
3033
2942
  }
3034
2943
 
@@ -3043,9 +2952,8 @@ _mm_broadcastsd_pd(__m128d __a)
3043
2952
  /// \param __X
3044
2953
  /// A 128-bit vector of [4 x float] whose low element will be broadcast.
3045
2954
  /// \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
- {
2955
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2956
+ _mm256_broadcastss_ps(__m128 __X) {
3049
2957
  return (__m256)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3050
2958
  }
3051
2959
 
@@ -3060,9 +2968,8 @@ _mm256_broadcastss_ps(__m128 __X)
3060
2968
  /// \param __X
3061
2969
  /// A 128-bit vector of [2 x double] whose low element will be broadcast.
3062
2970
  /// \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
- {
2971
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2972
+ _mm256_broadcastsd_pd(__m128d __X) {
3066
2973
  return (__m256d)__builtin_shufflevector((__v2df)__X, (__v2df)__X, 0, 0, 0, 0);
3067
2974
  }
3068
2975
 
@@ -3076,9 +2983,8 @@ _mm256_broadcastsd_pd(__m128d __X)
3076
2983
  /// \param __X
3077
2984
  /// A 128-bit integer vector to be broadcast.
3078
2985
  /// \returns A 256-bit integer vector containing the result.
3079
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3080
- _mm256_broadcastsi128_si256(__m128i __X)
3081
- {
2986
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2987
+ _mm256_broadcastsi128_si256(__m128i __X) {
3082
2988
  return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 1, 0, 1);
3083
2989
  }
3084
2990
 
@@ -3168,9 +3074,8 @@ _mm256_broadcastsi128_si256(__m128i __X)
3168
3074
  /// \param __X
3169
3075
  /// A 128-bit integer vector whose low byte will be broadcast.
3170
3076
  /// \returns A 256-bit integer vector containing the result.
3171
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3172
- _mm256_broadcastb_epi8(__m128i __X)
3173
- {
3077
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3078
+ _mm256_broadcastb_epi8(__m128i __X) {
3174
3079
  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
3080
  }
3176
3081
 
@@ -3184,9 +3089,8 @@ _mm256_broadcastb_epi8(__m128i __X)
3184
3089
  /// \param __X
3185
3090
  /// A 128-bit vector of [8 x i16] whose low element will be broadcast.
3186
3091
  /// \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
- {
3092
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3093
+ _mm256_broadcastw_epi16(__m128i __X) {
3190
3094
  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
3095
  }
3192
3096
 
@@ -3200,9 +3104,8 @@ _mm256_broadcastw_epi16(__m128i __X)
3200
3104
  /// \param __X
3201
3105
  /// A 128-bit vector of [4 x i32] whose low element will be broadcast.
3202
3106
  /// \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
- {
3107
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3108
+ _mm256_broadcastd_epi32(__m128i __X) {
3206
3109
  return (__m256i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3207
3110
  }
3208
3111
 
@@ -3216,9 +3119,8 @@ _mm256_broadcastd_epi32(__m128i __X)
3216
3119
  /// \param __X
3217
3120
  /// A 128-bit vector of [2 x i64] whose low element will be broadcast.
3218
3121
  /// \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
- {
3122
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3123
+ _mm256_broadcastq_epi64(__m128i __X) {
3222
3124
  return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0, 0, 0);
3223
3125
  }
3224
3126
 
@@ -3232,9 +3134,8 @@ _mm256_broadcastq_epi64(__m128i __X)
3232
3134
  /// \param __X
3233
3135
  /// A 128-bit integer vector whose low byte will be broadcast.
3234
3136
  /// \returns A 128-bit integer vector containing the result.
3235
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3236
- _mm_broadcastb_epi8(__m128i __X)
3237
- {
3137
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3138
+ _mm_broadcastb_epi8(__m128i __X) {
3238
3139
  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
3140
  }
3240
3141
 
@@ -3248,9 +3149,8 @@ _mm_broadcastb_epi8(__m128i __X)
3248
3149
  /// \param __X
3249
3150
  /// A 128-bit vector of [8 x i16] whose low element will be broadcast.
3250
3151
  /// \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
- {
3152
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3153
+ _mm_broadcastw_epi16(__m128i __X) {
3254
3154
  return (__m128i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0);
3255
3155
  }
3256
3156
 
@@ -3264,9 +3164,8 @@ _mm_broadcastw_epi16(__m128i __X)
3264
3164
  /// \param __X
3265
3165
  /// A 128-bit vector of [4 x i32] whose low element will be broadcast.
3266
3166
  /// \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
- {
3167
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3168
+ _mm_broadcastd_epi32(__m128i __X) {
3270
3169
  return (__m128i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0);
3271
3170
  }
3272
3171
 
@@ -3280,9 +3179,8 @@ _mm_broadcastd_epi32(__m128i __X)
3280
3179
  /// \param __X
3281
3180
  /// A 128-bit vector of [2 x i64] whose low element will be broadcast.
3282
3181
  /// \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
- {
3182
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3183
+ _mm_broadcastq_epi64(__m128i __X) {
3286
3184
  return (__m128i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0);
3287
3185
  }
3288
3186
 
@@ -3308,9 +3206,8 @@ _mm_broadcastq_epi64(__m128i __X)
3308
3206
  /// A 256-bit vector of [8 x i32] containing indexes of values to use from
3309
3207
  /// \a __a.
3310
3208
  /// \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
- {
3209
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3210
+ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b) {
3314
3211
  return (__m256i)__builtin_ia32_permvarsi256((__v8si)__a, (__v8si)__b);
3315
3212
  }
3316
3213
 
@@ -3366,9 +3263,8 @@ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
3366
3263
  /// A 256-bit vector of [8 x i32] containing indexes of values to use from
3367
3264
  /// \a __a.
3368
3265
  /// \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
- {
3266
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3267
+ _mm256_permutevar8x32_ps(__m256 __a, __m256i __b) {
3372
3268
  return (__m256)__builtin_ia32_permvarsf256((__v8sf)__a, (__v8si)__b);
3373
3269
  }
3374
3270
 
@@ -3756,7 +3652,7 @@ _mm_maskstore_epi64(long long *__X, __m128i __M, __m128i __Y)
3756
3652
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3757
3653
  /// bits).
3758
3654
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3759
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3655
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3760
3656
  _mm256_sllv_epi32(__m256i __X, __m256i __Y)
3761
3657
  {
3762
3658
  return (__m256i)__builtin_ia32_psllv8si((__v8si)__X, (__v8si)__Y);
@@ -3778,7 +3674,7 @@ _mm256_sllv_epi32(__m256i __X, __m256i __Y)
3778
3674
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3779
3675
  /// bits).
3780
3676
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3781
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3677
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3782
3678
  _mm_sllv_epi32(__m128i __X, __m128i __Y)
3783
3679
  {
3784
3680
  return (__m128i)__builtin_ia32_psllv4si((__v4si)__X, (__v4si)__Y);
@@ -3800,7 +3696,7 @@ _mm_sllv_epi32(__m128i __X, __m128i __Y)
3800
3696
  /// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
3801
3697
  /// bits).
3802
3698
  /// \returns A 256-bit vector of [4 x i64] containing the result.
3803
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3699
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3804
3700
  _mm256_sllv_epi64(__m256i __X, __m256i __Y)
3805
3701
  {
3806
3702
  return (__m256i)__builtin_ia32_psllv4di((__v4di)__X, (__v4di)__Y);
@@ -3822,7 +3718,7 @@ _mm256_sllv_epi64(__m256i __X, __m256i __Y)
3822
3718
  /// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
3823
3719
  /// bits).
3824
3720
  /// \returns A 128-bit vector of [2 x i64] containing the result.
3825
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3721
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3826
3722
  _mm_sllv_epi64(__m128i __X, __m128i __Y)
3827
3723
  {
3828
3724
  return (__m128i)__builtin_ia32_psllv2di((__v2di)__X, (__v2di)__Y);
@@ -3845,7 +3741,7 @@ _mm_sllv_epi64(__m128i __X, __m128i __Y)
3845
3741
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3846
3742
  /// bits).
3847
3743
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3848
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3744
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3849
3745
  _mm256_srav_epi32(__m256i __X, __m256i __Y)
3850
3746
  {
3851
3747
  return (__m256i)__builtin_ia32_psrav8si((__v8si)__X, (__v8si)__Y);
@@ -3868,7 +3764,7 @@ _mm256_srav_epi32(__m256i __X, __m256i __Y)
3868
3764
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3869
3765
  /// bits).
3870
3766
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3871
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3767
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3872
3768
  _mm_srav_epi32(__m128i __X, __m128i __Y)
3873
3769
  {
3874
3770
  return (__m128i)__builtin_ia32_psrav4si((__v4si)__X, (__v4si)__Y);
@@ -3890,7 +3786,7 @@ _mm_srav_epi32(__m128i __X, __m128i __Y)
3890
3786
  /// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
3891
3787
  /// bits).
3892
3788
  /// \returns A 256-bit vector of [8 x i32] containing the result.
3893
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3789
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3894
3790
  _mm256_srlv_epi32(__m256i __X, __m256i __Y)
3895
3791
  {
3896
3792
  return (__m256i)__builtin_ia32_psrlv8si((__v8si)__X, (__v8si)__Y);
@@ -3912,7 +3808,7 @@ _mm256_srlv_epi32(__m256i __X, __m256i __Y)
3912
3808
  /// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
3913
3809
  /// bits).
3914
3810
  /// \returns A 128-bit vector of [4 x i32] containing the result.
3915
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3811
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3916
3812
  _mm_srlv_epi32(__m128i __X, __m128i __Y)
3917
3813
  {
3918
3814
  return (__m128i)__builtin_ia32_psrlv4si((__v4si)__X, (__v4si)__Y);
@@ -3934,7 +3830,7 @@ _mm_srlv_epi32(__m128i __X, __m128i __Y)
3934
3830
  /// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
3935
3831
  /// bits).
3936
3832
  /// \returns A 256-bit vector of [4 x i64] containing the result.
3937
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
3833
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3938
3834
  _mm256_srlv_epi64(__m256i __X, __m256i __Y)
3939
3835
  {
3940
3836
  return (__m256i)__builtin_ia32_psrlv4di((__v4di)__X, (__v4di)__Y);
@@ -3956,7 +3852,7 @@ _mm256_srlv_epi64(__m256i __X, __m256i __Y)
3956
3852
  /// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
3957
3853
  /// bits).
3958
3854
  /// \returns A 128-bit vector of [2 x i64] containing the result.
3959
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
3855
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3960
3856
  _mm_srlv_epi64(__m128i __X, __m128i __Y)
3961
3857
  {
3962
3858
  return (__m128i)__builtin_ia32_psrlv2di((__v2di)__X, (__v2di)__Y);
@@ -5289,5 +5185,7 @@ _mm_srlv_epi64(__m128i __X, __m128i __Y)
5289
5185
 
5290
5186
  #undef __DEFAULT_FN_ATTRS256
5291
5187
  #undef __DEFAULT_FN_ATTRS128
5188
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
5189
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
5292
5190
 
5293
5191
  #endif /* __AVX2INTRIN_H */