@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
@@ -167,22 +167,23 @@ typedef enum
167
167
  } _MM_MANTISSA_SIGN_ENUM;
168
168
 
169
169
  /* Define the default attributes for the functions in this file. */
170
- #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,evex512"), __min_vector_width__(512)))
170
+ #define __DEFAULT_FN_ATTRS512 \
171
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), \
172
+ __min_vector_width__(512)))
171
173
  #define __DEFAULT_FN_ATTRS128 \
172
- __attribute__((__always_inline__, __nodebug__, \
173
- __target__("avx512f,no-evex512"), __min_vector_width__(128)))
174
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), \
175
+ __min_vector_width__(128)))
174
176
  #define __DEFAULT_FN_ATTRS \
175
- __attribute__((__always_inline__, __nodebug__, \
176
- __target__("avx512f,no-evex512")))
177
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512f")))
177
178
 
178
179
  #if defined(__cplusplus) && (__cplusplus >= 201103L)
179
180
  #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
180
181
  #define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
181
182
  #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
182
183
  #else
183
- #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS128
184
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
184
185
  #define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
185
- #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS
186
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
186
187
  #endif
187
188
 
188
189
  /* Create vectors with repeated elements */
@@ -206,9 +207,7 @@ _mm512_undefined(void)
206
207
  return (__m512)__builtin_ia32_undef512();
207
208
  }
208
209
 
209
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
210
- _mm512_undefined_ps(void)
211
- {
210
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_undefined_ps(void) {
212
211
  return (__m512)__builtin_ia32_undef512();
213
212
  }
214
213
 
@@ -218,48 +217,40 @@ _mm512_undefined_epi32(void)
218
217
  return (__m512i)__builtin_ia32_undef512();
219
218
  }
220
219
 
221
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
222
- _mm512_broadcastd_epi32 (__m128i __A)
223
- {
220
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
221
+ _mm512_broadcastd_epi32(__m128i __A) {
224
222
  return (__m512i)__builtin_shufflevector((__v4si) __A, (__v4si) __A,
225
223
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
226
224
  }
227
225
 
228
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
229
- _mm512_mask_broadcastd_epi32 (__m512i __O, __mmask16 __M, __m128i __A)
230
- {
226
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
227
+ _mm512_mask_broadcastd_epi32(__m512i __O, __mmask16 __M, __m128i __A) {
231
228
  return (__m512i)__builtin_ia32_selectd_512(__M,
232
229
  (__v16si) _mm512_broadcastd_epi32(__A),
233
230
  (__v16si) __O);
234
231
  }
235
232
 
236
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
237
- _mm512_maskz_broadcastd_epi32 (__mmask16 __M, __m128i __A)
238
- {
233
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
234
+ _mm512_maskz_broadcastd_epi32(__mmask16 __M, __m128i __A) {
239
235
  return (__m512i)__builtin_ia32_selectd_512(__M,
240
236
  (__v16si) _mm512_broadcastd_epi32(__A),
241
237
  (__v16si) _mm512_setzero_si512());
242
238
  }
243
239
 
244
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
245
- _mm512_broadcastq_epi64 (__m128i __A)
246
- {
240
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
241
+ _mm512_broadcastq_epi64(__m128i __A) {
247
242
  return (__m512i)__builtin_shufflevector((__v2di) __A, (__v2di) __A,
248
243
  0, 0, 0, 0, 0, 0, 0, 0);
249
244
  }
250
245
 
251
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
252
- _mm512_mask_broadcastq_epi64 (__m512i __O, __mmask8 __M, __m128i __A)
253
- {
254
- return (__m512i)__builtin_ia32_selectq_512(__M,
255
- (__v8di) _mm512_broadcastq_epi64(__A),
256
- (__v8di) __O);
257
-
246
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
247
+ _mm512_mask_broadcastq_epi64(__m512i __O, __mmask8 __M, __m128i __A) {
248
+ return (__m512i)__builtin_ia32_selectq_512(
249
+ __M, (__v8di)_mm512_broadcastq_epi64(__A), (__v8di)__O);
258
250
  }
259
251
 
260
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
261
- _mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
262
- {
252
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
253
+ _mm512_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
263
254
  return (__m512i)__builtin_ia32_selectq_512(__M,
264
255
  (__v8di) _mm512_broadcastq_epi64(__A),
265
256
  (__v8di) _mm512_setzero_si512());
@@ -277,20 +268,20 @@ _mm512_setzero_pd(void) {
277
268
  return __extension__(__m512d){0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
278
269
  }
279
270
 
280
- static __inline __m512 __DEFAULT_FN_ATTRS512
271
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
281
272
  _mm512_set1_ps(float __w)
282
273
  {
283
274
  return __extension__ (__m512){ __w, __w, __w, __w, __w, __w, __w, __w,
284
275
  __w, __w, __w, __w, __w, __w, __w, __w };
285
276
  }
286
277
 
287
- static __inline __m512d __DEFAULT_FN_ATTRS512
278
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
288
279
  _mm512_set1_pd(double __w)
289
280
  {
290
281
  return __extension__ (__m512d){ __w, __w, __w, __w, __w, __w, __w, __w };
291
282
  }
292
283
 
293
- static __inline __m512i __DEFAULT_FN_ATTRS512
284
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
294
285
  _mm512_set1_epi8(char __w)
295
286
  {
296
287
  return __extension__ (__m512i)(__v64qi){
@@ -304,7 +295,7 @@ _mm512_set1_epi8(char __w)
304
295
  __w, __w, __w, __w, __w, __w, __w, __w };
305
296
  }
306
297
 
307
- static __inline __m512i __DEFAULT_FN_ATTRS512
298
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
308
299
  _mm512_set1_epi16(short __w)
309
300
  {
310
301
  return __extension__ (__m512i)(__v32hi){
@@ -314,7 +305,7 @@ _mm512_set1_epi16(short __w)
314
305
  __w, __w, __w, __w, __w, __w, __w, __w };
315
306
  }
316
307
 
317
- static __inline __m512i __DEFAULT_FN_ATTRS512
308
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
318
309
  _mm512_set1_epi32(int __s)
319
310
  {
320
311
  return __extension__ (__m512i)(__v16si){
@@ -322,81 +313,80 @@ _mm512_set1_epi32(int __s)
322
313
  __s, __s, __s, __s, __s, __s, __s, __s };
323
314
  }
324
315
 
325
- static __inline __m512i __DEFAULT_FN_ATTRS512
326
- _mm512_maskz_set1_epi32(__mmask16 __M, int __A)
327
- {
316
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
317
+ _mm512_maskz_set1_epi32(__mmask16 __M, int __A) {
328
318
  return (__m512i)__builtin_ia32_selectd_512(__M,
329
319
  (__v16si)_mm512_set1_epi32(__A),
330
320
  (__v16si)_mm512_setzero_si512());
331
321
  }
332
322
 
333
- static __inline __m512i __DEFAULT_FN_ATTRS512
323
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
334
324
  _mm512_set1_epi64(long long __d)
335
325
  {
336
326
  return __extension__(__m512i)(__v8di){ __d, __d, __d, __d, __d, __d, __d, __d };
337
327
  }
338
328
 
339
- static __inline __m512i __DEFAULT_FN_ATTRS512
340
- _mm512_maskz_set1_epi64(__mmask8 __M, long long __A)
341
- {
329
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
330
+ _mm512_maskz_set1_epi64(__mmask8 __M, long long __A) {
342
331
  return (__m512i)__builtin_ia32_selectq_512(__M,
343
332
  (__v8di)_mm512_set1_epi64(__A),
344
333
  (__v8di)_mm512_setzero_si512());
345
334
  }
346
335
 
347
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
348
- _mm512_broadcastss_ps(__m128 __A)
349
- {
336
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
337
+ _mm512_broadcastss_ps(__m128 __A) {
350
338
  return (__m512)__builtin_shufflevector((__v4sf) __A, (__v4sf) __A,
351
339
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
352
340
  }
353
341
 
354
- static __inline __m512i __DEFAULT_FN_ATTRS512
355
- _mm512_set4_epi32 (int __A, int __B, int __C, int __D)
356
- {
342
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
343
+ _mm512_set4_epi32(int __A, int __B, int __C, int __D) {
357
344
  return __extension__ (__m512i)(__v16si)
358
345
  { __D, __C, __B, __A, __D, __C, __B, __A,
359
346
  __D, __C, __B, __A, __D, __C, __B, __A };
360
347
  }
361
348
 
362
- static __inline __m512i __DEFAULT_FN_ATTRS512
363
- _mm512_set4_epi64 (long long __A, long long __B, long long __C,
364
- long long __D)
365
- {
349
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
350
+ _mm512_set4_epi64(long long __A, long long __B, long long __C, long long __D) {
366
351
  return __extension__ (__m512i) (__v8di)
367
352
  { __D, __C, __B, __A, __D, __C, __B, __A };
368
353
  }
369
354
 
370
- static __inline __m512d __DEFAULT_FN_ATTRS512
371
- _mm512_set4_pd (double __A, double __B, double __C, double __D)
372
- {
355
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
356
+ _mm512_set4_pd(double __A, double __B, double __C, double __D) {
373
357
  return __extension__ (__m512d)
374
358
  { __D, __C, __B, __A, __D, __C, __B, __A };
375
359
  }
376
360
 
377
- static __inline __m512 __DEFAULT_FN_ATTRS512
378
- _mm512_set4_ps (float __A, float __B, float __C, float __D)
379
- {
361
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
362
+ _mm512_set4_ps(float __A, float __B, float __C, float __D) {
380
363
  return __extension__ (__m512)
381
364
  { __D, __C, __B, __A, __D, __C, __B, __A,
382
365
  __D, __C, __B, __A, __D, __C, __B, __A };
383
366
  }
384
367
 
385
- #define _mm512_setr4_epi32(e0,e1,e2,e3) \
386
- _mm512_set4_epi32((e3),(e2),(e1),(e0))
368
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
369
+ _mm512_setr4_epi32(int e0, int e1, int e2, int e3) {
370
+ return _mm512_set4_epi32(e3, e2, e1, e0);
371
+ }
387
372
 
388
- #define _mm512_setr4_epi64(e0,e1,e2,e3) \
389
- _mm512_set4_epi64((e3),(e2),(e1),(e0))
373
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
374
+ _mm512_setr4_epi64(long long e0, long long e1, long long e2, long long e3) {
375
+ return _mm512_set4_epi64(e3, e2, e1, e0);
376
+ }
390
377
 
391
- #define _mm512_setr4_pd(e0,e1,e2,e3) \
392
- _mm512_set4_pd((e3),(e2),(e1),(e0))
378
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
379
+ _mm512_setr4_pd(double e0, double e1, double e2, double e3) {
380
+ return _mm512_set4_pd(e3, e2, e1, e0);
381
+ }
393
382
 
394
- #define _mm512_setr4_ps(e0,e1,e2,e3) \
395
- _mm512_set4_ps((e3),(e2),(e1),(e0))
383
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
384
+ _mm512_setr4_ps(float e0, float e1, float e2, float e3) {
385
+ return _mm512_set4_ps(e3, e2, e1, e0);
386
+ }
396
387
 
397
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
398
- _mm512_broadcastsd_pd(__m128d __A)
399
- {
388
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
389
+ _mm512_broadcastsd_pd(__m128d __A) {
400
390
  return (__m512d)__builtin_shufflevector((__v2df) __A, (__v2df) __A,
401
391
  0, 0, 0, 0, 0, 0, 0, 0);
402
392
  }
@@ -417,37 +407,36 @@ _mm512_castps256_ps512(__m256 __a)
417
407
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
418
408
  }
419
409
 
420
- static __inline __m128d __DEFAULT_FN_ATTRS512
410
+ static __inline __m128d __DEFAULT_FN_ATTRS512_CONSTEXPR
421
411
  _mm512_castpd512_pd128(__m512d __a)
422
412
  {
423
413
  return __builtin_shufflevector(__a, __a, 0, 1);
424
414
  }
425
415
 
426
- static __inline __m256d __DEFAULT_FN_ATTRS512
416
+ static __inline __m256d __DEFAULT_FN_ATTRS512_CONSTEXPR
427
417
  _mm512_castpd512_pd256 (__m512d __A)
428
418
  {
429
419
  return __builtin_shufflevector(__A, __A, 0, 1, 2, 3);
430
420
  }
431
421
 
432
- static __inline __m128 __DEFAULT_FN_ATTRS512
422
+ static __inline __m128 __DEFAULT_FN_ATTRS512_CONSTEXPR
433
423
  _mm512_castps512_ps128(__m512 __a)
434
424
  {
435
425
  return __builtin_shufflevector(__a, __a, 0, 1, 2, 3);
436
426
  }
437
427
 
438
- static __inline __m256 __DEFAULT_FN_ATTRS512
439
- _mm512_castps512_ps256 (__m512 __A)
440
- {
428
+ static __inline __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
429
+ _mm512_castps512_ps256(__m512 __A) {
441
430
  return __builtin_shufflevector(__A, __A, 0, 1, 2, 3, 4, 5, 6, 7);
442
431
  }
443
432
 
444
- static __inline __m512 __DEFAULT_FN_ATTRS512
433
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
445
434
  _mm512_castpd_ps (__m512d __A)
446
435
  {
447
436
  return (__m512) (__A);
448
437
  }
449
438
 
450
- static __inline __m512i __DEFAULT_FN_ATTRS512
439
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
451
440
  _mm512_castpd_si512 (__m512d __A)
452
441
  {
453
442
  return (__m512i) (__A);
@@ -462,13 +451,13 @@ _mm512_castpd128_pd512 (__m128d __A)
462
451
  __B, 0, 1, 2, 3, 4, 5, 6, 7);
463
452
  }
464
453
 
465
- static __inline __m512d __DEFAULT_FN_ATTRS512
454
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
466
455
  _mm512_castps_pd (__m512 __A)
467
456
  {
468
457
  return (__m512d) (__A);
469
458
  }
470
459
 
471
- static __inline __m512i __DEFAULT_FN_ATTRS512
460
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
472
461
  _mm512_castps_si512 (__m512 __A)
473
462
  {
474
463
  return (__m512i) (__A);
@@ -498,39 +487,36 @@ _mm512_castsi256_si512 (__m256i __A)
498
487
  return __builtin_shufflevector( __A, __builtin_nondeterministic_value(__A), 0, 1, 2, 3, 4, 5, 6, 7);
499
488
  }
500
489
 
501
- static __inline __m512 __DEFAULT_FN_ATTRS512
490
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
502
491
  _mm512_castsi512_ps (__m512i __A)
503
492
  {
504
493
  return (__m512) (__A);
505
494
  }
506
495
 
507
- static __inline __m512d __DEFAULT_FN_ATTRS512
496
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
508
497
  _mm512_castsi512_pd (__m512i __A)
509
498
  {
510
499
  return (__m512d) (__A);
511
500
  }
512
501
 
513
- static __inline __m128i __DEFAULT_FN_ATTRS512
502
+ static __inline __m128i __DEFAULT_FN_ATTRS512_CONSTEXPR
514
503
  _mm512_castsi512_si128 (__m512i __A)
515
504
  {
516
505
  return (__m128i)__builtin_shufflevector(__A, __A , 0, 1);
517
506
  }
518
507
 
519
- static __inline __m256i __DEFAULT_FN_ATTRS512
520
- _mm512_castsi512_si256 (__m512i __A)
521
- {
508
+ static __inline __m256i __DEFAULT_FN_ATTRS512_CONSTEXPR
509
+ _mm512_castsi512_si256(__m512i __A) {
522
510
  return (__m256i)__builtin_shufflevector(__A, __A , 0, 1, 2, 3);
523
511
  }
524
512
 
525
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
526
- _mm512_int2mask(int __a)
527
- {
513
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
514
+ _mm512_int2mask(int __a) {
528
515
  return (__mmask16)__a;
529
516
  }
530
517
 
531
- static __inline__ int __DEFAULT_FN_ATTRS
532
- _mm512_mask2int(__mmask16 __a)
533
- {
518
+ static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
519
+ _mm512_mask2int(__mmask16 __a) {
534
520
  return (int)__a;
535
521
  }
536
522
 
@@ -547,9 +533,8 @@ _mm512_mask2int(__mmask16 __a)
547
533
  /// A 128-bit vector of [2 x double].
548
534
  /// \returns A 512-bit floating-point vector of [8 x double]. The lower 128 bits
549
535
  /// contain the value of the parameter. The upper 384 bits are set to zero.
550
- static __inline __m512d __DEFAULT_FN_ATTRS512
551
- _mm512_zextpd128_pd512(__m128d __a)
552
- {
536
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
537
+ _mm512_zextpd128_pd512(__m128d __a) {
553
538
  return __builtin_shufflevector((__v2df)__a, (__v2df)_mm_setzero_pd(), 0, 1, 2, 3, 2, 3, 2, 3);
554
539
  }
555
540
 
@@ -566,9 +551,8 @@ _mm512_zextpd128_pd512(__m128d __a)
566
551
  /// A 256-bit vector of [4 x double].
567
552
  /// \returns A 512-bit floating-point vector of [8 x double]. The lower 256 bits
568
553
  /// contain the value of the parameter. The upper 256 bits are set to zero.
569
- static __inline __m512d __DEFAULT_FN_ATTRS512
570
- _mm512_zextpd256_pd512(__m256d __a)
571
- {
554
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
555
+ _mm512_zextpd256_pd512(__m256d __a) {
572
556
  return __builtin_shufflevector((__v4df)__a, (__v4df)_mm256_setzero_pd(), 0, 1, 2, 3, 4, 5, 6, 7);
573
557
  }
574
558
 
@@ -584,9 +568,8 @@ _mm512_zextpd256_pd512(__m256d __a)
584
568
  /// A 128-bit vector of [4 x float].
585
569
  /// \returns A 512-bit floating-point vector of [16 x float]. The lower 128 bits
586
570
  /// contain the value of the parameter. The upper 384 bits are set to zero.
587
- static __inline __m512 __DEFAULT_FN_ATTRS512
588
- _mm512_zextps128_ps512(__m128 __a)
589
- {
571
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
572
+ _mm512_zextps128_ps512(__m128 __a) {
590
573
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)_mm_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7);
591
574
  }
592
575
 
@@ -602,9 +585,8 @@ _mm512_zextps128_ps512(__m128 __a)
602
585
  /// A 256-bit vector of [8 x float].
603
586
  /// \returns A 512-bit floating-point vector of [16 x float]. The lower 256 bits
604
587
  /// contain the value of the parameter. The upper 256 bits are set to zero.
605
- static __inline __m512 __DEFAULT_FN_ATTRS512
606
- _mm512_zextps256_ps512(__m256 __a)
607
- {
588
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
589
+ _mm512_zextps256_ps512(__m256 __a) {
608
590
  return __builtin_shufflevector((__v8sf)__a, (__v8sf)_mm256_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
609
591
  }
610
592
 
@@ -620,9 +602,8 @@ _mm512_zextps256_ps512(__m256 __a)
620
602
  /// A 128-bit integer vector.
621
603
  /// \returns A 512-bit integer vector. The lower 128 bits contain the value of
622
604
  /// the parameter. The upper 384 bits are set to zero.
623
- static __inline __m512i __DEFAULT_FN_ATTRS512
624
- _mm512_zextsi128_si512(__m128i __a)
625
- {
605
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
606
+ _mm512_zextsi128_si512(__m128i __a) {
626
607
  return __builtin_shufflevector((__v2di)__a, (__v2di)_mm_setzero_si128(), 0, 1, 2, 3, 2, 3, 2, 3);
627
608
  }
628
609
 
@@ -638,22 +619,20 @@ _mm512_zextsi128_si512(__m128i __a)
638
619
  /// A 256-bit integer vector.
639
620
  /// \returns A 512-bit integer vector. The lower 256 bits contain the value of
640
621
  /// the parameter. The upper 256 bits are set to zero.
641
- static __inline __m512i __DEFAULT_FN_ATTRS512
642
- _mm512_zextsi256_si512(__m256i __a)
643
- {
622
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
623
+ _mm512_zextsi256_si512(__m256i __a) {
644
624
  return __builtin_shufflevector((__v4di)__a, (__v4di)_mm256_setzero_si256(), 0, 1, 2, 3, 4, 5, 6, 7);
645
625
  }
646
626
 
647
627
  /* Bitwise operators */
648
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
628
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
649
629
  _mm512_and_epi32(__m512i __a, __m512i __b)
650
630
  {
651
631
  return (__m512i)((__v16su)__a & (__v16su)__b);
652
632
  }
653
633
 
654
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
655
- _mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
656
- {
634
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
635
+ _mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b) {
657
636
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__k,
658
637
  (__v16si) _mm512_and_epi32(__a, __b),
659
638
  (__v16si) __src);
@@ -666,18 +645,16 @@ _mm512_maskz_and_epi32(__mmask16 __k, __m512i __a, __m512i __b)
666
645
  __k, __a, __b);
667
646
  }
668
647
 
669
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
648
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
670
649
  _mm512_and_epi64(__m512i __a, __m512i __b)
671
650
  {
672
651
  return (__m512i)((__v8du)__a & (__v8du)__b);
673
652
  }
674
653
 
675
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
676
- _mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
677
- {
678
- return (__m512i) __builtin_ia32_selectq_512 ((__mmask8) __k,
679
- (__v8di) _mm512_and_epi64(__a, __b),
680
- (__v8di) __src);
654
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
655
+ _mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b) {
656
+ return (__m512i)__builtin_ia32_selectq_512(
657
+ (__mmask8)__k, (__v8di)_mm512_and_epi64(__a, __b), (__v8di)__src);
681
658
  }
682
659
 
683
660
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -687,13 +664,13 @@ _mm512_maskz_and_epi64(__mmask8 __k, __m512i __a, __m512i __b)
687
664
  __k, __a, __b);
688
665
  }
689
666
 
690
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
667
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
691
668
  _mm512_andnot_si512 (__m512i __A, __m512i __B)
692
669
  {
693
670
  return (__m512i)(~(__v8du)__A & (__v8du)__B);
694
671
  }
695
672
 
696
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
673
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
697
674
  _mm512_andnot_epi32 (__m512i __A, __m512i __B)
698
675
  {
699
676
  return (__m512i)(~(__v16su)__A & (__v16su)__B);
@@ -714,7 +691,7 @@ _mm512_maskz_andnot_epi32(__mmask16 __U, __m512i __A, __m512i __B)
714
691
  __U, __A, __B);
715
692
  }
716
693
 
717
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
694
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
718
695
  _mm512_andnot_epi64(__m512i __A, __m512i __B)
719
696
  {
720
697
  return (__m512i)(~(__v8du)__A & (__v8du)__B);
@@ -735,7 +712,7 @@ _mm512_maskz_andnot_epi64(__mmask8 __U, __m512i __A, __m512i __B)
735
712
  __U, __A, __B);
736
713
  }
737
714
 
738
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
715
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
739
716
  _mm512_or_epi32(__m512i __a, __m512i __b)
740
717
  {
741
718
  return (__m512i)((__v16su)__a | (__v16su)__b);
@@ -755,7 +732,7 @@ _mm512_maskz_or_epi32(__mmask16 __k, __m512i __a, __m512i __b)
755
732
  return (__m512i)_mm512_mask_or_epi32(_mm512_setzero_si512(), __k, __a, __b);
756
733
  }
757
734
 
758
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
735
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
759
736
  _mm512_or_epi64(__m512i __a, __m512i __b)
760
737
  {
761
738
  return (__m512i)((__v8du)__a | (__v8du)__b);
@@ -775,7 +752,7 @@ _mm512_maskz_or_epi64(__mmask8 __k, __m512i __a, __m512i __b)
775
752
  return (__m512i)_mm512_mask_or_epi64(_mm512_setzero_si512(), __k, __a, __b);
776
753
  }
777
754
 
778
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
755
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
779
756
  _mm512_xor_epi32(__m512i __a, __m512i __b)
780
757
  {
781
758
  return (__m512i)((__v16su)__a ^ (__v16su)__b);
@@ -795,7 +772,7 @@ _mm512_maskz_xor_epi32(__mmask16 __k, __m512i __a, __m512i __b)
795
772
  return (__m512i)_mm512_mask_xor_epi32(_mm512_setzero_si512(), __k, __a, __b);
796
773
  }
797
774
 
798
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
775
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
799
776
  _mm512_xor_epi64(__m512i __a, __m512i __b)
800
777
  {
801
778
  return (__m512i)((__v8du)__a ^ (__v8du)__b);
@@ -815,19 +792,19 @@ _mm512_maskz_xor_epi64(__mmask8 __k, __m512i __a, __m512i __b)
815
792
  return (__m512i)_mm512_mask_xor_epi64(_mm512_setzero_si512(), __k, __a, __b);
816
793
  }
817
794
 
818
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
795
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
819
796
  _mm512_and_si512(__m512i __a, __m512i __b)
820
797
  {
821
798
  return (__m512i)((__v8du)__a & (__v8du)__b);
822
799
  }
823
800
 
824
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
801
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
825
802
  _mm512_or_si512(__m512i __a, __m512i __b)
826
803
  {
827
804
  return (__m512i)((__v8du)__a | (__v8du)__b);
828
805
  }
829
806
 
830
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
807
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
831
808
  _mm512_xor_si512(__m512i __a, __m512i __b)
832
809
  {
833
810
  return (__m512i)((__v8du)__a ^ (__v8du)__b);
@@ -835,125 +812,107 @@ _mm512_xor_si512(__m512i __a, __m512i __b)
835
812
 
836
813
  /* Arithmetic */
837
814
 
838
- static __inline __m512d __DEFAULT_FN_ATTRS512
839
- _mm512_add_pd(__m512d __a, __m512d __b)
840
- {
815
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
816
+ _mm512_add_pd(__m512d __a, __m512d __b) {
841
817
  return (__m512d)((__v8df)__a + (__v8df)__b);
842
818
  }
843
819
 
844
- static __inline __m512 __DEFAULT_FN_ATTRS512
845
- _mm512_add_ps(__m512 __a, __m512 __b)
846
- {
820
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
821
+ _mm512_add_ps(__m512 __a, __m512 __b) {
847
822
  return (__m512)((__v16sf)__a + (__v16sf)__b);
848
823
  }
849
824
 
850
- static __inline __m512d __DEFAULT_FN_ATTRS512
851
- _mm512_mul_pd(__m512d __a, __m512d __b)
852
- {
825
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
826
+ _mm512_mul_pd(__m512d __a, __m512d __b) {
853
827
  return (__m512d)((__v8df)__a * (__v8df)__b);
854
828
  }
855
829
 
856
- static __inline __m512 __DEFAULT_FN_ATTRS512
857
- _mm512_mul_ps(__m512 __a, __m512 __b)
858
- {
830
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
831
+ _mm512_mul_ps(__m512 __a, __m512 __b) {
859
832
  return (__m512)((__v16sf)__a * (__v16sf)__b);
860
833
  }
861
834
 
862
- static __inline __m512d __DEFAULT_FN_ATTRS512
863
- _mm512_sub_pd(__m512d __a, __m512d __b)
864
- {
835
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
836
+ _mm512_sub_pd(__m512d __a, __m512d __b) {
865
837
  return (__m512d)((__v8df)__a - (__v8df)__b);
866
838
  }
867
839
 
868
- static __inline __m512 __DEFAULT_FN_ATTRS512
869
- _mm512_sub_ps(__m512 __a, __m512 __b)
870
- {
840
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
841
+ _mm512_sub_ps(__m512 __a, __m512 __b) {
871
842
  return (__m512)((__v16sf)__a - (__v16sf)__b);
872
843
  }
873
844
 
874
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
875
- _mm512_add_epi64 (__m512i __A, __m512i __B)
876
- {
845
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
846
+ _mm512_add_epi64(__m512i __A, __m512i __B) {
877
847
  return (__m512i) ((__v8du) __A + (__v8du) __B);
878
848
  }
879
849
 
880
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
881
- _mm512_mask_add_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
882
- {
850
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
851
+ _mm512_mask_add_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
883
852
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
884
853
  (__v8di)_mm512_add_epi64(__A, __B),
885
854
  (__v8di)__W);
886
855
  }
887
856
 
888
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
889
- _mm512_maskz_add_epi64(__mmask8 __U, __m512i __A, __m512i __B)
890
- {
857
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
858
+ _mm512_maskz_add_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
891
859
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
892
860
  (__v8di)_mm512_add_epi64(__A, __B),
893
861
  (__v8di)_mm512_setzero_si512());
894
862
  }
895
863
 
896
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
897
- _mm512_sub_epi64 (__m512i __A, __m512i __B)
898
- {
864
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
865
+ _mm512_sub_epi64(__m512i __A, __m512i __B) {
899
866
  return (__m512i) ((__v8du) __A - (__v8du) __B);
900
867
  }
901
868
 
902
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
903
- _mm512_mask_sub_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
904
- {
869
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
870
+ _mm512_mask_sub_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
905
871
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
906
872
  (__v8di)_mm512_sub_epi64(__A, __B),
907
873
  (__v8di)__W);
908
874
  }
909
875
 
910
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
911
- _mm512_maskz_sub_epi64(__mmask8 __U, __m512i __A, __m512i __B)
912
- {
876
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
877
+ _mm512_maskz_sub_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
913
878
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
914
879
  (__v8di)_mm512_sub_epi64(__A, __B),
915
880
  (__v8di)_mm512_setzero_si512());
916
881
  }
917
882
 
918
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
919
- _mm512_add_epi32 (__m512i __A, __m512i __B)
920
- {
883
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
884
+ _mm512_add_epi32(__m512i __A, __m512i __B) {
921
885
  return (__m512i) ((__v16su) __A + (__v16su) __B);
922
886
  }
923
887
 
924
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
925
- _mm512_mask_add_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
926
- {
888
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
889
+ _mm512_mask_add_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
927
890
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
928
891
  (__v16si)_mm512_add_epi32(__A, __B),
929
892
  (__v16si)__W);
930
893
  }
931
894
 
932
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
933
- _mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
934
- {
895
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
896
+ _mm512_maskz_add_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
935
897
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
936
898
  (__v16si)_mm512_add_epi32(__A, __B),
937
899
  (__v16si)_mm512_setzero_si512());
938
900
  }
939
901
 
940
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
941
- _mm512_sub_epi32 (__m512i __A, __m512i __B)
942
- {
902
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
903
+ _mm512_sub_epi32(__m512i __A, __m512i __B) {
943
904
  return (__m512i) ((__v16su) __A - (__v16su) __B);
944
905
  }
945
906
 
946
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
947
- _mm512_mask_sub_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
948
- {
907
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
908
+ _mm512_mask_sub_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
949
909
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
950
910
  (__v16si)_mm512_sub_epi32(__A, __B),
951
911
  (__v16si)__W);
952
912
  }
953
913
 
954
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
955
- _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
956
- {
914
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
915
+ _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
957
916
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
958
917
  (__v16si)_mm512_sub_epi32(__A, __B),
959
918
  (__v16si)_mm512_setzero_si512());
@@ -973,24 +932,21 @@ _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
973
932
  (__v8df)_mm512_max_round_pd((A), (B), (R)), \
974
933
  (__v8df)_mm512_setzero_pd()))
975
934
 
976
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
977
- _mm512_max_pd(__m512d __A, __m512d __B)
978
- {
935
+ static __inline__ __m512d
936
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_pd(__m512d __A, __m512d __B) {
979
937
  return (__m512d) __builtin_ia32_maxpd512((__v8df) __A, (__v8df) __B,
980
938
  _MM_FROUND_CUR_DIRECTION);
981
939
  }
982
940
 
983
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
984
- _mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
985
- {
941
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
942
+ _mm512_mask_max_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
986
943
  return (__m512d)__builtin_ia32_selectpd_512(__U,
987
944
  (__v8df)_mm512_max_pd(__A, __B),
988
945
  (__v8df)__W);
989
946
  }
990
947
 
991
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
992
- _mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
993
- {
948
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
949
+ _mm512_maskz_max_pd(__mmask8 __U, __m512d __A, __m512d __B) {
994
950
  return (__m512d)__builtin_ia32_selectpd_512(__U,
995
951
  (__v8df)_mm512_max_pd(__A, __B),
996
952
  (__v8df)_mm512_setzero_pd());
@@ -1010,31 +966,30 @@ _mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
1010
966
  (__v16sf)_mm512_max_round_ps((A), (B), (R)), \
1011
967
  (__v16sf)_mm512_setzero_ps()))
1012
968
 
1013
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1014
- _mm512_max_ps(__m512 __A, __m512 __B)
1015
- {
969
+ static __inline__ __m512
970
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_ps(__m512 __A, __m512 __B) {
1016
971
  return (__m512) __builtin_ia32_maxps512((__v16sf) __A, (__v16sf) __B,
1017
972
  _MM_FROUND_CUR_DIRECTION);
1018
973
  }
1019
974
 
1020
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1021
- _mm512_mask_max_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
1022
- {
975
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
976
+ _mm512_mask_max_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
1023
977
  return (__m512)__builtin_ia32_selectps_512(__U,
1024
978
  (__v16sf)_mm512_max_ps(__A, __B),
1025
979
  (__v16sf)__W);
1026
980
  }
1027
981
 
1028
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1029
- _mm512_maskz_max_ps (__mmask16 __U, __m512 __A, __m512 __B)
1030
- {
982
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
983
+ _mm512_maskz_max_ps(__mmask16 __U, __m512 __A, __m512 __B) {
1031
984
  return (__m512)__builtin_ia32_selectps_512(__U,
1032
985
  (__v16sf)_mm512_max_ps(__A, __B),
1033
986
  (__v16sf)_mm512_setzero_ps());
1034
987
  }
1035
988
 
1036
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1037
- _mm_mask_max_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
989
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_mask_max_ss(__m128 __W,
990
+ __mmask8 __U,
991
+ __m128 __A,
992
+ __m128 __B) {
1038
993
  return (__m128) __builtin_ia32_maxss_round_mask ((__v4sf) __A,
1039
994
  (__v4sf) __B,
1040
995
  (__v4sf) __W,
@@ -1042,8 +997,9 @@ _mm_mask_max_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1042
997
  _MM_FROUND_CUR_DIRECTION);
1043
998
  }
1044
999
 
1045
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1046
- _mm_maskz_max_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1000
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_maskz_max_ss(__mmask8 __U,
1001
+ __m128 __A,
1002
+ __m128 __B) {
1047
1003
  return (__m128) __builtin_ia32_maxss_round_mask ((__v4sf) __A,
1048
1004
  (__v4sf) __B,
1049
1005
  (__v4sf) _mm_setzero_ps (),
@@ -1069,8 +1025,10 @@ _mm_maskz_max_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1069
1025
  (__v4sf)_mm_setzero_ps(), \
1070
1026
  (__mmask8)(U), (int)(R)))
1071
1027
 
1072
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1073
- _mm_mask_max_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1028
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_mask_max_sd(__m128d __W,
1029
+ __mmask8 __U,
1030
+ __m128d __A,
1031
+ __m128d __B) {
1074
1032
  return (__m128d) __builtin_ia32_maxsd_round_mask ((__v2df) __A,
1075
1033
  (__v2df) __B,
1076
1034
  (__v2df) __W,
@@ -1078,8 +1036,9 @@ _mm_mask_max_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1078
1036
  _MM_FROUND_CUR_DIRECTION);
1079
1037
  }
1080
1038
 
1081
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1082
- _mm_maskz_max_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1039
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_maskz_max_sd(__mmask8 __U,
1040
+ __m128d __A,
1041
+ __m128d __B) {
1083
1042
  return (__m128d) __builtin_ia32_maxsd_round_mask ((__v2df) __A,
1084
1043
  (__v2df) __B,
1085
1044
  (__v2df) _mm_setzero_pd (),
@@ -1106,89 +1065,76 @@ _mm_maskz_max_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1106
1065
  (__mmask8)(U), (int)(R)))
1107
1066
 
1108
1067
  static __inline __m512i
1109
- __DEFAULT_FN_ATTRS512
1110
- _mm512_max_epi32(__m512i __A, __m512i __B)
1111
- {
1068
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epi32(__m512i __A, __m512i __B) {
1112
1069
  return (__m512i)__builtin_elementwise_max((__v16si)__A, (__v16si)__B);
1113
1070
  }
1114
1071
 
1115
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1116
- _mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1117
- {
1072
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1073
+ _mm512_mask_max_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
1118
1074
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1119
1075
  (__v16si)_mm512_max_epi32(__A, __B),
1120
1076
  (__v16si)__W);
1121
1077
  }
1122
1078
 
1123
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1124
- _mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
1125
- {
1079
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1080
+ _mm512_maskz_max_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
1126
1081
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1127
1082
  (__v16si)_mm512_max_epi32(__A, __B),
1128
1083
  (__v16si)_mm512_setzero_si512());
1129
1084
  }
1130
1085
 
1131
- static __inline __m512i __DEFAULT_FN_ATTRS512
1132
- _mm512_max_epu32(__m512i __A, __m512i __B)
1133
- {
1086
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1087
+ _mm512_max_epu32(__m512i __A, __m512i __B) {
1134
1088
  return (__m512i)__builtin_elementwise_max((__v16su)__A, (__v16su)__B);
1135
1089
  }
1136
1090
 
1137
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1138
- _mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1139
- {
1091
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1092
+ _mm512_mask_max_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
1140
1093
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1141
1094
  (__v16si)_mm512_max_epu32(__A, __B),
1142
1095
  (__v16si)__W);
1143
1096
  }
1144
1097
 
1145
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1146
- _mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
1147
- {
1098
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1099
+ _mm512_maskz_max_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
1148
1100
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1149
1101
  (__v16si)_mm512_max_epu32(__A, __B),
1150
1102
  (__v16si)_mm512_setzero_si512());
1151
1103
  }
1152
1104
 
1153
- static __inline __m512i __DEFAULT_FN_ATTRS512
1154
- _mm512_max_epi64(__m512i __A, __m512i __B)
1155
- {
1105
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1106
+ _mm512_max_epi64(__m512i __A, __m512i __B) {
1156
1107
  return (__m512i)__builtin_elementwise_max((__v8di)__A, (__v8di)__B);
1157
1108
  }
1158
1109
 
1159
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1160
- _mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1161
- {
1110
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1111
+ _mm512_mask_max_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
1162
1112
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1163
1113
  (__v8di)_mm512_max_epi64(__A, __B),
1164
1114
  (__v8di)__W);
1165
1115
  }
1166
1116
 
1167
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1168
- _mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
1169
- {
1117
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1118
+ _mm512_maskz_max_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
1170
1119
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1171
1120
  (__v8di)_mm512_max_epi64(__A, __B),
1172
1121
  (__v8di)_mm512_setzero_si512());
1173
1122
  }
1174
1123
 
1175
- static __inline __m512i __DEFAULT_FN_ATTRS512
1176
- _mm512_max_epu64(__m512i __A, __m512i __B)
1177
- {
1124
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1125
+ _mm512_max_epu64(__m512i __A, __m512i __B) {
1178
1126
  return (__m512i)__builtin_elementwise_max((__v8du)__A, (__v8du)__B);
1179
1127
  }
1180
1128
 
1181
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1182
- _mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1183
- {
1129
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1130
+ _mm512_mask_max_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
1184
1131
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1185
1132
  (__v8di)_mm512_max_epu64(__A, __B),
1186
1133
  (__v8di)__W);
1187
1134
  }
1188
1135
 
1189
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1190
- _mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
1191
- {
1136
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1137
+ _mm512_maskz_max_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
1192
1138
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1193
1139
  (__v8di)_mm512_max_epu64(__A, __B),
1194
1140
  (__v8di)_mm512_setzero_si512());
@@ -1208,24 +1154,21 @@ _mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
1208
1154
  (__v8df)_mm512_min_round_pd((A), (B), (R)), \
1209
1155
  (__v8df)_mm512_setzero_pd()))
1210
1156
 
1211
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1212
- _mm512_min_pd(__m512d __A, __m512d __B)
1213
- {
1157
+ static __inline__ __m512d
1158
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_pd(__m512d __A, __m512d __B) {
1214
1159
  return (__m512d) __builtin_ia32_minpd512((__v8df) __A, (__v8df) __B,
1215
1160
  _MM_FROUND_CUR_DIRECTION);
1216
1161
  }
1217
1162
 
1218
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1219
- _mm512_mask_min_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
1220
- {
1163
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1164
+ _mm512_mask_min_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
1221
1165
  return (__m512d)__builtin_ia32_selectpd_512(__U,
1222
1166
  (__v8df)_mm512_min_pd(__A, __B),
1223
1167
  (__v8df)__W);
1224
1168
  }
1225
1169
 
1226
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1227
- _mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
1228
- {
1170
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1171
+ _mm512_maskz_min_pd(__mmask8 __U, __m512d __A, __m512d __B) {
1229
1172
  return (__m512d)__builtin_ia32_selectpd_512(__U,
1230
1173
  (__v8df)_mm512_min_pd(__A, __B),
1231
1174
  (__v8df)_mm512_setzero_pd());
@@ -1245,31 +1188,30 @@ _mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
1245
1188
  (__v16sf)_mm512_min_round_ps((A), (B), (R)), \
1246
1189
  (__v16sf)_mm512_setzero_ps()))
1247
1190
 
1248
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1249
- _mm512_min_ps(__m512 __A, __m512 __B)
1250
- {
1191
+ static __inline__ __m512
1192
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_ps(__m512 __A, __m512 __B) {
1251
1193
  return (__m512) __builtin_ia32_minps512((__v16sf) __A, (__v16sf) __B,
1252
1194
  _MM_FROUND_CUR_DIRECTION);
1253
1195
  }
1254
1196
 
1255
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1256
- _mm512_mask_min_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
1257
- {
1197
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1198
+ _mm512_mask_min_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
1258
1199
  return (__m512)__builtin_ia32_selectps_512(__U,
1259
1200
  (__v16sf)_mm512_min_ps(__A, __B),
1260
1201
  (__v16sf)__W);
1261
1202
  }
1262
1203
 
1263
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1264
- _mm512_maskz_min_ps (__mmask16 __U, __m512 __A, __m512 __B)
1265
- {
1204
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1205
+ _mm512_maskz_min_ps(__mmask16 __U, __m512 __A, __m512 __B) {
1266
1206
  return (__m512)__builtin_ia32_selectps_512(__U,
1267
1207
  (__v16sf)_mm512_min_ps(__A, __B),
1268
1208
  (__v16sf)_mm512_setzero_ps());
1269
1209
  }
1270
1210
 
1271
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1272
- _mm_mask_min_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1211
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_mask_min_ss(__m128 __W,
1212
+ __mmask8 __U,
1213
+ __m128 __A,
1214
+ __m128 __B) {
1273
1215
  return (__m128) __builtin_ia32_minss_round_mask ((__v4sf) __A,
1274
1216
  (__v4sf) __B,
1275
1217
  (__v4sf) __W,
@@ -1277,8 +1219,9 @@ _mm_mask_min_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1277
1219
  _MM_FROUND_CUR_DIRECTION);
1278
1220
  }
1279
1221
 
1280
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1281
- _mm_maskz_min_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1222
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_maskz_min_ss(__mmask8 __U,
1223
+ __m128 __A,
1224
+ __m128 __B) {
1282
1225
  return (__m128) __builtin_ia32_minss_round_mask ((__v4sf) __A,
1283
1226
  (__v4sf) __B,
1284
1227
  (__v4sf) _mm_setzero_ps (),
@@ -1304,8 +1247,10 @@ _mm_maskz_min_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1304
1247
  (__v4sf)_mm_setzero_ps(), \
1305
1248
  (__mmask8)(U), (int)(R)))
1306
1249
 
1307
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1308
- _mm_mask_min_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1250
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_mask_min_sd(__m128d __W,
1251
+ __mmask8 __U,
1252
+ __m128d __A,
1253
+ __m128d __B) {
1309
1254
  return (__m128d) __builtin_ia32_minsd_round_mask ((__v2df) __A,
1310
1255
  (__v2df) __B,
1311
1256
  (__v2df) __W,
@@ -1313,8 +1258,9 @@ _mm_mask_min_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1313
1258
  _MM_FROUND_CUR_DIRECTION);
1314
1259
  }
1315
1260
 
1316
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1317
- _mm_maskz_min_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1261
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_maskz_min_sd(__mmask8 __U,
1262
+ __m128d __A,
1263
+ __m128d __B) {
1318
1264
  return (__m128d) __builtin_ia32_minsd_round_mask ((__v2df) __A,
1319
1265
  (__v2df) __B,
1320
1266
  (__v2df) _mm_setzero_pd (),
@@ -1341,166 +1287,144 @@ _mm_maskz_min_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1341
1287
  (__mmask8)(U), (int)(R)))
1342
1288
 
1343
1289
  static __inline __m512i
1344
- __DEFAULT_FN_ATTRS512
1345
- _mm512_min_epi32(__m512i __A, __m512i __B)
1346
- {
1290
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epi32(__m512i __A, __m512i __B) {
1347
1291
  return (__m512i)__builtin_elementwise_min((__v16si)__A, (__v16si)__B);
1348
1292
  }
1349
1293
 
1350
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1351
- _mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1352
- {
1294
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1295
+ _mm512_mask_min_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
1353
1296
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1354
1297
  (__v16si)_mm512_min_epi32(__A, __B),
1355
1298
  (__v16si)__W);
1356
1299
  }
1357
1300
 
1358
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1359
- _mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
1360
- {
1301
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1302
+ _mm512_maskz_min_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
1361
1303
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1362
1304
  (__v16si)_mm512_min_epi32(__A, __B),
1363
1305
  (__v16si)_mm512_setzero_si512());
1364
1306
  }
1365
1307
 
1366
- static __inline __m512i __DEFAULT_FN_ATTRS512
1367
- _mm512_min_epu32(__m512i __A, __m512i __B)
1368
- {
1308
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1309
+ _mm512_min_epu32(__m512i __A, __m512i __B) {
1369
1310
  return (__m512i)__builtin_elementwise_min((__v16su)__A, (__v16su)__B);
1370
1311
  }
1371
1312
 
1372
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1373
- _mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1374
- {
1313
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1314
+ _mm512_mask_min_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
1375
1315
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1376
1316
  (__v16si)_mm512_min_epu32(__A, __B),
1377
1317
  (__v16si)__W);
1378
1318
  }
1379
1319
 
1380
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1381
- _mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
1382
- {
1320
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1321
+ _mm512_maskz_min_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
1383
1322
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1384
1323
  (__v16si)_mm512_min_epu32(__A, __B),
1385
1324
  (__v16si)_mm512_setzero_si512());
1386
1325
  }
1387
1326
 
1388
- static __inline __m512i __DEFAULT_FN_ATTRS512
1389
- _mm512_min_epi64(__m512i __A, __m512i __B)
1390
- {
1327
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1328
+ _mm512_min_epi64(__m512i __A, __m512i __B) {
1391
1329
  return (__m512i)__builtin_elementwise_min((__v8di)__A, (__v8di)__B);
1392
1330
  }
1393
1331
 
1394
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1395
- _mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1396
- {
1332
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1333
+ _mm512_mask_min_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
1397
1334
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1398
1335
  (__v8di)_mm512_min_epi64(__A, __B),
1399
1336
  (__v8di)__W);
1400
1337
  }
1401
1338
 
1402
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1403
- _mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
1404
- {
1339
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1340
+ _mm512_maskz_min_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
1405
1341
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1406
1342
  (__v8di)_mm512_min_epi64(__A, __B),
1407
1343
  (__v8di)_mm512_setzero_si512());
1408
1344
  }
1409
1345
 
1410
- static __inline __m512i __DEFAULT_FN_ATTRS512
1411
- _mm512_min_epu64(__m512i __A, __m512i __B)
1412
- {
1346
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1347
+ _mm512_min_epu64(__m512i __A, __m512i __B) {
1413
1348
  return (__m512i)__builtin_elementwise_min((__v8du)__A, (__v8du)__B);
1414
1349
  }
1415
1350
 
1416
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1417
- _mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1418
- {
1351
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1352
+ _mm512_mask_min_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
1419
1353
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1420
1354
  (__v8di)_mm512_min_epu64(__A, __B),
1421
1355
  (__v8di)__W);
1422
1356
  }
1423
1357
 
1424
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1425
- _mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
1426
- {
1358
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1359
+ _mm512_maskz_min_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
1427
1360
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1428
1361
  (__v8di)_mm512_min_epu64(__A, __B),
1429
1362
  (__v8di)_mm512_setzero_si512());
1430
1363
  }
1431
1364
 
1432
- static __inline __m512i __DEFAULT_FN_ATTRS512
1433
- _mm512_mul_epi32(__m512i __X, __m512i __Y)
1434
- {
1365
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1366
+ _mm512_mul_epi32(__m512i __X, __m512i __Y) {
1435
1367
  return (__m512i)__builtin_ia32_pmuldq512((__v16si)__X, (__v16si) __Y);
1436
1368
  }
1437
1369
 
1438
- static __inline __m512i __DEFAULT_FN_ATTRS512
1439
- _mm512_mask_mul_epi32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
1440
- {
1370
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1371
+ _mm512_mask_mul_epi32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
1441
1372
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1442
1373
  (__v8di)_mm512_mul_epi32(__X, __Y),
1443
1374
  (__v8di)__W);
1444
1375
  }
1445
1376
 
1446
- static __inline __m512i __DEFAULT_FN_ATTRS512
1447
- _mm512_maskz_mul_epi32(__mmask8 __M, __m512i __X, __m512i __Y)
1448
- {
1377
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1378
+ _mm512_maskz_mul_epi32(__mmask8 __M, __m512i __X, __m512i __Y) {
1449
1379
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1450
1380
  (__v8di)_mm512_mul_epi32(__X, __Y),
1451
1381
  (__v8di)_mm512_setzero_si512 ());
1452
1382
  }
1453
1383
 
1454
- static __inline __m512i __DEFAULT_FN_ATTRS512
1455
- _mm512_mul_epu32(__m512i __X, __m512i __Y)
1456
- {
1384
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1385
+ _mm512_mul_epu32(__m512i __X, __m512i __Y) {
1457
1386
  return (__m512i)__builtin_ia32_pmuludq512((__v16si)__X, (__v16si)__Y);
1458
1387
  }
1459
1388
 
1460
- static __inline __m512i __DEFAULT_FN_ATTRS512
1461
- _mm512_mask_mul_epu32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
1462
- {
1389
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1390
+ _mm512_mask_mul_epu32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
1463
1391
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1464
1392
  (__v8di)_mm512_mul_epu32(__X, __Y),
1465
1393
  (__v8di)__W);
1466
1394
  }
1467
1395
 
1468
- static __inline __m512i __DEFAULT_FN_ATTRS512
1469
- _mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y)
1470
- {
1396
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1397
+ _mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y) {
1471
1398
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1472
1399
  (__v8di)_mm512_mul_epu32(__X, __Y),
1473
1400
  (__v8di)_mm512_setzero_si512 ());
1474
1401
  }
1475
1402
 
1476
- static __inline __m512i __DEFAULT_FN_ATTRS512
1477
- _mm512_mullo_epi32 (__m512i __A, __m512i __B)
1478
- {
1403
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1404
+ _mm512_mullo_epi32(__m512i __A, __m512i __B) {
1479
1405
  return (__m512i) ((__v16su) __A * (__v16su) __B);
1480
1406
  }
1481
1407
 
1482
- static __inline __m512i __DEFAULT_FN_ATTRS512
1483
- _mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B)
1484
- {
1408
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1409
+ _mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
1485
1410
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1486
1411
  (__v16si)_mm512_mullo_epi32(__A, __B),
1487
1412
  (__v16si)_mm512_setzero_si512());
1488
1413
  }
1489
1414
 
1490
- static __inline __m512i __DEFAULT_FN_ATTRS512
1491
- _mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1492
- {
1415
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1416
+ _mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
1493
1417
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1494
1418
  (__v16si)_mm512_mullo_epi32(__A, __B),
1495
1419
  (__v16si)__W);
1496
1420
  }
1497
1421
 
1498
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1499
- _mm512_mullox_epi64 (__m512i __A, __m512i __B) {
1422
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1423
+ _mm512_mullox_epi64(__m512i __A, __m512i __B) {
1500
1424
  return (__m512i) ((__v8du) __A * (__v8du) __B);
1501
1425
  }
1502
1426
 
1503
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1427
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1504
1428
  _mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
1505
1429
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
1506
1430
  (__v8di)_mm512_mullox_epi64(__A, __B),
@@ -1520,26 +1444,19 @@ _mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
1520
1444
  (__v8df)_mm512_sqrt_round_pd((A), (R)), \
1521
1445
  (__v8df)_mm512_setzero_pd()))
1522
1446
 
1523
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1524
- _mm512_sqrt_pd(__m512d __A)
1525
- {
1526
- return (__m512d)__builtin_ia32_sqrtpd512((__v8df)__A,
1527
- _MM_FROUND_CUR_DIRECTION);
1447
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_sqrt_pd(__m512d __A) {
1448
+ return (__m512d)__builtin_elementwise_sqrt((__v8df)__A);
1528
1449
  }
1529
1450
 
1530
1451
  static __inline__ __m512d __DEFAULT_FN_ATTRS512
1531
- _mm512_mask_sqrt_pd (__m512d __W, __mmask8 __U, __m512d __A)
1532
- {
1533
- return (__m512d)__builtin_ia32_selectpd_512(__U,
1534
- (__v8df)_mm512_sqrt_pd(__A),
1452
+ _mm512_mask_sqrt_pd(__m512d __W, __mmask8 __U, __m512d __A) {
1453
+ return (__m512d)__builtin_ia32_selectpd_512(__U, (__v8df)_mm512_sqrt_pd(__A),
1535
1454
  (__v8df)__W);
1536
1455
  }
1537
1456
 
1538
1457
  static __inline__ __m512d __DEFAULT_FN_ATTRS512
1539
- _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
1540
- {
1541
- return (__m512d)__builtin_ia32_selectpd_512(__U,
1542
- (__v8df)_mm512_sqrt_pd(__A),
1458
+ _mm512_maskz_sqrt_pd(__mmask8 __U, __m512d __A) {
1459
+ return (__m512d)__builtin_ia32_selectpd_512(__U, (__v8df)_mm512_sqrt_pd(__A),
1543
1460
  (__v8df)_mm512_setzero_pd());
1544
1461
  }
1545
1462
 
@@ -1556,26 +1473,19 @@ _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
1556
1473
  (__v16sf)_mm512_sqrt_round_ps((A), (R)), \
1557
1474
  (__v16sf)_mm512_setzero_ps()))
1558
1475
 
1559
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1560
- _mm512_sqrt_ps(__m512 __A)
1561
- {
1562
- return (__m512)__builtin_ia32_sqrtps512((__v16sf)__A,
1563
- _MM_FROUND_CUR_DIRECTION);
1476
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_sqrt_ps(__m512 __A) {
1477
+ return (__m512)__builtin_elementwise_sqrt((__v16sf)__A);
1564
1478
  }
1565
1479
 
1566
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1567
- _mm512_mask_sqrt_ps(__m512 __W, __mmask16 __U, __m512 __A)
1568
- {
1569
- return (__m512)__builtin_ia32_selectps_512(__U,
1570
- (__v16sf)_mm512_sqrt_ps(__A),
1480
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
1481
+ _mm512_mask_sqrt_ps(__m512 __W, __mmask16 __U, __m512 __A) {
1482
+ return (__m512)__builtin_ia32_selectps_512(__U, (__v16sf)_mm512_sqrt_ps(__A),
1571
1483
  (__v16sf)__W);
1572
1484
  }
1573
1485
 
1574
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1575
- _mm512_maskz_sqrt_ps( __mmask16 __U, __m512 __A)
1576
- {
1577
- return (__m512)__builtin_ia32_selectps_512(__U,
1578
- (__v16sf)_mm512_sqrt_ps(__A),
1486
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
1487
+ _mm512_maskz_sqrt_ps(__mmask16 __U, __m512 __A) {
1488
+ return (__m512)__builtin_ia32_selectps_512(__U, (__v16sf)_mm512_sqrt_ps(__A),
1579
1489
  (__v16sf)_mm512_setzero_ps());
1580
1490
  }
1581
1491
 
@@ -1866,58 +1776,52 @@ _mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
1866
1776
  _MM_FROUND_CUR_DIRECTION);
1867
1777
  }
1868
1778
 
1869
- static __inline __m512i __DEFAULT_FN_ATTRS512
1870
- _mm512_abs_epi64(__m512i __A)
1871
- {
1779
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1780
+ _mm512_abs_epi64(__m512i __A) {
1872
1781
  return (__m512i)__builtin_elementwise_abs((__v8di)__A);
1873
1782
  }
1874
1783
 
1875
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1876
- _mm512_mask_abs_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
1877
- {
1784
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1785
+ _mm512_mask_abs_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
1878
1786
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
1879
1787
  (__v8di)_mm512_abs_epi64(__A),
1880
1788
  (__v8di)__W);
1881
1789
  }
1882
1790
 
1883
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1884
- _mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A)
1885
- {
1791
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1792
+ _mm512_maskz_abs_epi64(__mmask8 __U, __m512i __A) {
1886
1793
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
1887
1794
  (__v8di)_mm512_abs_epi64(__A),
1888
1795
  (__v8di)_mm512_setzero_si512());
1889
1796
  }
1890
1797
 
1891
- static __inline __m512i __DEFAULT_FN_ATTRS512
1892
- _mm512_abs_epi32(__m512i __A)
1893
- {
1798
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1799
+ _mm512_abs_epi32(__m512i __A) {
1894
1800
  return (__m512i)__builtin_elementwise_abs((__v16si) __A);
1895
1801
  }
1896
1802
 
1897
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1898
- _mm512_mask_abs_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
1899
- {
1803
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1804
+ _mm512_mask_abs_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
1900
1805
  return (__m512i)__builtin_ia32_selectd_512(__U,
1901
1806
  (__v16si)_mm512_abs_epi32(__A),
1902
1807
  (__v16si)__W);
1903
1808
  }
1904
1809
 
1905
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
1906
- _mm512_maskz_abs_epi32 (__mmask16 __U, __m512i __A)
1907
- {
1810
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1811
+ _mm512_maskz_abs_epi32(__mmask16 __U, __m512i __A) {
1908
1812
  return (__m512i)__builtin_ia32_selectd_512(__U,
1909
1813
  (__v16si)_mm512_abs_epi32(__A),
1910
1814
  (__v16si)_mm512_setzero_si512());
1911
1815
  }
1912
1816
 
1913
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1914
- _mm_mask_add_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1817
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1818
+ _mm_mask_add_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
1915
1819
  __A = _mm_add_ss(__A, __B);
1916
1820
  return __builtin_ia32_selectss_128(__U, __A, __W);
1917
1821
  }
1918
1822
 
1919
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
1920
- _mm_maskz_add_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1823
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1824
+ _mm_maskz_add_ss(__mmask8 __U, __m128 __A, __m128 __B) {
1921
1825
  __A = _mm_add_ss(__A, __B);
1922
1826
  return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
1923
1827
  }
@@ -1940,14 +1844,14 @@ _mm_maskz_add_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1940
1844
  (__v4sf)_mm_setzero_ps(), \
1941
1845
  (__mmask8)(U), (int)(R)))
1942
1846
 
1943
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1944
- _mm_mask_add_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1847
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1848
+ _mm_mask_add_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1945
1849
  __A = _mm_add_sd(__A, __B);
1946
1850
  return __builtin_ia32_selectsd_128(__U, __A, __W);
1947
1851
  }
1948
1852
 
1949
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
1950
- _mm_maskz_add_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1853
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1854
+ _mm_maskz_add_sd(__mmask8 __U, __m128d __A, __m128d __B) {
1951
1855
  __A = _mm_add_sd(__A, __B);
1952
1856
  return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
1953
1857
  }
@@ -1969,28 +1873,28 @@ _mm_maskz_add_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1969
1873
  (__v2df)_mm_setzero_pd(), \
1970
1874
  (__mmask8)(U), (int)(R)))
1971
1875
 
1972
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1876
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1973
1877
  _mm512_mask_add_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
1974
1878
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
1975
1879
  (__v8df)_mm512_add_pd(__A, __B),
1976
1880
  (__v8df)__W);
1977
1881
  }
1978
1882
 
1979
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1883
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1980
1884
  _mm512_maskz_add_pd(__mmask8 __U, __m512d __A, __m512d __B) {
1981
1885
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
1982
1886
  (__v8df)_mm512_add_pd(__A, __B),
1983
1887
  (__v8df)_mm512_setzero_pd());
1984
1888
  }
1985
1889
 
1986
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1890
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1987
1891
  _mm512_mask_add_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
1988
1892
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
1989
1893
  (__v16sf)_mm512_add_ps(__A, __B),
1990
1894
  (__v16sf)__W);
1991
1895
  }
1992
1896
 
1993
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
1897
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1994
1898
  _mm512_maskz_add_ps(__mmask16 __U, __m512 __A, __m512 __B) {
1995
1899
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
1996
1900
  (__v16sf)_mm512_add_ps(__A, __B),
@@ -2025,14 +1929,14 @@ _mm512_maskz_add_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2025
1929
  (__v16sf)_mm512_add_round_ps((A), (B), (R)), \
2026
1930
  (__v16sf)_mm512_setzero_ps()))
2027
1931
 
2028
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2029
- _mm_mask_sub_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1932
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1933
+ _mm_mask_sub_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2030
1934
  __A = _mm_sub_ss(__A, __B);
2031
1935
  return __builtin_ia32_selectss_128(__U, __A, __W);
2032
1936
  }
2033
1937
 
2034
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2035
- _mm_maskz_sub_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1938
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1939
+ _mm_maskz_sub_ss(__mmask8 __U, __m128 __A, __m128 __B) {
2036
1940
  __A = _mm_sub_ss(__A, __B);
2037
1941
  return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
2038
1942
  }
@@ -2054,14 +1958,14 @@ _mm_maskz_sub_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2054
1958
  (__v4sf)_mm_setzero_ps(), \
2055
1959
  (__mmask8)(U), (int)(R)))
2056
1960
 
2057
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2058
- _mm_mask_sub_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1961
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1962
+ _mm_mask_sub_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2059
1963
  __A = _mm_sub_sd(__A, __B);
2060
1964
  return __builtin_ia32_selectsd_128(__U, __A, __W);
2061
1965
  }
2062
1966
 
2063
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2064
- _mm_maskz_sub_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1967
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1968
+ _mm_maskz_sub_sd(__mmask8 __U, __m128d __A, __m128d __B) {
2065
1969
  __A = _mm_sub_sd(__A, __B);
2066
1970
  return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
2067
1971
  }
@@ -2084,28 +1988,28 @@ _mm_maskz_sub_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2084
1988
  (__v2df)_mm_setzero_pd(), \
2085
1989
  (__mmask8)(U), (int)(R)))
2086
1990
 
2087
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1991
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2088
1992
  _mm512_mask_sub_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
2089
1993
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2090
1994
  (__v8df)_mm512_sub_pd(__A, __B),
2091
1995
  (__v8df)__W);
2092
1996
  }
2093
1997
 
2094
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
1998
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2095
1999
  _mm512_maskz_sub_pd(__mmask8 __U, __m512d __A, __m512d __B) {
2096
2000
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2097
2001
  (__v8df)_mm512_sub_pd(__A, __B),
2098
2002
  (__v8df)_mm512_setzero_pd());
2099
2003
  }
2100
2004
 
2101
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2005
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2102
2006
  _mm512_mask_sub_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
2103
2007
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2104
2008
  (__v16sf)_mm512_sub_ps(__A, __B),
2105
2009
  (__v16sf)__W);
2106
2010
  }
2107
2011
 
2108
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2012
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2109
2013
  _mm512_maskz_sub_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2110
2014
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2111
2015
  (__v16sf)_mm512_sub_ps(__A, __B),
@@ -2140,14 +2044,14 @@ _mm512_maskz_sub_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2140
2044
  (__v16sf)_mm512_sub_round_ps((A), (B), (R)), \
2141
2045
  (__v16sf)_mm512_setzero_ps()))
2142
2046
 
2143
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2144
- _mm_mask_mul_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
2047
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2048
+ _mm_mask_mul_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2145
2049
  __A = _mm_mul_ss(__A, __B);
2146
2050
  return __builtin_ia32_selectss_128(__U, __A, __W);
2147
2051
  }
2148
2052
 
2149
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2150
- _mm_maskz_mul_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2053
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2054
+ _mm_maskz_mul_ss(__mmask8 __U, __m128 __A, __m128 __B) {
2151
2055
  __A = _mm_mul_ss(__A, __B);
2152
2056
  return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
2153
2057
  }
@@ -2169,14 +2073,14 @@ _mm_maskz_mul_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2169
2073
  (__v4sf)_mm_setzero_ps(), \
2170
2074
  (__mmask8)(U), (int)(R)))
2171
2075
 
2172
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2173
- _mm_mask_mul_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
2076
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2077
+ _mm_mask_mul_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2174
2078
  __A = _mm_mul_sd(__A, __B);
2175
2079
  return __builtin_ia32_selectsd_128(__U, __A, __W);
2176
2080
  }
2177
2081
 
2178
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2179
- _mm_maskz_mul_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2082
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2083
+ _mm_maskz_mul_sd(__mmask8 __U, __m128d __A, __m128d __B) {
2180
2084
  __A = _mm_mul_sd(__A, __B);
2181
2085
  return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
2182
2086
  }
@@ -2199,28 +2103,28 @@ _mm_maskz_mul_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2199
2103
  (__v2df)_mm_setzero_pd(), \
2200
2104
  (__mmask8)(U), (int)(R)))
2201
2105
 
2202
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2106
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2203
2107
  _mm512_mask_mul_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
2204
2108
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2205
2109
  (__v8df)_mm512_mul_pd(__A, __B),
2206
2110
  (__v8df)__W);
2207
2111
  }
2208
2112
 
2209
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2113
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2210
2114
  _mm512_maskz_mul_pd(__mmask8 __U, __m512d __A, __m512d __B) {
2211
2115
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2212
2116
  (__v8df)_mm512_mul_pd(__A, __B),
2213
2117
  (__v8df)_mm512_setzero_pd());
2214
2118
  }
2215
2119
 
2216
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2120
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2217
2121
  _mm512_mask_mul_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
2218
2122
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2219
2123
  (__v16sf)_mm512_mul_ps(__A, __B),
2220
2124
  (__v16sf)__W);
2221
2125
  }
2222
2126
 
2223
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2127
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2224
2128
  _mm512_maskz_mul_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2225
2129
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2226
2130
  (__v16sf)_mm512_mul_ps(__A, __B),
@@ -2255,14 +2159,14 @@ _mm512_maskz_mul_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2255
2159
  (__v16sf)_mm512_mul_round_ps((A), (B), (R)), \
2256
2160
  (__v16sf)_mm512_setzero_ps()))
2257
2161
 
2258
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2259
- _mm_mask_div_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
2162
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2163
+ _mm_mask_div_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2260
2164
  __A = _mm_div_ss(__A, __B);
2261
2165
  return __builtin_ia32_selectss_128(__U, __A, __W);
2262
2166
  }
2263
2167
 
2264
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
2265
- _mm_maskz_div_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2168
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2169
+ _mm_maskz_div_ss(__mmask8 __U, __m128 __A, __m128 __B) {
2266
2170
  __A = _mm_div_ss(__A, __B);
2267
2171
  return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
2268
2172
  }
@@ -2285,14 +2189,14 @@ _mm_maskz_div_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2285
2189
  (__v4sf)_mm_setzero_ps(), \
2286
2190
  (__mmask8)(U), (int)(R)))
2287
2191
 
2288
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2289
- _mm_mask_div_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
2192
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2193
+ _mm_mask_div_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2290
2194
  __A = _mm_div_sd(__A, __B);
2291
2195
  return __builtin_ia32_selectsd_128(__U, __A, __W);
2292
2196
  }
2293
2197
 
2294
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
2295
- _mm_maskz_div_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2198
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2199
+ _mm_maskz_div_sd(__mmask8 __U, __m128d __A, __m128d __B) {
2296
2200
  __A = _mm_div_sd(__A, __B);
2297
2201
  return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
2298
2202
  }
@@ -2315,40 +2219,38 @@ _mm_maskz_div_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2315
2219
  (__v2df)_mm_setzero_pd(), \
2316
2220
  (__mmask8)(U), (int)(R)))
2317
2221
 
2318
- static __inline __m512d __DEFAULT_FN_ATTRS512
2319
- _mm512_div_pd(__m512d __a, __m512d __b)
2320
- {
2222
+ static __inline __m512d
2223
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_div_pd(__m512d __a, __m512d __b) {
2321
2224
  return (__m512d)((__v8df)__a/(__v8df)__b);
2322
2225
  }
2323
2226
 
2324
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2227
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2325
2228
  _mm512_mask_div_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
2326
2229
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2327
2230
  (__v8df)_mm512_div_pd(__A, __B),
2328
2231
  (__v8df)__W);
2329
2232
  }
2330
2233
 
2331
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2234
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2332
2235
  _mm512_maskz_div_pd(__mmask8 __U, __m512d __A, __m512d __B) {
2333
2236
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
2334
2237
  (__v8df)_mm512_div_pd(__A, __B),
2335
2238
  (__v8df)_mm512_setzero_pd());
2336
2239
  }
2337
2240
 
2338
- static __inline __m512 __DEFAULT_FN_ATTRS512
2339
- _mm512_div_ps(__m512 __a, __m512 __b)
2340
- {
2241
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2242
+ _mm512_div_ps(__m512 __a, __m512 __b) {
2341
2243
  return (__m512)((__v16sf)__a/(__v16sf)__b);
2342
2244
  }
2343
2245
 
2344
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2246
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2345
2247
  _mm512_mask_div_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
2346
2248
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2347
2249
  (__v16sf)_mm512_div_ps(__A, __B),
2348
2250
  (__v16sf)__W);
2349
2251
  }
2350
2252
 
2351
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2253
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2352
2254
  _mm512_maskz_div_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2353
2255
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
2354
2256
  (__v16sf)_mm512_div_ps(__A, __B),
@@ -2530,125 +2432,104 @@ _mm512_maskz_div_ps(__mmask16 __U, __m512 __A, __m512 __B) {
2530
2432
  -(__v8df)(__m512d)(C), \
2531
2433
  (__mmask8)(U), (int)(R)))
2532
2434
 
2435
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2436
+ _mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C) {
2437
+ return (__m512d)__builtin_elementwise_fma((__v8df)__A, (__v8df)__B,
2438
+ (__v8df)__C);
2439
+ }
2533
2440
 
2534
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2535
- _mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C)
2536
- {
2537
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2538
- (__v8df) __B,
2539
- (__v8df) __C,
2540
- (__mmask8) -1,
2541
- _MM_FROUND_CUR_DIRECTION);
2441
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2442
+ _mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2443
+ return (__m512d)__builtin_ia32_selectpd_512(
2444
+ (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C), (__v8df)__A);
2542
2445
  }
2543
2446
 
2544
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2545
- _mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
2546
- {
2547
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2548
- (__v8df) __B,
2549
- (__v8df) __C,
2550
- (__mmask8) __U,
2551
- _MM_FROUND_CUR_DIRECTION);
2447
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2448
+ _mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2449
+ return (__m512d)__builtin_ia32_selectpd_512(
2450
+ (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C), (__v8df)__C);
2552
2451
  }
2553
2452
 
2554
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2555
- _mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
2556
- {
2557
- return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
2558
- (__v8df) __B,
2559
- (__v8df) __C,
2560
- (__mmask8) __U,
2561
- _MM_FROUND_CUR_DIRECTION);
2453
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2454
+ _mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2455
+ return (__m512d)__builtin_ia32_selectpd_512(
2456
+ (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C),
2457
+ (__v8df)_mm512_setzero_pd());
2562
2458
  }
2563
2459
 
2564
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2565
- _mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2566
- {
2567
- return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
2568
- (__v8df) __B,
2569
- (__v8df) __C,
2570
- (__mmask8) __U,
2571
- _MM_FROUND_CUR_DIRECTION);
2460
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2461
+ _mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C) {
2462
+ return (__m512d)__builtin_elementwise_fma((__v8df)__A, (__v8df)__B,
2463
+ -(__v8df)__C);
2572
2464
  }
2573
2465
 
2574
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2575
- _mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C)
2576
- {
2577
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2578
- (__v8df) __B,
2579
- -(__v8df) __C,
2580
- (__mmask8) -1,
2581
- _MM_FROUND_CUR_DIRECTION);
2466
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2467
+ _mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2468
+ return (__m512d)__builtin_ia32_selectpd_512(
2469
+ (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C), (__v8df)__A);
2582
2470
  }
2583
2471
 
2584
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2585
- _mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
2586
- {
2587
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2588
- (__v8df) __B,
2589
- -(__v8df) __C,
2590
- (__mmask8) __U,
2591
- _MM_FROUND_CUR_DIRECTION);
2472
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2473
+ _mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2474
+ return (__m512d)__builtin_ia32_selectpd_512(
2475
+ (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C), (__v8df)__C);
2592
2476
  }
2593
2477
 
2594
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2595
- _mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2596
- {
2597
- return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
2598
- (__v8df) __B,
2599
- -(__v8df) __C,
2600
- (__mmask8) __U,
2601
- _MM_FROUND_CUR_DIRECTION);
2478
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2479
+ _mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2480
+ return (__m512d)__builtin_ia32_selectpd_512(
2481
+ (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C),
2482
+ (__v8df)_mm512_setzero_pd());
2602
2483
  }
2603
2484
 
2604
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2605
- _mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C)
2606
- {
2607
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2608
- -(__v8df) __B,
2609
- (__v8df) __C,
2610
- (__mmask8) -1,
2611
- _MM_FROUND_CUR_DIRECTION);
2485
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2486
+ _mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C) {
2487
+ return (__m512d)__builtin_elementwise_fma(-(__v8df)__A, (__v8df)__B,
2488
+ (__v8df)__C);
2612
2489
  }
2613
2490
 
2614
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2615
- _mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
2616
- {
2617
- return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A,
2618
- (__v8df) __B,
2619
- (__v8df) __C,
2620
- (__mmask8) __U,
2621
- _MM_FROUND_CUR_DIRECTION);
2491
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2492
+ _mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2493
+ return (__m512d)__builtin_ia32_selectpd_512(
2494
+ (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C), (__v8df)__A);
2622
2495
  }
2623
2496
 
2624
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2625
- _mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2626
- {
2627
- return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
2628
- (__v8df) __B,
2629
- (__v8df) __C,
2630
- (__mmask8) __U,
2631
- _MM_FROUND_CUR_DIRECTION);
2497
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2498
+ _mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2499
+ return (__m512d)__builtin_ia32_selectpd_512(
2500
+ (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C), (__v8df)__C);
2632
2501
  }
2633
2502
 
2634
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2635
- _mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C)
2636
- {
2637
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2638
- -(__v8df) __B,
2639
- -(__v8df) __C,
2640
- (__mmask8) -1,
2641
- _MM_FROUND_CUR_DIRECTION);
2503
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2504
+ _mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2505
+ return (__m512d)__builtin_ia32_selectpd_512(
2506
+ (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C),
2507
+ (__v8df)_mm512_setzero_pd());
2642
2508
  }
2643
2509
 
2644
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
2645
- _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2646
- {
2647
- return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
2648
- (__v8df) __B,
2649
- -(__v8df) __C,
2650
- (__mmask8) __U,
2651
- _MM_FROUND_CUR_DIRECTION);
2510
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2511
+ _mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C) {
2512
+ return (__m512d)__builtin_elementwise_fma(-(__v8df)__A, (__v8df)__B,
2513
+ -(__v8df)__C);
2514
+ }
2515
+
2516
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2517
+ _mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2518
+ return (__m512d)__builtin_ia32_selectpd_512(
2519
+ (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C), (__v8df)__A);
2520
+ }
2521
+
2522
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2523
+ _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2524
+ return (__m512d)__builtin_ia32_selectpd_512(
2525
+ (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C), (__v8df)__C);
2526
+ }
2527
+
2528
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2529
+ _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2530
+ return (__m512d)__builtin_ia32_selectpd_512(
2531
+ (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C),
2532
+ (__v8df)_mm512_setzero_pd());
2652
2533
  }
2653
2534
 
2654
2535
  #define _mm512_fmadd_round_ps(A, B, C, R) \
@@ -2734,125 +2615,104 @@ _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2734
2615
  -(__v16sf)(__m512)(C), \
2735
2616
  (__mmask16)(U), (int)(R)))
2736
2617
 
2618
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2619
+ _mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C) {
2620
+ return (__m512)__builtin_elementwise_fma((__v16sf)__A, (__v16sf)__B,
2621
+ (__v16sf)__C);
2622
+ }
2737
2623
 
2738
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2739
- _mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C)
2740
- {
2741
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2742
- (__v16sf) __B,
2743
- (__v16sf) __C,
2744
- (__mmask16) -1,
2745
- _MM_FROUND_CUR_DIRECTION);
2624
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2625
+ _mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2626
+ return (__m512)__builtin_ia32_selectps_512(
2627
+ (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C), (__v16sf)__A);
2746
2628
  }
2747
2629
 
2748
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2749
- _mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
2750
- {
2751
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2752
- (__v16sf) __B,
2753
- (__v16sf) __C,
2754
- (__mmask16) __U,
2755
- _MM_FROUND_CUR_DIRECTION);
2630
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2631
+ _mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2632
+ return (__m512)__builtin_ia32_selectps_512(
2633
+ (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C), (__v16sf)__C);
2756
2634
  }
2757
2635
 
2758
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2759
- _mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
2760
- {
2761
- return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
2762
- (__v16sf) __B,
2763
- (__v16sf) __C,
2764
- (__mmask16) __U,
2765
- _MM_FROUND_CUR_DIRECTION);
2636
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2637
+ _mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2638
+ return (__m512)__builtin_ia32_selectps_512(
2639
+ (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C),
2640
+ (__v16sf)_mm512_setzero_ps());
2766
2641
  }
2767
2642
 
2768
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2769
- _mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2770
- {
2771
- return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
2772
- (__v16sf) __B,
2773
- (__v16sf) __C,
2774
- (__mmask16) __U,
2775
- _MM_FROUND_CUR_DIRECTION);
2643
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2644
+ _mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C) {
2645
+ return (__m512)__builtin_elementwise_fma((__v16sf)__A, (__v16sf)__B,
2646
+ -(__v16sf)__C);
2776
2647
  }
2777
2648
 
2778
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2779
- _mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C)
2780
- {
2781
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2782
- (__v16sf) __B,
2783
- -(__v16sf) __C,
2784
- (__mmask16) -1,
2785
- _MM_FROUND_CUR_DIRECTION);
2649
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2650
+ _mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2651
+ return (__m512)__builtin_ia32_selectps_512(
2652
+ (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C), (__v16sf)__A);
2786
2653
  }
2787
2654
 
2788
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2789
- _mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
2790
- {
2791
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2792
- (__v16sf) __B,
2793
- -(__v16sf) __C,
2794
- (__mmask16) __U,
2795
- _MM_FROUND_CUR_DIRECTION);
2655
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2656
+ _mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2657
+ return (__m512)__builtin_ia32_selectps_512(
2658
+ (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C), (__v16sf)__C);
2659
+ }
2660
+
2661
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2662
+ _mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2663
+ return (__m512)__builtin_ia32_selectps_512(
2664
+ (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C),
2665
+ (__v16sf)_mm512_setzero_ps());
2666
+ }
2667
+
2668
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2669
+ _mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C) {
2670
+ return (__m512)__builtin_elementwise_fma(-(__v16sf)__A, (__v16sf)__B,
2671
+ (__v16sf)__C);
2796
2672
  }
2797
2673
 
2798
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2799
- _mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2800
- {
2801
- return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
2802
- (__v16sf) __B,
2803
- -(__v16sf) __C,
2804
- (__mmask16) __U,
2805
- _MM_FROUND_CUR_DIRECTION);
2674
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2675
+ _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2676
+ return (__m512)__builtin_ia32_selectps_512(
2677
+ (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C), (__v16sf)__A);
2806
2678
  }
2807
2679
 
2808
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2809
- _mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C)
2810
- {
2811
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2812
- -(__v16sf) __B,
2813
- (__v16sf) __C,
2814
- (__mmask16) -1,
2815
- _MM_FROUND_CUR_DIRECTION);
2680
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2681
+ _mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2682
+ return (__m512)__builtin_ia32_selectps_512(
2683
+ (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C), (__v16sf)__C);
2816
2684
  }
2817
2685
 
2818
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2819
- _mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
2820
- {
2821
- return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A,
2822
- (__v16sf) __B,
2823
- (__v16sf) __C,
2824
- (__mmask16) __U,
2825
- _MM_FROUND_CUR_DIRECTION);
2686
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2687
+ _mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2688
+ return (__m512)__builtin_ia32_selectps_512(
2689
+ (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C),
2690
+ (__v16sf)_mm512_setzero_ps());
2826
2691
  }
2827
2692
 
2828
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2829
- _mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2830
- {
2831
- return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
2832
- (__v16sf) __B,
2833
- (__v16sf) __C,
2834
- (__mmask16) __U,
2835
- _MM_FROUND_CUR_DIRECTION);
2693
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2694
+ _mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C) {
2695
+ return (__m512)__builtin_elementwise_fma(-(__v16sf)__A, (__v16sf)__B,
2696
+ -(__v16sf)__C);
2836
2697
  }
2837
2698
 
2838
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2839
- _mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C)
2840
- {
2841
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2842
- -(__v16sf) __B,
2843
- -(__v16sf) __C,
2844
- (__mmask16) -1,
2845
- _MM_FROUND_CUR_DIRECTION);
2699
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2700
+ _mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2701
+ return (__m512)__builtin_ia32_selectps_512(
2702
+ (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C), (__v16sf)__A);
2846
2703
  }
2847
2704
 
2848
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
2849
- _mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2850
- {
2851
- return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
2852
- (__v16sf) __B,
2853
- -(__v16sf) __C,
2854
- (__mmask16) __U,
2855
- _MM_FROUND_CUR_DIRECTION);
2705
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2706
+ _mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2707
+ return (__m512)__builtin_ia32_selectps_512(
2708
+ (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C), (__v16sf)__C);
2709
+ }
2710
+
2711
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2712
+ _mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2713
+ return (__m512)__builtin_ia32_selectps_512(
2714
+ (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C),
2715
+ (__v16sf)_mm512_setzero_ps());
2856
2716
  }
2857
2717
 
2858
2718
  #define _mm512_fmaddsub_round_pd(A, B, C, R) \
@@ -3099,33 +2959,12 @@ _mm512_maskz_fmsubadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
3099
2959
  (__v8df)(__m512d)(C), \
3100
2960
  (__mmask8)(U), (int)(R)))
3101
2961
 
3102
-
3103
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3104
- _mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
3105
- {
3106
- return (__m512d)__builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
3107
- (__v8df) __B,
3108
- (__v8df) __C,
3109
- (__mmask8) __U,
3110
- _MM_FROUND_CUR_DIRECTION);
3111
- }
3112
-
3113
2962
  #define _mm512_mask3_fmsub_round_ps(A, B, C, U, R) \
3114
2963
  ((__m512)__builtin_ia32_vfmsubps512_mask3((__v16sf)(__m512)(A), \
3115
2964
  (__v16sf)(__m512)(B), \
3116
2965
  (__v16sf)(__m512)(C), \
3117
2966
  (__mmask16)(U), (int)(R)))
3118
2967
 
3119
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3120
- _mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
3121
- {
3122
- return (__m512)__builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
3123
- (__v16sf) __B,
3124
- (__v16sf) __C,
3125
- (__mmask16) __U,
3126
- _MM_FROUND_CUR_DIRECTION);
3127
- }
3128
-
3129
2968
  #define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R) \
3130
2969
  ((__m512d)__builtin_ia32_vfmsubaddpd512_mask3((__v8df)(__m512d)(A), \
3131
2970
  (__v8df)(__m512d)(B), \
@@ -3166,34 +3005,12 @@ _mm512_mask3_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
3166
3005
  (__v8df)(__m512d)(C), \
3167
3006
  (__mmask8)(U), (int)(R)))
3168
3007
 
3169
-
3170
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3171
- _mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
3172
- {
3173
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
3174
- -(__v8df) __B,
3175
- (__v8df) __C,
3176
- (__mmask8) __U,
3177
- _MM_FROUND_CUR_DIRECTION);
3178
- }
3179
-
3180
3008
  #define _mm512_mask_fnmadd_round_ps(A, U, B, C, R) \
3181
3009
  ((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
3182
3010
  -(__v16sf)(__m512)(B), \
3183
3011
  (__v16sf)(__m512)(C), \
3184
3012
  (__mmask16)(U), (int)(R)))
3185
3013
 
3186
-
3187
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3188
- _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
3189
- {
3190
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
3191
- -(__v16sf) __B,
3192
- (__v16sf) __C,
3193
- (__mmask16) __U,
3194
- _MM_FROUND_CUR_DIRECTION);
3195
- }
3196
-
3197
3014
  #define _mm512_mask_fnmsub_round_pd(A, U, B, C, R) \
3198
3015
  ((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
3199
3016
  -(__v8df)(__m512d)(B), \
@@ -3207,27 +3024,6 @@ _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
3207
3024
  (__v8df)(__m512d)(C), \
3208
3025
  (__mmask8)(U), (int)(R)))
3209
3026
 
3210
-
3211
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3212
- _mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
3213
- {
3214
- return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
3215
- -(__v8df) __B,
3216
- -(__v8df) __C,
3217
- (__mmask8) __U,
3218
- _MM_FROUND_CUR_DIRECTION);
3219
- }
3220
-
3221
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3222
- _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
3223
- {
3224
- return (__m512d) __builtin_ia32_vfmsubpd512_mask3 (-(__v8df) __A,
3225
- (__v8df) __B,
3226
- (__v8df) __C,
3227
- (__mmask8) __U,
3228
- _MM_FROUND_CUR_DIRECTION);
3229
- }
3230
-
3231
3027
  #define _mm512_mask_fnmsub_round_ps(A, U, B, C, R) \
3232
3028
  ((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
3233
3029
  -(__v16sf)(__m512)(B), \
@@ -3241,94 +3037,63 @@ _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
3241
3037
  (__v16sf)(__m512)(C), \
3242
3038
  (__mmask16)(U), (int)(R)))
3243
3039
 
3244
-
3245
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3246
- _mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
3247
- {
3248
- return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
3249
- -(__v16sf) __B,
3250
- -(__v16sf) __C,
3251
- (__mmask16) __U,
3252
- _MM_FROUND_CUR_DIRECTION);
3253
- }
3254
-
3255
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3256
- _mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
3257
- {
3258
- return (__m512) __builtin_ia32_vfmsubps512_mask3 (-(__v16sf) __A,
3259
- (__v16sf) __B,
3260
- (__v16sf) __C,
3261
- (__mmask16) __U,
3262
- _MM_FROUND_CUR_DIRECTION);
3263
- }
3264
-
3265
-
3266
-
3267
3040
  /* Vector permutations */
3268
3041
 
3269
- static __inline __m512i __DEFAULT_FN_ATTRS512
3270
- _mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B)
3271
- {
3042
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3043
+ _mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B) {
3272
3044
  return (__m512i)__builtin_ia32_vpermi2vard512((__v16si)__A, (__v16si) __I,
3273
3045
  (__v16si) __B);
3274
3046
  }
3275
3047
 
3276
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3048
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3277
3049
  _mm512_mask_permutex2var_epi32(__m512i __A, __mmask16 __U, __m512i __I,
3278
- __m512i __B)
3279
- {
3050
+ __m512i __B) {
3280
3051
  return (__m512i)__builtin_ia32_selectd_512(__U,
3281
3052
  (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
3282
3053
  (__v16si)__A);
3283
3054
  }
3284
3055
 
3285
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3056
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3286
3057
  _mm512_mask2_permutex2var_epi32(__m512i __A, __m512i __I, __mmask16 __U,
3287
- __m512i __B)
3288
- {
3058
+ __m512i __B) {
3289
3059
  return (__m512i)__builtin_ia32_selectd_512(__U,
3290
3060
  (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
3291
3061
  (__v16si)__I);
3292
3062
  }
3293
3063
 
3294
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3064
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3295
3065
  _mm512_maskz_permutex2var_epi32(__mmask16 __U, __m512i __A, __m512i __I,
3296
- __m512i __B)
3297
- {
3066
+ __m512i __B) {
3298
3067
  return (__m512i)__builtin_ia32_selectd_512(__U,
3299
3068
  (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
3300
3069
  (__v16si)_mm512_setzero_si512());
3301
3070
  }
3302
3071
 
3303
- static __inline __m512i __DEFAULT_FN_ATTRS512
3304
- _mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B)
3305
- {
3072
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3073
+ _mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B) {
3306
3074
  return (__m512i)__builtin_ia32_vpermi2varq512((__v8di)__A, (__v8di) __I,
3307
3075
  (__v8di) __B);
3308
3076
  }
3309
3077
 
3310
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3078
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3311
3079
  _mm512_mask_permutex2var_epi64(__m512i __A, __mmask8 __U, __m512i __I,
3312
- __m512i __B)
3313
- {
3080
+ __m512i __B) {
3314
3081
  return (__m512i)__builtin_ia32_selectq_512(__U,
3315
3082
  (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
3316
3083
  (__v8di)__A);
3317
3084
  }
3318
3085
 
3319
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3086
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3320
3087
  _mm512_mask2_permutex2var_epi64(__m512i __A, __m512i __I, __mmask8 __U,
3321
- __m512i __B)
3322
- {
3088
+ __m512i __B) {
3323
3089
  return (__m512i)__builtin_ia32_selectq_512(__U,
3324
3090
  (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
3325
3091
  (__v8di)__I);
3326
3092
  }
3327
3093
 
3328
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
3094
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3329
3095
  _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
3330
- __m512i __B)
3331
- {
3096
+ __m512i __B) {
3332
3097
  return (__m512i)__builtin_ia32_selectq_512(__U,
3333
3098
  (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
3334
3099
  (__v8di)_mm512_setzero_si512());
@@ -3363,10 +3128,10 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
3363
3128
  (__v16si)_mm512_setzero_si512()))
3364
3129
  /* Vector Extract */
3365
3130
 
3366
- #define _mm512_extractf64x4_pd(A, I) \
3367
- ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
3368
- (__v4df)_mm256_undefined_pd(), \
3369
- (__mmask8)-1))
3131
+ #define _mm512_extractf64x4_pd(A, I) \
3132
+ ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
3133
+ (__v4df)_mm256_setzero_pd(), \
3134
+ (__mmask8) - 1))
3370
3135
 
3371
3136
  #define _mm512_mask_extractf64x4_pd(W, U, A, imm) \
3372
3137
  ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
@@ -3378,10 +3143,10 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
3378
3143
  (__v4df)_mm256_setzero_pd(), \
3379
3144
  (__mmask8)(U)))
3380
3145
 
3381
- #define _mm512_extractf32x4_ps(A, I) \
3382
- ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
3383
- (__v4sf)_mm_undefined_ps(), \
3384
- (__mmask8)-1))
3146
+ #define _mm512_extractf32x4_ps(A, I) \
3147
+ ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
3148
+ (__v4sf)_mm_setzero_ps(), \
3149
+ (__mmask8) - 1))
3385
3150
 
3386
3151
  #define _mm512_mask_extractf32x4_ps(W, U, A, imm) \
3387
3152
  ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
@@ -3395,33 +3160,29 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
3395
3160
 
3396
3161
  /* Vector Blend */
3397
3162
 
3398
- static __inline __m512d __DEFAULT_FN_ATTRS512
3399
- _mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W)
3400
- {
3163
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3164
+ _mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W) {
3401
3165
  return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
3402
3166
  (__v8df) __W,
3403
3167
  (__v8df) __A);
3404
3168
  }
3405
3169
 
3406
- static __inline __m512 __DEFAULT_FN_ATTRS512
3407
- _mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W)
3408
- {
3170
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3171
+ _mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W) {
3409
3172
  return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
3410
3173
  (__v16sf) __W,
3411
3174
  (__v16sf) __A);
3412
3175
  }
3413
3176
 
3414
- static __inline __m512i __DEFAULT_FN_ATTRS512
3415
- _mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W)
3416
- {
3177
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3178
+ _mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W) {
3417
3179
  return (__m512i) __builtin_ia32_selectq_512 ((__mmask8) __U,
3418
3180
  (__v8di) __W,
3419
3181
  (__v8di) __A);
3420
3182
  }
3421
3183
 
3422
- static __inline __m512i __DEFAULT_FN_ATTRS512
3423
- _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
3424
- {
3184
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3185
+ _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W) {
3425
3186
  return (__m512i) __builtin_ia32_selectd_512 ((__mmask16) __U,
3426
3187
  (__v16si) __W,
3427
3188
  (__v16si) __A);
@@ -3615,115 +3376,99 @@ _mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A)
3615
3376
  (__v16sf)_mm512_setzero_ps(), \
3616
3377
  (__mmask16)(U), (int)(R)))
3617
3378
 
3618
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3619
- _mm512_cvtepu32_ps (__m512i __A)
3620
- {
3379
+ static __inline__ __m512
3380
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepu32_ps(__m512i __A) {
3621
3381
  return (__m512)__builtin_convertvector((__v16su)__A, __v16sf);
3622
3382
  }
3623
3383
 
3624
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3625
- _mm512_mask_cvtepu32_ps (__m512 __W, __mmask16 __U, __m512i __A)
3626
- {
3384
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3385
+ _mm512_mask_cvtepu32_ps(__m512 __W, __mmask16 __U, __m512i __A) {
3627
3386
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
3628
3387
  (__v16sf)_mm512_cvtepu32_ps(__A),
3629
3388
  (__v16sf)__W);
3630
3389
  }
3631
3390
 
3632
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3633
- _mm512_maskz_cvtepu32_ps (__mmask16 __U, __m512i __A)
3634
- {
3391
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3392
+ _mm512_maskz_cvtepu32_ps(__mmask16 __U, __m512i __A) {
3635
3393
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
3636
3394
  (__v16sf)_mm512_cvtepu32_ps(__A),
3637
3395
  (__v16sf)_mm512_setzero_ps());
3638
3396
  }
3639
3397
 
3640
- static __inline __m512d __DEFAULT_FN_ATTRS512
3641
- _mm512_cvtepi32_pd(__m256i __A)
3642
- {
3398
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3399
+ _mm512_cvtepi32_pd(__m256i __A) {
3643
3400
  return (__m512d)__builtin_convertvector((__v8si)__A, __v8df);
3644
3401
  }
3645
3402
 
3646
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3647
- _mm512_mask_cvtepi32_pd (__m512d __W, __mmask8 __U, __m256i __A)
3648
- {
3403
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3404
+ _mm512_mask_cvtepi32_pd(__m512d __W, __mmask8 __U, __m256i __A) {
3649
3405
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
3650
3406
  (__v8df)_mm512_cvtepi32_pd(__A),
3651
3407
  (__v8df)__W);
3652
3408
  }
3653
3409
 
3654
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3655
- _mm512_maskz_cvtepi32_pd (__mmask8 __U, __m256i __A)
3656
- {
3410
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3411
+ _mm512_maskz_cvtepi32_pd(__mmask8 __U, __m256i __A) {
3657
3412
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
3658
3413
  (__v8df)_mm512_cvtepi32_pd(__A),
3659
3414
  (__v8df)_mm512_setzero_pd());
3660
3415
  }
3661
3416
 
3662
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3663
- _mm512_cvtepi32lo_pd(__m512i __A)
3664
- {
3417
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3418
+ _mm512_cvtepi32lo_pd(__m512i __A) {
3665
3419
  return (__m512d) _mm512_cvtepi32_pd(_mm512_castsi512_si256(__A));
3666
3420
  }
3667
3421
 
3668
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3669
- _mm512_mask_cvtepi32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
3670
- {
3422
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3423
+ _mm512_mask_cvtepi32lo_pd(__m512d __W, __mmask8 __U, __m512i __A) {
3671
3424
  return (__m512d) _mm512_mask_cvtepi32_pd(__W, __U, _mm512_castsi512_si256(__A));
3672
3425
  }
3673
3426
 
3674
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3675
- _mm512_cvtepi32_ps (__m512i __A)
3676
- {
3427
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3428
+ _mm512_cvtepi32_ps(__m512i __A) {
3677
3429
  return (__m512)__builtin_convertvector((__v16si)__A, __v16sf);
3678
3430
  }
3679
3431
 
3680
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3681
- _mm512_mask_cvtepi32_ps (__m512 __W, __mmask16 __U, __m512i __A)
3682
- {
3432
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3433
+ _mm512_mask_cvtepi32_ps(__m512 __W, __mmask16 __U, __m512i __A) {
3683
3434
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
3684
3435
  (__v16sf)_mm512_cvtepi32_ps(__A),
3685
3436
  (__v16sf)__W);
3686
3437
  }
3687
3438
 
3688
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3689
- _mm512_maskz_cvtepi32_ps (__mmask16 __U, __m512i __A)
3690
- {
3439
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3440
+ _mm512_maskz_cvtepi32_ps(__mmask16 __U, __m512i __A) {
3691
3441
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
3692
3442
  (__v16sf)_mm512_cvtepi32_ps(__A),
3693
3443
  (__v16sf)_mm512_setzero_ps());
3694
3444
  }
3695
3445
 
3696
- static __inline __m512d __DEFAULT_FN_ATTRS512
3697
- _mm512_cvtepu32_pd(__m256i __A)
3698
- {
3446
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3447
+ _mm512_cvtepu32_pd(__m256i __A) {
3699
3448
  return (__m512d)__builtin_convertvector((__v8su)__A, __v8df);
3700
3449
  }
3701
3450
 
3702
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3703
- _mm512_mask_cvtepu32_pd (__m512d __W, __mmask8 __U, __m256i __A)
3704
- {
3451
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3452
+ _mm512_mask_cvtepu32_pd(__m512d __W, __mmask8 __U, __m256i __A) {
3705
3453
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
3706
3454
  (__v8df)_mm512_cvtepu32_pd(__A),
3707
3455
  (__v8df)__W);
3708
3456
  }
3709
3457
 
3710
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3711
- _mm512_maskz_cvtepu32_pd (__mmask8 __U, __m256i __A)
3712
- {
3458
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3459
+ _mm512_maskz_cvtepu32_pd(__mmask8 __U, __m256i __A) {
3713
3460
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
3714
3461
  (__v8df)_mm512_cvtepu32_pd(__A),
3715
3462
  (__v8df)_mm512_setzero_pd());
3716
3463
  }
3717
3464
 
3718
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3719
- _mm512_cvtepu32lo_pd(__m512i __A)
3720
- {
3465
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3466
+ _mm512_cvtepu32lo_pd(__m512i __A) {
3721
3467
  return (__m512d) _mm512_cvtepu32_pd(_mm512_castsi512_si256(__A));
3722
3468
  }
3723
3469
 
3724
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
3725
- _mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
3726
- {
3470
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3471
+ _mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U, __m512i __A) {
3727
3472
  return (__m512d) _mm512_mask_cvtepu32_pd(__W, __U, _mm512_castsi512_si256(__A));
3728
3473
  }
3729
3474
 
@@ -3742,44 +3487,38 @@ _mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
3742
3487
  (__v8sf)_mm256_setzero_ps(), \
3743
3488
  (__mmask8)(U), (int)(R)))
3744
3489
 
3745
- static __inline__ __m256 __DEFAULT_FN_ATTRS512
3746
- _mm512_cvtpd_ps (__m512d __A)
3747
- {
3748
- return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
3749
- (__v8sf) _mm256_undefined_ps (),
3750
- (__mmask8) -1,
3751
- _MM_FROUND_CUR_DIRECTION);
3490
+ static __inline__ __m256
3491
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtpd_ps(__m512d __A) {
3492
+ return (__m256)__builtin_ia32_cvtpd2ps512_mask(
3493
+ (__v8df)__A, (__v8sf)_mm256_setzero_ps(), (__mmask8)-1,
3494
+ _MM_FROUND_CUR_DIRECTION);
3752
3495
  }
3753
3496
 
3754
- static __inline__ __m256 __DEFAULT_FN_ATTRS512
3755
- _mm512_mask_cvtpd_ps (__m256 __W, __mmask8 __U, __m512d __A)
3756
- {
3497
+ static __inline__ __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
3498
+ _mm512_mask_cvtpd_ps(__m256 __W, __mmask8 __U, __m512d __A) {
3757
3499
  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
3758
3500
  (__v8sf) __W,
3759
3501
  (__mmask8) __U,
3760
3502
  _MM_FROUND_CUR_DIRECTION);
3761
3503
  }
3762
3504
 
3763
- static __inline__ __m256 __DEFAULT_FN_ATTRS512
3764
- _mm512_maskz_cvtpd_ps (__mmask8 __U, __m512d __A)
3765
- {
3505
+ static __inline__ __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
3506
+ _mm512_maskz_cvtpd_ps(__mmask8 __U, __m512d __A) {
3766
3507
  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
3767
3508
  (__v8sf) _mm256_setzero_ps (),
3768
3509
  (__mmask8) __U,
3769
3510
  _MM_FROUND_CUR_DIRECTION);
3770
3511
  }
3771
3512
 
3772
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3773
- _mm512_cvtpd_pslo (__m512d __A)
3774
- {
3513
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3514
+ _mm512_cvtpd_pslo(__m512d __A) {
3775
3515
  return (__m512) __builtin_shufflevector((__v8sf) _mm512_cvtpd_ps(__A),
3776
3516
  (__v8sf) _mm256_setzero_ps (),
3777
3517
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
3778
3518
  }
3779
3519
 
3780
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
3781
- _mm512_mask_cvtpd_pslo (__m512 __W, __mmask8 __U,__m512d __A)
3782
- {
3520
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3521
+ _mm512_mask_cvtpd_pslo(__m512 __W, __mmask8 __U, __m512d __A) {
3783
3522
  return (__m512) __builtin_shufflevector (
3784
3523
  (__v8sf) _mm512_mask_cvtpd_ps (_mm512_castps512_ps256(__W),
3785
3524
  __U, __A),
@@ -4123,9 +3862,8 @@ _mm512_cvtss_f32(__m512 __a)
4123
3862
 
4124
3863
  /* Unpack and Interleave */
4125
3864
 
4126
- static __inline __m512d __DEFAULT_FN_ATTRS512
4127
- _mm512_unpackhi_pd(__m512d __a, __m512d __b)
4128
- {
3865
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3866
+ _mm512_unpackhi_pd(__m512d __a, __m512d __b) {
4129
3867
  return (__m512d)__builtin_shufflevector((__v8df)__a, (__v8df)__b,
4130
3868
  1, 9, 1+2, 9+2, 1+4, 9+4, 1+6, 9+6);
4131
3869
  }
@@ -4146,9 +3884,8 @@ _mm512_maskz_unpackhi_pd(__mmask8 __U, __m512d __A, __m512d __B)
4146
3884
  (__v8df)_mm512_setzero_pd());
4147
3885
  }
4148
3886
 
4149
- static __inline __m512d __DEFAULT_FN_ATTRS512
4150
- _mm512_unpacklo_pd(__m512d __a, __m512d __b)
4151
- {
3887
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3888
+ _mm512_unpacklo_pd(__m512d __a, __m512d __b) {
4152
3889
  return (__m512d)__builtin_shufflevector((__v8df)__a, (__v8df)__b,
4153
3890
  0, 8, 0+2, 8+2, 0+4, 8+4, 0+6, 8+6);
4154
3891
  }
@@ -4169,9 +3906,8 @@ _mm512_maskz_unpacklo_pd (__mmask8 __U, __m512d __A, __m512d __B)
4169
3906
  (__v8df)_mm512_setzero_pd());
4170
3907
  }
4171
3908
 
4172
- static __inline __m512 __DEFAULT_FN_ATTRS512
4173
- _mm512_unpackhi_ps(__m512 __a, __m512 __b)
4174
- {
3909
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3910
+ _mm512_unpackhi_ps(__m512 __a, __m512 __b) {
4175
3911
  return (__m512)__builtin_shufflevector((__v16sf)__a, (__v16sf)__b,
4176
3912
  2, 18, 3, 19,
4177
3913
  2+4, 18+4, 3+4, 19+4,
@@ -4195,9 +3931,8 @@ _mm512_maskz_unpackhi_ps (__mmask16 __U, __m512 __A, __m512 __B)
4195
3931
  (__v16sf)_mm512_setzero_ps());
4196
3932
  }
4197
3933
 
4198
- static __inline __m512 __DEFAULT_FN_ATTRS512
4199
- _mm512_unpacklo_ps(__m512 __a, __m512 __b)
4200
- {
3934
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3935
+ _mm512_unpacklo_ps(__m512 __a, __m512 __b) {
4201
3936
  return (__m512)__builtin_shufflevector((__v16sf)__a, (__v16sf)__b,
4202
3937
  0, 16, 1, 17,
4203
3938
  0+4, 16+4, 1+4, 17+4,
@@ -4221,9 +3956,8 @@ _mm512_maskz_unpacklo_ps (__mmask16 __U, __m512 __A, __m512 __B)
4221
3956
  (__v16sf)_mm512_setzero_ps());
4222
3957
  }
4223
3958
 
4224
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4225
- _mm512_unpackhi_epi32(__m512i __A, __m512i __B)
4226
- {
3959
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3960
+ _mm512_unpackhi_epi32(__m512i __A, __m512i __B) {
4227
3961
  return (__m512i)__builtin_shufflevector((__v16si)__A, (__v16si)__B,
4228
3962
  2, 18, 3, 19,
4229
3963
  2+4, 18+4, 3+4, 19+4,
@@ -4247,9 +3981,8 @@ _mm512_maskz_unpackhi_epi32(__mmask16 __U, __m512i __A, __m512i __B)
4247
3981
  (__v16si)_mm512_setzero_si512());
4248
3982
  }
4249
3983
 
4250
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4251
- _mm512_unpacklo_epi32(__m512i __A, __m512i __B)
4252
- {
3984
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3985
+ _mm512_unpacklo_epi32(__m512i __A, __m512i __B) {
4253
3986
  return (__m512i)__builtin_shufflevector((__v16si)__A, (__v16si)__B,
4254
3987
  0, 16, 1, 17,
4255
3988
  0+4, 16+4, 1+4, 17+4,
@@ -4273,9 +4006,8 @@ _mm512_maskz_unpacklo_epi32(__mmask16 __U, __m512i __A, __m512i __B)
4273
4006
  (__v16si)_mm512_setzero_si512());
4274
4007
  }
4275
4008
 
4276
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4277
- _mm512_unpackhi_epi64(__m512i __A, __m512i __B)
4278
- {
4009
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4010
+ _mm512_unpackhi_epi64(__m512i __A, __m512i __B) {
4279
4011
  return (__m512i)__builtin_shufflevector((__v8di)__A, (__v8di)__B,
4280
4012
  1, 9, 1+2, 9+2, 1+4, 9+4, 1+6, 9+6);
4281
4013
  }
@@ -4296,9 +4028,8 @@ _mm512_maskz_unpackhi_epi64(__mmask8 __U, __m512i __A, __m512i __B)
4296
4028
  (__v8di)_mm512_setzero_si512());
4297
4029
  }
4298
4030
 
4299
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4300
- _mm512_unpacklo_epi64 (__m512i __A, __m512i __B)
4301
- {
4031
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4032
+ _mm512_unpacklo_epi64(__m512i __A, __m512i __B) {
4302
4033
  return (__m512i)__builtin_shufflevector((__v8di)__A, (__v8di)__B,
4303
4034
  0, 8, 0+2, 8+2, 0+4, 8+4, 0+6, 8+6);
4304
4035
  }
@@ -4619,9 +4350,8 @@ _mm512_store_epi64 (void *__P, __m512i __A)
4619
4350
 
4620
4351
  /* Mask ops */
4621
4352
 
4622
- static __inline __mmask16 __DEFAULT_FN_ATTRS
4623
- _mm512_knot(__mmask16 __M)
4624
- {
4353
+ static __inline __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
4354
+ _mm512_knot(__mmask16 __M) {
4625
4355
  return __builtin_ia32_knothi(__M);
4626
4356
  }
4627
4357
 
@@ -4727,237 +4457,207 @@ _mm512_knot(__mmask16 __M)
4727
4457
  #define _mm512_mask_cmpneq_epu64_mask(k, A, B) \
4728
4458
  _mm512_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_NE)
4729
4459
 
4730
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4731
- _mm512_cvtepi8_epi32(__m128i __A)
4732
- {
4460
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4461
+ _mm512_cvtepi8_epi32(__m128i __A) {
4733
4462
  /* This function always performs a signed extension, but __v16qi is a char
4734
4463
  which may be signed or unsigned, so use __v16qs. */
4735
4464
  return (__m512i)__builtin_convertvector((__v16qs)__A, __v16si);
4736
4465
  }
4737
4466
 
4738
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4739
- _mm512_mask_cvtepi8_epi32(__m512i __W, __mmask16 __U, __m128i __A)
4740
- {
4467
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4468
+ _mm512_mask_cvtepi8_epi32(__m512i __W, __mmask16 __U, __m128i __A) {
4741
4469
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4742
4470
  (__v16si)_mm512_cvtepi8_epi32(__A),
4743
4471
  (__v16si)__W);
4744
4472
  }
4745
4473
 
4746
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4747
- _mm512_maskz_cvtepi8_epi32(__mmask16 __U, __m128i __A)
4748
- {
4474
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4475
+ _mm512_maskz_cvtepi8_epi32(__mmask16 __U, __m128i __A) {
4749
4476
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4750
4477
  (__v16si)_mm512_cvtepi8_epi32(__A),
4751
4478
  (__v16si)_mm512_setzero_si512());
4752
4479
  }
4753
4480
 
4754
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4755
- _mm512_cvtepi8_epi64(__m128i __A)
4756
- {
4481
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4482
+ _mm512_cvtepi8_epi64(__m128i __A) {
4757
4483
  /* This function always performs a signed extension, but __v16qi is a char
4758
4484
  which may be signed or unsigned, so use __v16qs. */
4759
4485
  return (__m512i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__A, (__v16qs)__A, 0, 1, 2, 3, 4, 5, 6, 7), __v8di);
4760
4486
  }
4761
4487
 
4762
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4763
- _mm512_mask_cvtepi8_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4764
- {
4488
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4489
+ _mm512_mask_cvtepi8_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
4765
4490
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4766
4491
  (__v8di)_mm512_cvtepi8_epi64(__A),
4767
4492
  (__v8di)__W);
4768
4493
  }
4769
4494
 
4770
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4771
- _mm512_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A)
4772
- {
4495
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4496
+ _mm512_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) {
4773
4497
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4774
4498
  (__v8di)_mm512_cvtepi8_epi64(__A),
4775
4499
  (__v8di)_mm512_setzero_si512 ());
4776
4500
  }
4777
4501
 
4778
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4779
- _mm512_cvtepi32_epi64(__m256i __X)
4780
- {
4502
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4503
+ _mm512_cvtepi32_epi64(__m256i __X) {
4781
4504
  return (__m512i)__builtin_convertvector((__v8si)__X, __v8di);
4782
4505
  }
4783
4506
 
4784
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4785
- _mm512_mask_cvtepi32_epi64(__m512i __W, __mmask8 __U, __m256i __X)
4786
- {
4507
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4508
+ _mm512_mask_cvtepi32_epi64(__m512i __W, __mmask8 __U, __m256i __X) {
4787
4509
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4788
4510
  (__v8di)_mm512_cvtepi32_epi64(__X),
4789
4511
  (__v8di)__W);
4790
4512
  }
4791
4513
 
4792
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4793
- _mm512_maskz_cvtepi32_epi64(__mmask8 __U, __m256i __X)
4794
- {
4514
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4515
+ _mm512_maskz_cvtepi32_epi64(__mmask8 __U, __m256i __X) {
4795
4516
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4796
4517
  (__v8di)_mm512_cvtepi32_epi64(__X),
4797
4518
  (__v8di)_mm512_setzero_si512());
4798
4519
  }
4799
4520
 
4800
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4801
- _mm512_cvtepi16_epi32(__m256i __A)
4802
- {
4521
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4522
+ _mm512_cvtepi16_epi32(__m256i __A) {
4803
4523
  return (__m512i)__builtin_convertvector((__v16hi)__A, __v16si);
4804
4524
  }
4805
4525
 
4806
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4807
- _mm512_mask_cvtepi16_epi32(__m512i __W, __mmask16 __U, __m256i __A)
4808
- {
4526
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4527
+ _mm512_mask_cvtepi16_epi32(__m512i __W, __mmask16 __U, __m256i __A) {
4809
4528
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4810
4529
  (__v16si)_mm512_cvtepi16_epi32(__A),
4811
4530
  (__v16si)__W);
4812
4531
  }
4813
4532
 
4814
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4815
- _mm512_maskz_cvtepi16_epi32(__mmask16 __U, __m256i __A)
4816
- {
4533
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4534
+ _mm512_maskz_cvtepi16_epi32(__mmask16 __U, __m256i __A) {
4817
4535
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4818
4536
  (__v16si)_mm512_cvtepi16_epi32(__A),
4819
4537
  (__v16si)_mm512_setzero_si512 ());
4820
4538
  }
4821
4539
 
4822
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4823
- _mm512_cvtepi16_epi64(__m128i __A)
4824
- {
4540
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4541
+ _mm512_cvtepi16_epi64(__m128i __A) {
4825
4542
  return (__m512i)__builtin_convertvector((__v8hi)__A, __v8di);
4826
4543
  }
4827
4544
 
4828
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4829
- _mm512_mask_cvtepi16_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4830
- {
4545
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4546
+ _mm512_mask_cvtepi16_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
4831
4547
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4832
4548
  (__v8di)_mm512_cvtepi16_epi64(__A),
4833
4549
  (__v8di)__W);
4834
4550
  }
4835
4551
 
4836
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4837
- _mm512_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A)
4838
- {
4552
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4553
+ _mm512_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) {
4839
4554
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4840
4555
  (__v8di)_mm512_cvtepi16_epi64(__A),
4841
4556
  (__v8di)_mm512_setzero_si512());
4842
4557
  }
4843
4558
 
4844
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4845
- _mm512_cvtepu8_epi32(__m128i __A)
4846
- {
4559
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4560
+ _mm512_cvtepu8_epi32(__m128i __A) {
4847
4561
  return (__m512i)__builtin_convertvector((__v16qu)__A, __v16si);
4848
4562
  }
4849
4563
 
4850
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4851
- _mm512_mask_cvtepu8_epi32(__m512i __W, __mmask16 __U, __m128i __A)
4852
- {
4564
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4565
+ _mm512_mask_cvtepu8_epi32(__m512i __W, __mmask16 __U, __m128i __A) {
4853
4566
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4854
4567
  (__v16si)_mm512_cvtepu8_epi32(__A),
4855
4568
  (__v16si)__W);
4856
4569
  }
4857
4570
 
4858
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4859
- _mm512_maskz_cvtepu8_epi32(__mmask16 __U, __m128i __A)
4860
- {
4571
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4572
+ _mm512_maskz_cvtepu8_epi32(__mmask16 __U, __m128i __A) {
4861
4573
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4862
4574
  (__v16si)_mm512_cvtepu8_epi32(__A),
4863
4575
  (__v16si)_mm512_setzero_si512());
4864
4576
  }
4865
4577
 
4866
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4867
- _mm512_cvtepu8_epi64(__m128i __A)
4868
- {
4578
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4579
+ _mm512_cvtepu8_epi64(__m128i __A) {
4869
4580
  return (__m512i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__A, (__v16qu)__A, 0, 1, 2, 3, 4, 5, 6, 7), __v8di);
4870
4581
  }
4871
4582
 
4872
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4873
- _mm512_mask_cvtepu8_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4874
- {
4583
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4584
+ _mm512_mask_cvtepu8_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
4875
4585
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4876
4586
  (__v8di)_mm512_cvtepu8_epi64(__A),
4877
4587
  (__v8di)__W);
4878
4588
  }
4879
4589
 
4880
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4881
- _mm512_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A)
4882
- {
4590
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4591
+ _mm512_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
4883
4592
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4884
4593
  (__v8di)_mm512_cvtepu8_epi64(__A),
4885
4594
  (__v8di)_mm512_setzero_si512());
4886
4595
  }
4887
4596
 
4888
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4889
- _mm512_cvtepu32_epi64(__m256i __X)
4890
- {
4597
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4598
+ _mm512_cvtepu32_epi64(__m256i __X) {
4891
4599
  return (__m512i)__builtin_convertvector((__v8su)__X, __v8di);
4892
4600
  }
4893
4601
 
4894
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4895
- _mm512_mask_cvtepu32_epi64(__m512i __W, __mmask8 __U, __m256i __X)
4896
- {
4602
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4603
+ _mm512_mask_cvtepu32_epi64(__m512i __W, __mmask8 __U, __m256i __X) {
4897
4604
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4898
4605
  (__v8di)_mm512_cvtepu32_epi64(__X),
4899
4606
  (__v8di)__W);
4900
4607
  }
4901
4608
 
4902
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4903
- _mm512_maskz_cvtepu32_epi64(__mmask8 __U, __m256i __X)
4904
- {
4609
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4610
+ _mm512_maskz_cvtepu32_epi64(__mmask8 __U, __m256i __X) {
4905
4611
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4906
4612
  (__v8di)_mm512_cvtepu32_epi64(__X),
4907
4613
  (__v8di)_mm512_setzero_si512());
4908
4614
  }
4909
4615
 
4910
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4911
- _mm512_cvtepu16_epi32(__m256i __A)
4912
- {
4616
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4617
+ _mm512_cvtepu16_epi32(__m256i __A) {
4913
4618
  return (__m512i)__builtin_convertvector((__v16hu)__A, __v16si);
4914
4619
  }
4915
4620
 
4916
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4917
- _mm512_mask_cvtepu16_epi32(__m512i __W, __mmask16 __U, __m256i __A)
4918
- {
4621
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4622
+ _mm512_mask_cvtepu16_epi32(__m512i __W, __mmask16 __U, __m256i __A) {
4919
4623
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4920
4624
  (__v16si)_mm512_cvtepu16_epi32(__A),
4921
4625
  (__v16si)__W);
4922
4626
  }
4923
4627
 
4924
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4925
- _mm512_maskz_cvtepu16_epi32(__mmask16 __U, __m256i __A)
4926
- {
4628
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4629
+ _mm512_maskz_cvtepu16_epi32(__mmask16 __U, __m256i __A) {
4927
4630
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
4928
4631
  (__v16si)_mm512_cvtepu16_epi32(__A),
4929
4632
  (__v16si)_mm512_setzero_si512());
4930
4633
  }
4931
4634
 
4932
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4933
- _mm512_cvtepu16_epi64(__m128i __A)
4934
- {
4635
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4636
+ _mm512_cvtepu16_epi64(__m128i __A) {
4935
4637
  return (__m512i)__builtin_convertvector((__v8hu)__A, __v8di);
4936
4638
  }
4937
4639
 
4938
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4939
- _mm512_mask_cvtepu16_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4940
- {
4640
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4641
+ _mm512_mask_cvtepu16_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
4941
4642
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4942
4643
  (__v8di)_mm512_cvtepu16_epi64(__A),
4943
4644
  (__v8di)__W);
4944
4645
  }
4945
4646
 
4946
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4947
- _mm512_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A)
4948
- {
4647
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4648
+ _mm512_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
4949
4649
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4950
4650
  (__v8di)_mm512_cvtepu16_epi64(__A),
4951
4651
  (__v8di)_mm512_setzero_si512());
4952
4652
  }
4953
4653
 
4954
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4654
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4955
4655
  _mm512_rorv_epi32 (__m512i __A, __m512i __B)
4956
4656
  {
4957
- return (__m512i)__builtin_ia32_prorvd512((__v16si)__A, (__v16si)__B);
4657
+ return (__m512i)__builtin_elementwise_fshr((__v16su)__A,(__v16su)__A, (__v16su)__B);
4958
4658
  }
4959
4659
 
4960
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4660
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4961
4661
  _mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
4962
4662
  {
4963
4663
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -4965,7 +4665,7 @@ _mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
4965
4665
  (__v16si)__W);
4966
4666
  }
4967
4667
 
4968
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4668
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4969
4669
  _mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
4970
4670
  {
4971
4671
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -4973,13 +4673,13 @@ _mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
4973
4673
  (__v16si)_mm512_setzero_si512());
4974
4674
  }
4975
4675
 
4976
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4676
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4977
4677
  _mm512_rorv_epi64 (__m512i __A, __m512i __B)
4978
4678
  {
4979
- return (__m512i)__builtin_ia32_prorvq512((__v8di)__A, (__v8di)__B);
4679
+ return (__m512i)__builtin_elementwise_fshr((__v8du)__A, (__v8du)__A, (__v8du)__B);
4980
4680
  }
4981
4681
 
4982
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4682
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4983
4683
  _mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
4984
4684
  {
4985
4685
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -4987,7 +4687,7 @@ _mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
4987
4687
  (__v8di)__W);
4988
4688
  }
4989
4689
 
4990
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4690
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4991
4691
  _mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
4992
4692
  {
4993
4693
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -5063,13 +4763,13 @@ _mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
5063
4763
  (__v8di)_mm512_rol_epi64((a), (b)), \
5064
4764
  (__v8di)_mm512_setzero_si512()))
5065
4765
 
5066
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4766
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5067
4767
  _mm512_rolv_epi32 (__m512i __A, __m512i __B)
5068
4768
  {
5069
- return (__m512i)__builtin_ia32_prolvd512((__v16si)__A, (__v16si)__B);
4769
+ return (__m512i)__builtin_elementwise_fshl((__v16su)__A, (__v16su)__A, (__v16su)__B);
5070
4770
  }
5071
4771
 
5072
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4772
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5073
4773
  _mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
5074
4774
  {
5075
4775
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -5077,7 +4777,7 @@ _mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
5077
4777
  (__v16si)__W);
5078
4778
  }
5079
4779
 
5080
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4780
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5081
4781
  _mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
5082
4782
  {
5083
4783
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -5085,13 +4785,13 @@ _mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
5085
4785
  (__v16si)_mm512_setzero_si512());
5086
4786
  }
5087
4787
 
5088
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4788
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5089
4789
  _mm512_rolv_epi64 (__m512i __A, __m512i __B)
5090
4790
  {
5091
- return (__m512i)__builtin_ia32_prolvq512((__v8di)__A, (__v8di)__B);
4791
+ return (__m512i)__builtin_elementwise_fshl((__v8du)__A, (__v8du)__A, (__v8du)__B);
5092
4792
  }
5093
4793
 
5094
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4794
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5095
4795
  _mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
5096
4796
  {
5097
4797
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -5099,7 +4799,7 @@ _mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
5099
4799
  (__v8di)__W);
5100
4800
  }
5101
4801
 
5102
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4802
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5103
4803
  _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
5104
4804
  {
5105
4805
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -5133,91 +4833,81 @@ _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
5133
4833
  (__v8di)_mm512_ror_epi64((A), (B)), \
5134
4834
  (__v8di)_mm512_setzero_si512()))
5135
4835
 
5136
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5137
- _mm512_slli_epi32(__m512i __A, unsigned int __B)
5138
- {
4836
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4837
+ _mm512_slli_epi32(__m512i __A, unsigned int __B) {
5139
4838
  return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, (int)__B);
5140
4839
  }
5141
4840
 
5142
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4841
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5143
4842
  _mm512_mask_slli_epi32(__m512i __W, __mmask16 __U, __m512i __A,
5144
- unsigned int __B)
5145
- {
4843
+ unsigned int __B) {
5146
4844
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5147
4845
  (__v16si)_mm512_slli_epi32(__A, __B),
5148
4846
  (__v16si)__W);
5149
4847
  }
5150
4848
 
5151
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4849
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5152
4850
  _mm512_maskz_slli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
5153
4851
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5154
4852
  (__v16si)_mm512_slli_epi32(__A, __B),
5155
4853
  (__v16si)_mm512_setzero_si512());
5156
4854
  }
5157
4855
 
5158
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5159
- _mm512_slli_epi64(__m512i __A, unsigned int __B)
5160
- {
4856
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4857
+ _mm512_slli_epi64(__m512i __A, unsigned int __B) {
5161
4858
  return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, (int)__B);
5162
4859
  }
5163
4860
 
5164
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5165
- _mm512_mask_slli_epi64(__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B)
5166
- {
4861
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4862
+ _mm512_mask_slli_epi64(__m512i __W, __mmask8 __U, __m512i __A,
4863
+ unsigned int __B) {
5167
4864
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5168
4865
  (__v8di)_mm512_slli_epi64(__A, __B),
5169
4866
  (__v8di)__W);
5170
4867
  }
5171
4868
 
5172
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5173
- _mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
5174
- {
4869
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4870
+ _mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
5175
4871
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5176
4872
  (__v8di)_mm512_slli_epi64(__A, __B),
5177
4873
  (__v8di)_mm512_setzero_si512());
5178
4874
  }
5179
4875
 
5180
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5181
- _mm512_srli_epi32(__m512i __A, unsigned int __B)
5182
- {
4876
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4877
+ _mm512_srli_epi32(__m512i __A, unsigned int __B) {
5183
4878
  return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, (int)__B);
5184
4879
  }
5185
4880
 
5186
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4881
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5187
4882
  _mm512_mask_srli_epi32(__m512i __W, __mmask16 __U, __m512i __A,
5188
- unsigned int __B)
5189
- {
4883
+ unsigned int __B) {
5190
4884
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5191
4885
  (__v16si)_mm512_srli_epi32(__A, __B),
5192
4886
  (__v16si)__W);
5193
4887
  }
5194
4888
 
5195
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4889
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5196
4890
  _mm512_maskz_srli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
5197
4891
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5198
4892
  (__v16si)_mm512_srli_epi32(__A, __B),
5199
4893
  (__v16si)_mm512_setzero_si512());
5200
4894
  }
5201
4895
 
5202
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5203
- _mm512_srli_epi64(__m512i __A, unsigned int __B)
5204
- {
4896
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4897
+ _mm512_srli_epi64(__m512i __A, unsigned int __B) {
5205
4898
  return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, (int)__B);
5206
4899
  }
5207
4900
 
5208
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
4901
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5209
4902
  _mm512_mask_srli_epi64(__m512i __W, __mmask8 __U, __m512i __A,
5210
- unsigned int __B)
5211
- {
4903
+ unsigned int __B) {
5212
4904
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5213
4905
  (__v8di)_mm512_srli_epi64(__A, __B),
5214
4906
  (__v8di)__W);
5215
4907
  }
5216
4908
 
5217
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5218
- _mm512_maskz_srli_epi64(__mmask8 __U, __m512i __A,
5219
- unsigned int __B)
5220
- {
4909
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4910
+ _mm512_maskz_srli_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
5221
4911
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5222
4912
  (__v8di)_mm512_srli_epi64(__A, __B),
5223
4913
  (__v8di)_mm512_setzero_si512());
@@ -5303,7 +4993,7 @@ _mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
5303
4993
  (__mmask8) __U);
5304
4994
  }
5305
4995
 
5306
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
4996
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5307
4997
  _mm512_movedup_pd (__m512d __A)
5308
4998
  {
5309
4999
  return (__m512d)__builtin_shufflevector((__v8df)__A, (__v8df)__A,
@@ -5664,10 +5354,9 @@ _mm_maskz_getexp_ss (__mmask8 __U, __m128 __A, __m128 __B)
5664
5354
  (int)(((D)<<2) | (C)), \
5665
5355
  (__v4sf)_mm_setzero_ps(), \
5666
5356
  (__mmask8)(U), (int)(R)))
5667
-
5668
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
5669
- _mm512_kmov (__mmask16 __A)
5670
- {
5357
+
5358
+ static __inline__ __mmask16
5359
+ __DEFAULT_FN_ATTRS_CONSTEXPR _mm512_kmov(__mmask16 __A) {
5671
5360
  return __A;
5672
5361
  }
5673
5362
 
@@ -5684,79 +5373,70 @@ _mm512_kmov (__mmask16 __A)
5684
5373
  ((long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R)))
5685
5374
  #endif
5686
5375
 
5687
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5688
- _mm512_sll_epi32(__m512i __A, __m128i __B)
5689
- {
5376
+ static __inline__ __m512i
5377
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_sll_epi32(__m512i __A, __m128i __B) {
5690
5378
  return (__m512i)__builtin_ia32_pslld512((__v16si) __A, (__v4si)__B);
5691
5379
  }
5692
5380
 
5693
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5694
- _mm512_mask_sll_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5695
- {
5381
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5382
+ _mm512_mask_sll_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
5696
5383
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5697
5384
  (__v16si)_mm512_sll_epi32(__A, __B),
5698
5385
  (__v16si)__W);
5699
5386
  }
5700
5387
 
5701
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5702
- _mm512_maskz_sll_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5703
- {
5388
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5389
+ _mm512_maskz_sll_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
5704
5390
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5705
5391
  (__v16si)_mm512_sll_epi32(__A, __B),
5706
5392
  (__v16si)_mm512_setzero_si512());
5707
5393
  }
5708
5394
 
5709
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5710
- _mm512_sll_epi64(__m512i __A, __m128i __B)
5711
- {
5395
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5396
+ _mm512_sll_epi64(__m512i __A, __m128i __B) {
5712
5397
  return (__m512i)__builtin_ia32_psllq512((__v8di)__A, (__v2di)__B);
5713
5398
  }
5714
5399
 
5715
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5716
- _mm512_mask_sll_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5717
- {
5400
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5401
+ _mm512_mask_sll_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
5718
5402
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5719
5403
  (__v8di)_mm512_sll_epi64(__A, __B),
5720
5404
  (__v8di)__W);
5721
5405
  }
5722
5406
 
5723
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5724
- _mm512_maskz_sll_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5725
- {
5407
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5408
+ _mm512_maskz_sll_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
5726
5409
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5727
5410
  (__v8di)_mm512_sll_epi64(__A, __B),
5728
5411
  (__v8di)_mm512_setzero_si512());
5729
5412
  }
5730
5413
 
5731
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5732
- _mm512_sllv_epi32(__m512i __X, __m512i __Y)
5733
- {
5414
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5415
+ _mm512_sllv_epi32(__m512i __X, __m512i __Y) {
5734
5416
  return (__m512i)__builtin_ia32_psllv16si((__v16si)__X, (__v16si)__Y);
5735
5417
  }
5736
5418
 
5737
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5738
- _mm512_mask_sllv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5739
- {
5419
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5420
+ _mm512_mask_sllv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
5740
5421
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5741
5422
  (__v16si)_mm512_sllv_epi32(__X, __Y),
5742
5423
  (__v16si)__W);
5743
5424
  }
5744
5425
 
5745
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5746
- _mm512_maskz_sllv_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5747
- {
5426
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5427
+ _mm512_maskz_sllv_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
5748
5428
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5749
5429
  (__v16si)_mm512_sllv_epi32(__X, __Y),
5750
5430
  (__v16si)_mm512_setzero_si512());
5751
5431
  }
5752
5432
 
5753
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5433
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5754
5434
  _mm512_sllv_epi64(__m512i __X, __m512i __Y)
5755
5435
  {
5756
5436
  return (__m512i)__builtin_ia32_psllv8di((__v8di)__X, (__v8di)__Y);
5757
5437
  }
5758
5438
 
5759
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5439
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5760
5440
  _mm512_mask_sllv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5761
5441
  {
5762
5442
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -5764,7 +5444,7 @@ _mm512_mask_sllv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5764
5444
  (__v8di)__W);
5765
5445
  }
5766
5446
 
5767
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5447
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5768
5448
  _mm512_maskz_sllv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5769
5449
  {
5770
5450
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -5772,79 +5452,70 @@ _mm512_maskz_sllv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5772
5452
  (__v8di)_mm512_setzero_si512());
5773
5453
  }
5774
5454
 
5775
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5776
- _mm512_sra_epi32(__m512i __A, __m128i __B)
5777
- {
5455
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5456
+ _mm512_sra_epi32(__m512i __A, __m128i __B) {
5778
5457
  return (__m512i)__builtin_ia32_psrad512((__v16si) __A, (__v4si)__B);
5779
5458
  }
5780
5459
 
5781
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5782
- _mm512_mask_sra_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5783
- {
5460
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5461
+ _mm512_mask_sra_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
5784
5462
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5785
5463
  (__v16si)_mm512_sra_epi32(__A, __B),
5786
5464
  (__v16si)__W);
5787
5465
  }
5788
5466
 
5789
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5790
- _mm512_maskz_sra_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5791
- {
5467
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5468
+ _mm512_maskz_sra_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
5792
5469
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5793
5470
  (__v16si)_mm512_sra_epi32(__A, __B),
5794
5471
  (__v16si)_mm512_setzero_si512());
5795
5472
  }
5796
5473
 
5797
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5798
- _mm512_sra_epi64(__m512i __A, __m128i __B)
5799
- {
5474
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5475
+ _mm512_sra_epi64(__m512i __A, __m128i __B) {
5800
5476
  return (__m512i)__builtin_ia32_psraq512((__v8di)__A, (__v2di)__B);
5801
5477
  }
5802
5478
 
5803
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5804
- _mm512_mask_sra_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5805
- {
5479
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5480
+ _mm512_mask_sra_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
5806
5481
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5807
5482
  (__v8di)_mm512_sra_epi64(__A, __B),
5808
5483
  (__v8di)__W);
5809
5484
  }
5810
5485
 
5811
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5812
- _mm512_maskz_sra_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5813
- {
5486
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5487
+ _mm512_maskz_sra_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
5814
5488
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5815
5489
  (__v8di)_mm512_sra_epi64(__A, __B),
5816
5490
  (__v8di)_mm512_setzero_si512());
5817
5491
  }
5818
5492
 
5819
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5820
- _mm512_srav_epi32(__m512i __X, __m512i __Y)
5821
- {
5493
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5494
+ _mm512_srav_epi32(__m512i __X, __m512i __Y) {
5822
5495
  return (__m512i)__builtin_ia32_psrav16si((__v16si)__X, (__v16si)__Y);
5823
5496
  }
5824
5497
 
5825
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5826
- _mm512_mask_srav_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5827
- {
5498
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5499
+ _mm512_mask_srav_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
5828
5500
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5829
5501
  (__v16si)_mm512_srav_epi32(__X, __Y),
5830
5502
  (__v16si)__W);
5831
5503
  }
5832
5504
 
5833
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5834
- _mm512_maskz_srav_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5835
- {
5505
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5506
+ _mm512_maskz_srav_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
5836
5507
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5837
5508
  (__v16si)_mm512_srav_epi32(__X, __Y),
5838
5509
  (__v16si)_mm512_setzero_si512());
5839
5510
  }
5840
5511
 
5841
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5512
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5842
5513
  _mm512_srav_epi64(__m512i __X, __m512i __Y)
5843
5514
  {
5844
5515
  return (__m512i)__builtin_ia32_psrav8di((__v8di)__X, (__v8di)__Y);
5845
5516
  }
5846
5517
 
5847
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5518
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5848
5519
  _mm512_mask_srav_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5849
5520
  {
5850
5521
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -5852,7 +5523,7 @@ _mm512_mask_srav_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5852
5523
  (__v8di)__W);
5853
5524
  }
5854
5525
 
5855
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5526
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5856
5527
  _mm512_maskz_srav_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5857
5528
  {
5858
5529
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -5860,79 +5531,70 @@ _mm512_maskz_srav_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5860
5531
  (__v8di)_mm512_setzero_si512());
5861
5532
  }
5862
5533
 
5863
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5864
- _mm512_srl_epi32(__m512i __A, __m128i __B)
5865
- {
5534
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5535
+ _mm512_srl_epi32(__m512i __A, __m128i __B) {
5866
5536
  return (__m512i)__builtin_ia32_psrld512((__v16si) __A, (__v4si)__B);
5867
5537
  }
5868
5538
 
5869
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5870
- _mm512_mask_srl_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5871
- {
5539
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5540
+ _mm512_mask_srl_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
5872
5541
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5873
5542
  (__v16si)_mm512_srl_epi32(__A, __B),
5874
5543
  (__v16si)__W);
5875
5544
  }
5876
5545
 
5877
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5878
- _mm512_maskz_srl_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5879
- {
5546
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5547
+ _mm512_maskz_srl_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
5880
5548
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5881
5549
  (__v16si)_mm512_srl_epi32(__A, __B),
5882
5550
  (__v16si)_mm512_setzero_si512());
5883
5551
  }
5884
5552
 
5885
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5886
- _mm512_srl_epi64(__m512i __A, __m128i __B)
5887
- {
5553
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5554
+ _mm512_srl_epi64(__m512i __A, __m128i __B) {
5888
5555
  return (__m512i)__builtin_ia32_psrlq512((__v8di)__A, (__v2di)__B);
5889
5556
  }
5890
5557
 
5891
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5892
- _mm512_mask_srl_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5893
- {
5558
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5559
+ _mm512_mask_srl_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
5894
5560
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5895
5561
  (__v8di)_mm512_srl_epi64(__A, __B),
5896
5562
  (__v8di)__W);
5897
5563
  }
5898
5564
 
5899
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5900
- _mm512_maskz_srl_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5901
- {
5565
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5566
+ _mm512_maskz_srl_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
5902
5567
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
5903
5568
  (__v8di)_mm512_srl_epi64(__A, __B),
5904
5569
  (__v8di)_mm512_setzero_si512());
5905
5570
  }
5906
5571
 
5907
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5908
- _mm512_srlv_epi32(__m512i __X, __m512i __Y)
5909
- {
5572
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5573
+ _mm512_srlv_epi32(__m512i __X, __m512i __Y) {
5910
5574
  return (__m512i)__builtin_ia32_psrlv16si((__v16si)__X, (__v16si)__Y);
5911
5575
  }
5912
5576
 
5913
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5914
- _mm512_mask_srlv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5915
- {
5577
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5578
+ _mm512_mask_srlv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
5916
5579
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5917
5580
  (__v16si)_mm512_srlv_epi32(__X, __Y),
5918
5581
  (__v16si)__W);
5919
5582
  }
5920
5583
 
5921
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5922
- _mm512_maskz_srlv_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5923
- {
5584
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5585
+ _mm512_maskz_srlv_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
5924
5586
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
5925
5587
  (__v16si)_mm512_srlv_epi32(__X, __Y),
5926
5588
  (__v16si)_mm512_setzero_si512());
5927
5589
  }
5928
5590
 
5929
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5591
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5930
5592
  _mm512_srlv_epi64 (__m512i __X, __m512i __Y)
5931
5593
  {
5932
5594
  return (__m512i)__builtin_ia32_psrlv8di((__v8di)__X, (__v8di)__Y);
5933
5595
  }
5934
5596
 
5935
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5597
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5936
5598
  _mm512_mask_srlv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5937
5599
  {
5938
5600
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -5940,7 +5602,7 @@ _mm512_mask_srlv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
5940
5602
  (__v8di)__W);
5941
5603
  }
5942
5604
 
5943
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
5605
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5944
5606
  _mm512_maskz_srlv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5945
5607
  {
5946
5608
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
@@ -6190,115 +5852,104 @@ _mm_cvttss_u64 (__m128 __A)
6190
5852
  (__v16sf)_mm512_permute_ps((X), (C)), \
6191
5853
  (__v16sf)_mm512_setzero_ps()))
6192
5854
 
6193
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6194
- _mm512_permutevar_pd(__m512d __A, __m512i __C)
6195
- {
5855
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5856
+ _mm512_permutevar_pd(__m512d __A, __m512i __C) {
6196
5857
  return (__m512d)__builtin_ia32_vpermilvarpd512((__v8df)__A, (__v8di)__C);
6197
5858
  }
6198
5859
 
6199
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6200
- _mm512_mask_permutevar_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512i __C)
6201
- {
5860
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5861
+ _mm512_mask_permutevar_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512i __C) {
6202
5862
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
6203
5863
  (__v8df)_mm512_permutevar_pd(__A, __C),
6204
5864
  (__v8df)__W);
6205
5865
  }
6206
5866
 
6207
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6208
- _mm512_maskz_permutevar_pd(__mmask8 __U, __m512d __A, __m512i __C)
6209
- {
5867
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5868
+ _mm512_maskz_permutevar_pd(__mmask8 __U, __m512d __A, __m512i __C) {
6210
5869
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
6211
5870
  (__v8df)_mm512_permutevar_pd(__A, __C),
6212
5871
  (__v8df)_mm512_setzero_pd());
6213
5872
  }
6214
5873
 
6215
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6216
- _mm512_permutevar_ps(__m512 __A, __m512i __C)
6217
- {
5874
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5875
+ _mm512_permutevar_ps(__m512 __A, __m512i __C) {
6218
5876
  return (__m512)__builtin_ia32_vpermilvarps512((__v16sf)__A, (__v16si)__C);
6219
5877
  }
6220
5878
 
6221
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6222
- _mm512_mask_permutevar_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512i __C)
6223
- {
5879
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5880
+ _mm512_mask_permutevar_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512i __C) {
6224
5881
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
6225
5882
  (__v16sf)_mm512_permutevar_ps(__A, __C),
6226
5883
  (__v16sf)__W);
6227
5884
  }
6228
5885
 
6229
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6230
- _mm512_maskz_permutevar_ps(__mmask16 __U, __m512 __A, __m512i __C)
6231
- {
5886
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5887
+ _mm512_maskz_permutevar_ps(__mmask16 __U, __m512 __A, __m512i __C) {
6232
5888
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
6233
5889
  (__v16sf)_mm512_permutevar_ps(__A, __C),
6234
5890
  (__v16sf)_mm512_setzero_ps());
6235
5891
  }
6236
5892
 
6237
- static __inline __m512d __DEFAULT_FN_ATTRS512
6238
- _mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B)
6239
- {
5893
+ static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5894
+ _mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B) {
6240
5895
  return (__m512d)__builtin_ia32_vpermi2varpd512((__v8df)__A, (__v8di)__I,
6241
5896
  (__v8df)__B);
6242
5897
  }
6243
5898
 
6244
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6245
- _mm512_mask_permutex2var_pd(__m512d __A, __mmask8 __U, __m512i __I, __m512d __B)
6246
- {
5899
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5900
+ _mm512_mask_permutex2var_pd(__m512d __A, __mmask8 __U, __m512i __I,
5901
+ __m512d __B) {
6247
5902
  return (__m512d)__builtin_ia32_selectpd_512(__U,
6248
5903
  (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
6249
5904
  (__v8df)__A);
6250
5905
  }
6251
5906
 
6252
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
5907
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6253
5908
  _mm512_mask2_permutex2var_pd(__m512d __A, __m512i __I, __mmask8 __U,
6254
- __m512d __B)
6255
- {
5909
+ __m512d __B) {
6256
5910
  return (__m512d)__builtin_ia32_selectpd_512(__U,
6257
5911
  (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
6258
5912
  (__v8df)(__m512d)__I);
6259
5913
  }
6260
5914
 
6261
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
5915
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6262
5916
  _mm512_maskz_permutex2var_pd(__mmask8 __U, __m512d __A, __m512i __I,
6263
- __m512d __B)
6264
- {
5917
+ __m512d __B) {
6265
5918
  return (__m512d)__builtin_ia32_selectpd_512(__U,
6266
5919
  (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
6267
5920
  (__v8df)_mm512_setzero_pd());
6268
5921
  }
6269
5922
 
6270
- static __inline __m512 __DEFAULT_FN_ATTRS512
6271
- _mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B)
6272
- {
5923
+ static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5924
+ _mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B) {
6273
5925
  return (__m512)__builtin_ia32_vpermi2varps512((__v16sf)__A, (__v16si)__I,
6274
5926
  (__v16sf) __B);
6275
5927
  }
6276
5928
 
6277
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6278
- _mm512_mask_permutex2var_ps(__m512 __A, __mmask16 __U, __m512i __I, __m512 __B)
6279
- {
5929
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5930
+ _mm512_mask_permutex2var_ps(__m512 __A, __mmask16 __U, __m512i __I,
5931
+ __m512 __B) {
6280
5932
  return (__m512)__builtin_ia32_selectps_512(__U,
6281
5933
  (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
6282
5934
  (__v16sf)__A);
6283
5935
  }
6284
5936
 
6285
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6286
- _mm512_mask2_permutex2var_ps(__m512 __A, __m512i __I, __mmask16 __U, __m512 __B)
6287
- {
5937
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5938
+ _mm512_mask2_permutex2var_ps(__m512 __A, __m512i __I, __mmask16 __U,
5939
+ __m512 __B) {
6288
5940
  return (__m512)__builtin_ia32_selectps_512(__U,
6289
5941
  (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
6290
5942
  (__v16sf)(__m512)__I);
6291
5943
  }
6292
5944
 
6293
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6294
- _mm512_maskz_permutex2var_ps(__mmask16 __U, __m512 __A, __m512i __I, __m512 __B)
6295
- {
5945
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5946
+ _mm512_maskz_permutex2var_ps(__mmask16 __U, __m512 __A, __m512i __I,
5947
+ __m512 __B) {
6296
5948
  return (__m512)__builtin_ia32_selectps_512(__U,
6297
5949
  (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
6298
5950
  (__v16sf)_mm512_setzero_ps());
6299
5951
  }
6300
5952
 
6301
-
6302
5953
  #define _mm512_cvtt_roundpd_epu32(A, R) \
6303
5954
  ((__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
6304
5955
  (__v8si)_mm256_undefined_si256(), \
@@ -6622,46 +6273,41 @@ _mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
6622
6273
  (__mmask8)(U), \
6623
6274
  (int)(R)))
6624
6275
 
6625
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6626
- _mm512_srai_epi32(__m512i __A, unsigned int __B)
6627
- {
6276
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6277
+ _mm512_srai_epi32(__m512i __A, unsigned int __B) {
6628
6278
  return (__m512i)__builtin_ia32_psradi512((__v16si)__A, (int)__B);
6629
6279
  }
6630
6280
 
6631
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6281
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6632
6282
  _mm512_mask_srai_epi32(__m512i __W, __mmask16 __U, __m512i __A,
6633
- unsigned int __B)
6634
- {
6283
+ unsigned int __B) {
6635
6284
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
6636
6285
  (__v16si)_mm512_srai_epi32(__A, __B),
6637
6286
  (__v16si)__W);
6638
6287
  }
6639
6288
 
6640
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6641
- _mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A,
6642
- unsigned int __B) {
6289
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6290
+ _mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
6643
6291
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
6644
6292
  (__v16si)_mm512_srai_epi32(__A, __B),
6645
6293
  (__v16si)_mm512_setzero_si512());
6646
6294
  }
6647
6295
 
6648
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6649
- _mm512_srai_epi64(__m512i __A, unsigned int __B)
6650
- {
6296
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6297
+ _mm512_srai_epi64(__m512i __A, unsigned int __B) {
6651
6298
  return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, (int)__B);
6652
6299
  }
6653
6300
 
6654
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6655
- _mm512_mask_srai_epi64(__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B)
6656
- {
6301
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6302
+ _mm512_mask_srai_epi64(__m512i __W, __mmask8 __U, __m512i __A,
6303
+ unsigned int __B) {
6657
6304
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
6658
6305
  (__v8di)_mm512_srai_epi64(__A, __B),
6659
6306
  (__v8di)__W);
6660
6307
  }
6661
6308
 
6662
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6663
- _mm512_maskz_srai_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
6664
- {
6309
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6310
+ _mm512_maskz_srai_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
6665
6311
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
6666
6312
  (__v8di)_mm512_srai_epi64(__A, __B),
6667
6313
  (__v8di)_mm512_setzero_si512());
@@ -6827,33 +6473,29 @@ _mm_maskz_sqrt_ss (__mmask8 __U, __m128 __A, __m128 __B)
6827
6473
  (__v4sf)_mm_setzero_ps(), \
6828
6474
  (__mmask8)(U), (int)(R)))
6829
6475
 
6830
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6831
- _mm512_broadcast_f32x4(__m128 __A)
6832
- {
6476
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6477
+ _mm512_broadcast_f32x4(__m128 __A) {
6833
6478
  return (__m512)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
6834
6479
  0, 1, 2, 3, 0, 1, 2, 3,
6835
6480
  0, 1, 2, 3, 0, 1, 2, 3);
6836
6481
  }
6837
6482
 
6838
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6839
- _mm512_mask_broadcast_f32x4(__m512 __O, __mmask16 __M, __m128 __A)
6840
- {
6483
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6484
+ _mm512_mask_broadcast_f32x4(__m512 __O, __mmask16 __M, __m128 __A) {
6841
6485
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
6842
6486
  (__v16sf)_mm512_broadcast_f32x4(__A),
6843
6487
  (__v16sf)__O);
6844
6488
  }
6845
6489
 
6846
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6847
- _mm512_maskz_broadcast_f32x4(__mmask16 __M, __m128 __A)
6848
- {
6490
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6491
+ _mm512_maskz_broadcast_f32x4(__mmask16 __M, __m128 __A) {
6849
6492
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
6850
6493
  (__v16sf)_mm512_broadcast_f32x4(__A),
6851
6494
  (__v16sf)_mm512_setzero_ps());
6852
6495
  }
6853
6496
 
6854
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6855
- _mm512_broadcast_f64x4(__m256d __A)
6856
- {
6497
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6498
+ _mm512_broadcast_f64x4(__m256d __A) {
6857
6499
  return (__m512d)__builtin_shufflevector((__v4df)__A, (__v4df)__A,
6858
6500
  0, 1, 2, 3, 0, 1, 2, 3);
6859
6501
  }
@@ -6874,33 +6516,29 @@ _mm512_maskz_broadcast_f64x4(__mmask8 __M, __m256d __A)
6874
6516
  (__v8df)_mm512_setzero_pd());
6875
6517
  }
6876
6518
 
6877
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6878
- _mm512_broadcast_i32x4(__m128i __A)
6879
- {
6519
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6520
+ _mm512_broadcast_i32x4(__m128i __A) {
6880
6521
  return (__m512i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
6881
6522
  0, 1, 2, 3, 0, 1, 2, 3,
6882
6523
  0, 1, 2, 3, 0, 1, 2, 3);
6883
6524
  }
6884
6525
 
6885
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6886
- _mm512_mask_broadcast_i32x4(__m512i __O, __mmask16 __M, __m128i __A)
6887
- {
6526
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6527
+ _mm512_mask_broadcast_i32x4(__m512i __O, __mmask16 __M, __m128i __A) {
6888
6528
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
6889
6529
  (__v16si)_mm512_broadcast_i32x4(__A),
6890
6530
  (__v16si)__O);
6891
6531
  }
6892
6532
 
6893
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6894
- _mm512_maskz_broadcast_i32x4(__mmask16 __M, __m128i __A)
6895
- {
6533
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6534
+ _mm512_maskz_broadcast_i32x4(__mmask16 __M, __m128i __A) {
6896
6535
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
6897
6536
  (__v16si)_mm512_broadcast_i32x4(__A),
6898
6537
  (__v16si)_mm512_setzero_si512());
6899
6538
  }
6900
6539
 
6901
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
6902
- _mm512_broadcast_i64x4(__m256i __A)
6903
- {
6540
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6541
+ _mm512_broadcast_i64x4(__m256i __A) {
6904
6542
  return (__m512i)__builtin_shufflevector((__v4di)__A, (__v4di)__A,
6905
6543
  0, 1, 2, 3, 0, 1, 2, 3);
6906
6544
  }
@@ -6921,33 +6559,29 @@ _mm512_maskz_broadcast_i64x4(__mmask8 __M, __m256i __A)
6921
6559
  (__v8di)_mm512_setzero_si512());
6922
6560
  }
6923
6561
 
6924
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6925
- _mm512_mask_broadcastsd_pd (__m512d __O, __mmask8 __M, __m128d __A)
6926
- {
6562
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6563
+ _mm512_mask_broadcastsd_pd(__m512d __O, __mmask8 __M, __m128d __A) {
6927
6564
  return (__m512d)__builtin_ia32_selectpd_512(__M,
6928
6565
  (__v8df) _mm512_broadcastsd_pd(__A),
6929
6566
  (__v8df) __O);
6930
6567
  }
6931
6568
 
6932
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
6933
- _mm512_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
6934
- {
6569
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6570
+ _mm512_maskz_broadcastsd_pd(__mmask8 __M, __m128d __A) {
6935
6571
  return (__m512d)__builtin_ia32_selectpd_512(__M,
6936
6572
  (__v8df) _mm512_broadcastsd_pd(__A),
6937
6573
  (__v8df) _mm512_setzero_pd());
6938
6574
  }
6939
6575
 
6940
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6941
- _mm512_mask_broadcastss_ps (__m512 __O, __mmask16 __M, __m128 __A)
6942
- {
6576
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6577
+ _mm512_mask_broadcastss_ps(__m512 __O, __mmask16 __M, __m128 __A) {
6943
6578
  return (__m512)__builtin_ia32_selectps_512(__M,
6944
6579
  (__v16sf) _mm512_broadcastss_ps(__A),
6945
6580
  (__v16sf) __O);
6946
6581
  }
6947
6582
 
6948
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
6949
- _mm512_maskz_broadcastss_ps (__mmask16 __M, __m128 __A)
6950
- {
6583
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6584
+ _mm512_maskz_broadcastss_ps(__mmask16 __M, __m128 __A) {
6951
6585
  return (__m512)__builtin_ia32_selectps_512(__M,
6952
6586
  (__v16sf) _mm512_broadcastss_ps(__A),
6953
6587
  (__v16sf) _mm512_setzero_ps());
@@ -7391,10 +7025,10 @@ _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
7391
7025
  __builtin_ia32_pmovqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
7392
7026
  }
7393
7027
 
7394
- #define _mm512_extracti32x4_epi32(A, imm) \
7395
- ((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
7396
- (__v4si)_mm_undefined_si128(), \
7397
- (__mmask8)-1))
7028
+ #define _mm512_extracti32x4_epi32(A, imm) \
7029
+ ((__m128i)__builtin_ia32_extracti32x4_mask( \
7030
+ (__v16si)(__m512i)(A), (int)(imm), (__v4si)_mm_setzero_si128(), \
7031
+ (__mmask8) - 1))
7398
7032
 
7399
7033
  #define _mm512_mask_extracti32x4_epi32(W, U, A, imm) \
7400
7034
  ((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
@@ -7406,10 +7040,10 @@ _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
7406
7040
  (__v4si)_mm_setzero_si128(), \
7407
7041
  (__mmask8)(U)))
7408
7042
 
7409
- #define _mm512_extracti64x4_epi64(A, imm) \
7043
+ #define _mm512_extracti64x4_epi64(A, imm) \
7410
7044
  ((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
7411
- (__v4di)_mm256_undefined_si256(), \
7412
- (__mmask8)-1))
7045
+ (__v4di)_mm256_setzero_si256(), \
7046
+ (__mmask8) - 1))
7413
7047
 
7414
7048
  #define _mm512_mask_extracti64x4_epi64(W, U, A, imm) \
7415
7049
  ((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
@@ -8274,93 +7908,82 @@ _mm_mask3_fnmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
8274
7908
  (__v8di)_mm512_permutex_epi64((X), (C)), \
8275
7909
  (__v8di)_mm512_setzero_si512()))
8276
7910
 
8277
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8278
- _mm512_permutexvar_pd (__m512i __X, __m512d __Y)
8279
- {
7911
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7912
+ _mm512_permutexvar_pd(__m512i __X, __m512d __Y) {
8280
7913
  return (__m512d)__builtin_ia32_permvardf512((__v8df) __Y, (__v8di) __X);
8281
7914
  }
8282
7915
 
8283
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8284
- _mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y)
8285
- {
7916
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7917
+ _mm512_mask_permutexvar_pd(__m512d __W, __mmask8 __U, __m512i __X,
7918
+ __m512d __Y) {
8286
7919
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
8287
7920
  (__v8df)_mm512_permutexvar_pd(__X, __Y),
8288
7921
  (__v8df)__W);
8289
7922
  }
8290
7923
 
8291
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8292
- _mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y)
8293
- {
7924
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7925
+ _mm512_maskz_permutexvar_pd(__mmask8 __U, __m512i __X, __m512d __Y) {
8294
7926
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
8295
7927
  (__v8df)_mm512_permutexvar_pd(__X, __Y),
8296
7928
  (__v8df)_mm512_setzero_pd());
8297
7929
  }
8298
7930
 
8299
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8300
- _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
8301
- {
7931
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7932
+ _mm512_permutexvar_epi64(__m512i __X, __m512i __Y) {
8302
7933
  return (__m512i)__builtin_ia32_permvardi512((__v8di)__Y, (__v8di)__X);
8303
7934
  }
8304
7935
 
8305
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8306
- _mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y)
8307
- {
7936
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7937
+ _mm512_maskz_permutexvar_epi64(__mmask8 __M, __m512i __X, __m512i __Y) {
8308
7938
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
8309
7939
  (__v8di)_mm512_permutexvar_epi64(__X, __Y),
8310
7940
  (__v8di)_mm512_setzero_si512());
8311
7941
  }
8312
7942
 
8313
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8314
- _mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X,
8315
- __m512i __Y)
8316
- {
7943
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7944
+ _mm512_mask_permutexvar_epi64(__m512i __W, __mmask8 __M, __m512i __X,
7945
+ __m512i __Y) {
8317
7946
  return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
8318
7947
  (__v8di)_mm512_permutexvar_epi64(__X, __Y),
8319
7948
  (__v8di)__W);
8320
7949
  }
8321
7950
 
8322
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8323
- _mm512_permutexvar_ps (__m512i __X, __m512 __Y)
8324
- {
7951
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7952
+ _mm512_permutexvar_ps(__m512i __X, __m512 __Y) {
8325
7953
  return (__m512)__builtin_ia32_permvarsf512((__v16sf)__Y, (__v16si)__X);
8326
7954
  }
8327
7955
 
8328
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8329
- _mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y)
8330
- {
7956
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7957
+ _mm512_mask_permutexvar_ps(__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y) {
8331
7958
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8332
7959
  (__v16sf)_mm512_permutexvar_ps(__X, __Y),
8333
7960
  (__v16sf)__W);
8334
7961
  }
8335
7962
 
8336
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8337
- _mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y)
8338
- {
7963
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7964
+ _mm512_maskz_permutexvar_ps(__mmask16 __U, __m512i __X, __m512 __Y) {
8339
7965
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8340
7966
  (__v16sf)_mm512_permutexvar_ps(__X, __Y),
8341
7967
  (__v16sf)_mm512_setzero_ps());
8342
7968
  }
8343
7969
 
8344
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8345
- _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
8346
- {
7970
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7971
+ _mm512_permutexvar_epi32(__m512i __X, __m512i __Y) {
8347
7972
  return (__m512i)__builtin_ia32_permvarsi512((__v16si)__Y, (__v16si)__X);
8348
7973
  }
8349
7974
 
8350
7975
  #define _mm512_permutevar_epi32 _mm512_permutexvar_epi32
8351
7976
 
8352
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8353
- _mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y)
8354
- {
7977
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7978
+ _mm512_maskz_permutexvar_epi32(__mmask16 __M, __m512i __X, __m512i __Y) {
8355
7979
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
8356
7980
  (__v16si)_mm512_permutexvar_epi32(__X, __Y),
8357
7981
  (__v16si)_mm512_setzero_si512());
8358
7982
  }
8359
7983
 
8360
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
8361
- _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
8362
- __m512i __Y)
8363
- {
7984
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7985
+ _mm512_mask_permutexvar_epi32(__m512i __W, __mmask16 __M, __m512i __X,
7986
+ __m512i __Y) {
8364
7987
  return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
8365
7988
  (__v16si)_mm512_permutexvar_epi32(__X, __Y),
8366
7989
  (__v16si)__W);
@@ -8368,69 +7991,59 @@ _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
8368
7991
 
8369
7992
  #define _mm512_mask_permutevar_epi32 _mm512_mask_permutexvar_epi32
8370
7993
 
8371
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8372
- _mm512_kand (__mmask16 __A, __mmask16 __B)
8373
- {
7994
+ static __inline__ __mmask16
7995
+ __DEFAULT_FN_ATTRS_CONSTEXPR _mm512_kand(__mmask16 __A, __mmask16 __B) {
8374
7996
  return (__mmask16) __builtin_ia32_kandhi ((__mmask16) __A, (__mmask16) __B);
8375
7997
  }
8376
7998
 
8377
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8378
- _mm512_kandn (__mmask16 __A, __mmask16 __B)
8379
- {
7999
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8000
+ _mm512_kandn(__mmask16 __A, __mmask16 __B) {
8380
8001
  return (__mmask16) __builtin_ia32_kandnhi ((__mmask16) __A, (__mmask16) __B);
8381
8002
  }
8382
8003
 
8383
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8384
- _mm512_kor (__mmask16 __A, __mmask16 __B)
8385
- {
8004
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8005
+ _mm512_kor(__mmask16 __A, __mmask16 __B) {
8386
8006
  return (__mmask16) __builtin_ia32_korhi ((__mmask16) __A, (__mmask16) __B);
8387
8007
  }
8388
8008
 
8389
- static __inline__ int __DEFAULT_FN_ATTRS
8390
- _mm512_kortestc (__mmask16 __A, __mmask16 __B)
8391
- {
8009
+ static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
8010
+ _mm512_kortestc(__mmask16 __A, __mmask16 __B) {
8392
8011
  return __builtin_ia32_kortestchi ((__mmask16) __A, (__mmask16) __B);
8393
8012
  }
8394
8013
 
8395
- static __inline__ int __DEFAULT_FN_ATTRS
8396
- _mm512_kortestz (__mmask16 __A, __mmask16 __B)
8397
- {
8014
+ static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
8015
+ _mm512_kortestz(__mmask16 __A, __mmask16 __B) {
8398
8016
  return __builtin_ia32_kortestzhi ((__mmask16) __A, (__mmask16) __B);
8399
8017
  }
8400
8018
 
8401
- static __inline__ unsigned char __DEFAULT_FN_ATTRS
8402
- _kortestc_mask16_u8(__mmask16 __A, __mmask16 __B)
8403
- {
8019
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
8020
+ _kortestc_mask16_u8(__mmask16 __A, __mmask16 __B) {
8404
8021
  return (unsigned char)__builtin_ia32_kortestchi(__A, __B);
8405
8022
  }
8406
8023
 
8407
- static __inline__ unsigned char __DEFAULT_FN_ATTRS
8408
- _kortestz_mask16_u8(__mmask16 __A, __mmask16 __B)
8409
- {
8024
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
8025
+ _kortestz_mask16_u8(__mmask16 __A, __mmask16 __B) {
8410
8026
  return (unsigned char)__builtin_ia32_kortestzhi(__A, __B);
8411
8027
  }
8412
8028
 
8413
- static __inline__ unsigned char __DEFAULT_FN_ATTRS
8029
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
8414
8030
  _kortest_mask16_u8(__mmask16 __A, __mmask16 __B, unsigned char *__C) {
8415
8031
  *__C = (unsigned char)__builtin_ia32_kortestchi(__A, __B);
8416
8032
  return (unsigned char)__builtin_ia32_kortestzhi(__A, __B);
8417
8033
  }
8418
8034
 
8419
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8420
- _mm512_kunpackb (__mmask16 __A, __mmask16 __B)
8421
- {
8035
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8036
+ _mm512_kunpackb(__mmask16 __A, __mmask16 __B) {
8422
8037
  return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B);
8423
8038
  }
8424
8039
 
8425
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8426
- _mm512_kxnor (__mmask16 __A, __mmask16 __B)
8427
- {
8040
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8041
+ _mm512_kxnor(__mmask16 __A, __mmask16 __B) {
8428
8042
  return (__mmask16) __builtin_ia32_kxnorhi ((__mmask16) __A, (__mmask16) __B);
8429
8043
  }
8430
8044
 
8431
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8432
- _mm512_kxor (__mmask16 __A, __mmask16 __B)
8433
- {
8045
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8046
+ _mm512_kxor(__mmask16 __A, __mmask16 __B) {
8434
8047
  return (__mmask16) __builtin_ia32_kxorhi ((__mmask16) __A, (__mmask16) __B);
8435
8048
  }
8436
8049
 
@@ -8447,12 +8060,12 @@ _mm512_kxor (__mmask16 __A, __mmask16 __B)
8447
8060
  #define _kshiftri_mask16(A, I) \
8448
8061
  ((__mmask16)__builtin_ia32_kshiftrihi((__mmask16)(A), (unsigned int)(I)))
8449
8062
 
8450
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
8451
- _cvtmask16_u32(__mmask16 __A) {
8063
+ static __inline__ unsigned int
8064
+ __DEFAULT_FN_ATTRS_CONSTEXPR _cvtmask16_u32(__mmask16 __A) {
8452
8065
  return (unsigned int)__builtin_ia32_kmovw((__mmask16)__A);
8453
8066
  }
8454
8067
 
8455
- static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8068
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8456
8069
  _cvtu32_mask16(unsigned int __A) {
8457
8070
  return (__mmask16)__builtin_ia32_kmovw((__mmask16)__A);
8458
8071
  }
@@ -8665,74 +8278,66 @@ _mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
8665
8278
  _mm512_setzero_si512());
8666
8279
  }
8667
8280
 
8668
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8281
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8669
8282
  _mm512_movehdup_ps (__m512 __A)
8670
8283
  {
8671
8284
  return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
8672
8285
  1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15);
8673
8286
  }
8674
8287
 
8675
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8676
- _mm512_mask_movehdup_ps (__m512 __W, __mmask16 __U, __m512 __A)
8677
- {
8288
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8289
+ _mm512_mask_movehdup_ps(__m512 __W, __mmask16 __U, __m512 __A) {
8678
8290
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8679
8291
  (__v16sf)_mm512_movehdup_ps(__A),
8680
8292
  (__v16sf)__W);
8681
8293
  }
8682
8294
 
8683
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8684
- _mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
8685
- {
8295
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8296
+ _mm512_maskz_movehdup_ps(__mmask16 __U, __m512 __A) {
8686
8297
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8687
8298
  (__v16sf)_mm512_movehdup_ps(__A),
8688
8299
  (__v16sf)_mm512_setzero_ps());
8689
8300
  }
8690
8301
 
8691
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8302
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8692
8303
  _mm512_moveldup_ps (__m512 __A)
8693
8304
  {
8694
8305
  return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
8695
8306
  0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14);
8696
8307
  }
8697
8308
 
8698
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8699
- _mm512_mask_moveldup_ps (__m512 __W, __mmask16 __U, __m512 __A)
8700
- {
8309
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8310
+ _mm512_mask_moveldup_ps(__m512 __W, __mmask16 __U, __m512 __A) {
8701
8311
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8702
8312
  (__v16sf)_mm512_moveldup_ps(__A),
8703
8313
  (__v16sf)__W);
8704
8314
  }
8705
8315
 
8706
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8707
- _mm512_maskz_moveldup_ps (__mmask16 __U, __m512 __A)
8708
- {
8316
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8317
+ _mm512_maskz_moveldup_ps(__mmask16 __U, __m512 __A) {
8709
8318
  return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
8710
8319
  (__v16sf)_mm512_moveldup_ps(__A),
8711
8320
  (__v16sf)_mm512_setzero_ps());
8712
8321
  }
8713
8322
 
8714
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
8715
- _mm_mask_move_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8716
- {
8323
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8324
+ _mm_mask_move_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
8717
8325
  return __builtin_ia32_selectss_128(__U, _mm_move_ss(__A, __B), __W);
8718
8326
  }
8719
8327
 
8720
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
8721
- _mm_maskz_move_ss (__mmask8 __U, __m128 __A, __m128 __B)
8722
- {
8328
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8329
+ _mm_maskz_move_ss(__mmask8 __U, __m128 __A, __m128 __B) {
8723
8330
  return __builtin_ia32_selectss_128(__U, _mm_move_ss(__A, __B),
8724
8331
  _mm_setzero_ps());
8725
8332
  }
8726
8333
 
8727
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
8728
- _mm_mask_move_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
8729
- {
8334
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
8335
+ _mm_mask_move_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
8730
8336
  return __builtin_ia32_selectsd_128(__U, _mm_move_sd(__A, __B), __W);
8731
8337
  }
8732
8338
 
8733
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
8734
- _mm_maskz_move_sd (__mmask8 __U, __m128d __A, __m128d __B)
8735
- {
8339
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
8340
+ _mm_maskz_move_sd(__mmask8 __U, __m128d __A, __m128d __B) {
8736
8341
  return __builtin_ia32_selectsd_128(__U, _mm_move_sd(__A, __B),
8737
8342
  _mm_setzero_pd());
8738
8343
  }
@@ -8941,70 +8546,57 @@ _mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A)
8941
8546
  (__v8df)_mm512_setzero_pd(), \
8942
8547
  (__mmask8)(U), (int)(R)))
8943
8548
 
8944
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8945
- _mm512_cvtps_pd (__m256 __A)
8946
- {
8549
+ static __inline__ __m512d
8550
+ __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtps_pd(__m256 __A) {
8947
8551
  return (__m512d) __builtin_convertvector((__v8sf)__A, __v8df);
8948
8552
  }
8949
8553
 
8950
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8951
- _mm512_mask_cvtps_pd (__m512d __W, __mmask8 __U, __m256 __A)
8952
- {
8554
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8555
+ _mm512_mask_cvtps_pd(__m512d __W, __mmask8 __U, __m256 __A) {
8953
8556
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
8954
8557
  (__v8df)_mm512_cvtps_pd(__A),
8955
8558
  (__v8df)__W);
8956
8559
  }
8957
8560
 
8958
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8959
- _mm512_maskz_cvtps_pd (__mmask8 __U, __m256 __A)
8960
- {
8561
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8562
+ _mm512_maskz_cvtps_pd(__mmask8 __U, __m256 __A) {
8961
8563
  return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
8962
8564
  (__v8df)_mm512_cvtps_pd(__A),
8963
8565
  (__v8df)_mm512_setzero_pd());
8964
8566
  }
8965
8567
 
8966
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8967
- _mm512_cvtpslo_pd (__m512 __A)
8968
- {
8568
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8569
+ _mm512_cvtpslo_pd(__m512 __A) {
8969
8570
  return (__m512d) _mm512_cvtps_pd(_mm512_castps512_ps256(__A));
8970
8571
  }
8971
8572
 
8972
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8973
- _mm512_mask_cvtpslo_pd (__m512d __W, __mmask8 __U, __m512 __A)
8974
- {
8573
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8574
+ _mm512_mask_cvtpslo_pd(__m512d __W, __mmask8 __U, __m512 __A) {
8975
8575
  return (__m512d) _mm512_mask_cvtps_pd(__W, __U, _mm512_castps512_ps256(__A));
8976
8576
  }
8977
8577
 
8978
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8979
- _mm512_mask_mov_pd (__m512d __W, __mmask8 __U, __m512d __A)
8980
- {
8981
- return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
8982
- (__v8df) __A,
8983
- (__v8df) __W);
8578
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8579
+ _mm512_mask_mov_pd(__m512d __W, __mmask8 __U, __m512d __A) {
8580
+ return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U, (__v8df)__A,
8581
+ (__v8df)__W);
8984
8582
  }
8985
8583
 
8986
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
8987
- _mm512_maskz_mov_pd (__mmask8 __U, __m512d __A)
8988
- {
8989
- return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
8990
- (__v8df) __A,
8991
- (__v8df) _mm512_setzero_pd ());
8584
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8585
+ _mm512_maskz_mov_pd(__mmask8 __U, __m512d __A) {
8586
+ return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U, (__v8df)__A,
8587
+ (__v8df)_mm512_setzero_pd());
8992
8588
  }
8993
8589
 
8994
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
8995
- _mm512_mask_mov_ps (__m512 __W, __mmask16 __U, __m512 __A)
8996
- {
8997
- return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
8998
- (__v16sf) __A,
8999
- (__v16sf) __W);
8590
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8591
+ _mm512_mask_mov_ps(__m512 __W, __mmask16 __U, __m512 __A) {
8592
+ return (__m512)__builtin_ia32_selectps_512((__mmask16)__U, (__v16sf)__A,
8593
+ (__v16sf)__W);
9000
8594
  }
9001
8595
 
9002
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
9003
- _mm512_maskz_mov_ps (__mmask16 __U, __m512 __A)
9004
- {
9005
- return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
9006
- (__v16sf) __A,
9007
- (__v16sf) _mm512_setzero_ps ());
8596
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8597
+ _mm512_maskz_mov_ps(__mmask16 __U, __m512 __A) {
8598
+ return (__m512)__builtin_ia32_selectps_512((__mmask16)__U, (__v16sf)__A,
8599
+ (__v16sf)_mm512_setzero_ps());
9008
8600
  }
9009
8601
 
9010
8602
  static __inline__ void __DEFAULT_FN_ATTRS512
@@ -9053,18 +8645,16 @@ _mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
9053
8645
  (__v4sf)_mm_setzero_ps(), \
9054
8646
  (__mmask8)(U), (int)(R)))
9055
8647
 
9056
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
9057
- _mm_mask_cvtsd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128d __B)
9058
- {
8648
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8649
+ _mm_mask_cvtsd_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128d __B) {
9059
8650
  return __builtin_ia32_cvtsd2ss_round_mask ((__v4sf)__A,
9060
8651
  (__v2df)__B,
9061
8652
  (__v4sf)__W,
9062
8653
  (__mmask8)__U, _MM_FROUND_CUR_DIRECTION);
9063
8654
  }
9064
8655
 
9065
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
9066
- _mm_maskz_cvtsd_ss (__mmask8 __U, __m128 __A, __m128d __B)
9067
- {
8656
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8657
+ _mm_maskz_cvtsd_ss(__mmask8 __U, __m128 __A, __m128d __B) {
9068
8658
  return __builtin_ia32_cvtsd2ss_round_mask ((__v4sf)__A,
9069
8659
  (__v2df)__B,
9070
8660
  (__v4sf)_mm_setzero_ps(),
@@ -9188,34 +8778,32 @@ _mm_cvtu64_ss (__m128 __A, unsigned long long __B)
9188
8778
  }
9189
8779
  #endif
9190
8780
 
9191
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
9192
- _mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A)
9193
- {
8781
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8782
+ _mm512_mask_set1_epi32(__m512i __O, __mmask16 __M, int __A) {
9194
8783
  return (__m512i) __builtin_ia32_selectd_512(__M,
9195
8784
  (__v16si) _mm512_set1_epi32(__A),
9196
8785
  (__v16si) __O);
9197
8786
  }
9198
8787
 
9199
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
9200
- _mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A)
9201
- {
8788
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8789
+ _mm512_mask_set1_epi64(__m512i __O, __mmask8 __M, long long __A) {
9202
8790
  return (__m512i) __builtin_ia32_selectq_512(__M,
9203
8791
  (__v8di) _mm512_set1_epi64(__A),
9204
8792
  (__v8di) __O);
9205
8793
  }
9206
8794
 
9207
- static __inline __m512i __DEFAULT_FN_ATTRS512
9208
- _mm512_set_epi8 (char __e63, char __e62, char __e61, char __e60, char __e59,
9209
- char __e58, char __e57, char __e56, char __e55, char __e54, char __e53,
9210
- char __e52, char __e51, char __e50, char __e49, char __e48, char __e47,
9211
- char __e46, char __e45, char __e44, char __e43, char __e42, char __e41,
9212
- char __e40, char __e39, char __e38, char __e37, char __e36, char __e35,
9213
- char __e34, char __e33, char __e32, char __e31, char __e30, char __e29,
9214
- char __e28, char __e27, char __e26, char __e25, char __e24, char __e23,
9215
- char __e22, char __e21, char __e20, char __e19, char __e18, char __e17,
9216
- char __e16, char __e15, char __e14, char __e13, char __e12, char __e11,
9217
- char __e10, char __e9, char __e8, char __e7, char __e6, char __e5,
9218
- char __e4, char __e3, char __e2, char __e1, char __e0) {
8795
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi8(
8796
+ char __e63, char __e62, char __e61, char __e60, char __e59, char __e58,
8797
+ char __e57, char __e56, char __e55, char __e54, char __e53, char __e52,
8798
+ char __e51, char __e50, char __e49, char __e48, char __e47, char __e46,
8799
+ char __e45, char __e44, char __e43, char __e42, char __e41, char __e40,
8800
+ char __e39, char __e38, char __e37, char __e36, char __e35, char __e34,
8801
+ char __e33, char __e32, char __e31, char __e30, char __e29, char __e28,
8802
+ char __e27, char __e26, char __e25, char __e24, char __e23, char __e22,
8803
+ char __e21, char __e20, char __e19, char __e18, char __e17, char __e16,
8804
+ char __e15, char __e14, char __e13, char __e12, char __e11, char __e10,
8805
+ char __e9, char __e8, char __e7, char __e6, char __e5, char __e4, char __e3,
8806
+ char __e2, char __e1, char __e0) {
9219
8807
 
9220
8808
  return __extension__ (__m512i)(__v64qi)
9221
8809
  {__e0, __e1, __e2, __e3, __e4, __e5, __e6, __e7,
@@ -9228,14 +8816,13 @@ _mm512_set_epi8 (char __e63, char __e62, char __e61, char __e60, char __e59,
9228
8816
  __e56, __e57, __e58, __e59, __e60, __e61, __e62, __e63};
9229
8817
  }
9230
8818
 
9231
- static __inline __m512i __DEFAULT_FN_ATTRS512
9232
- _mm512_set_epi16(short __e31, short __e30, short __e29, short __e28,
9233
- short __e27, short __e26, short __e25, short __e24, short __e23,
9234
- short __e22, short __e21, short __e20, short __e19, short __e18,
9235
- short __e17, short __e16, short __e15, short __e14, short __e13,
9236
- short __e12, short __e11, short __e10, short __e9, short __e8,
9237
- short __e7, short __e6, short __e5, short __e4, short __e3,
9238
- short __e2, short __e1, short __e0) {
8819
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi16(
8820
+ short __e31, short __e30, short __e29, short __e28, short __e27,
8821
+ short __e26, short __e25, short __e24, short __e23, short __e22,
8822
+ short __e21, short __e20, short __e19, short __e18, short __e17,
8823
+ short __e16, short __e15, short __e14, short __e13, short __e12,
8824
+ short __e11, short __e10, short __e9, short __e8, short __e7, short __e6,
8825
+ short __e5, short __e4, short __e3, short __e2, short __e1, short __e0) {
9239
8826
  return __extension__ (__m512i)(__v32hi)
9240
8827
  {__e0, __e1, __e2, __e3, __e4, __e5, __e6, __e7,
9241
8828
  __e8, __e9, __e10, __e11, __e12, __e13, __e14, __e15,
@@ -9243,81 +8830,81 @@ _mm512_set_epi16(short __e31, short __e30, short __e29, short __e28,
9243
8830
  __e24, __e25, __e26, __e27, __e28, __e29, __e30, __e31 };
9244
8831
  }
9245
8832
 
9246
- static __inline __m512i __DEFAULT_FN_ATTRS512
9247
- _mm512_set_epi32 (int __A, int __B, int __C, int __D,
9248
- int __E, int __F, int __G, int __H,
9249
- int __I, int __J, int __K, int __L,
9250
- int __M, int __N, int __O, int __P)
9251
- {
8833
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi32(
8834
+ int __A, int __B, int __C, int __D, int __E, int __F, int __G, int __H,
8835
+ int __I, int __J, int __K, int __L, int __M, int __N, int __O, int __P) {
9252
8836
  return __extension__ (__m512i)(__v16si)
9253
8837
  { __P, __O, __N, __M, __L, __K, __J, __I,
9254
8838
  __H, __G, __F, __E, __D, __C, __B, __A };
9255
8839
  }
9256
8840
 
9257
- #define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \
9258
- e8,e9,e10,e11,e12,e13,e14,e15) \
9259
- _mm512_set_epi32((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6), \
9260
- (e5),(e4),(e3),(e2),(e1),(e0))
8841
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setr_epi32(
8842
+ int e0, int e1, int e2, int e3, int e4, int e5, int e6, int e7, int e8,
8843
+ int e9, int e10, int e11, int e12, int e13, int e14, int e15) {
8844
+ return _mm512_set_epi32(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4,
8845
+ e3, e2, e1, e0);
8846
+ }
9261
8847
 
9262
- static __inline__ __m512i __DEFAULT_FN_ATTRS512
9263
- _mm512_set_epi64 (long long __A, long long __B, long long __C,
9264
- long long __D, long long __E, long long __F,
9265
- long long __G, long long __H)
9266
- {
8848
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8849
+ _mm512_set_epi64(long long __A, long long __B, long long __C, long long __D,
8850
+ long long __E, long long __F, long long __G, long long __H) {
9267
8851
  return __extension__ (__m512i) (__v8di)
9268
8852
  { __H, __G, __F, __E, __D, __C, __B, __A };
9269
8853
  }
9270
8854
 
9271
- #define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \
9272
- _mm512_set_epi64((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
8855
+ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8856
+ _mm512_setr_epi64(long long e0, long long e1, long long e2, long long e3,
8857
+ long long e4, long long e5, long long e6, long long e7) {
8858
+ return _mm512_set_epi64(e7, e6, e5, e4, e3, e2, e1, e0);
8859
+ }
9273
8860
 
9274
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
9275
- _mm512_set_pd (double __A, double __B, double __C, double __D,
9276
- double __E, double __F, double __G, double __H)
9277
- {
8861
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8862
+ _mm512_set_pd(double __A, double __B, double __C, double __D, double __E,
8863
+ double __F, double __G, double __H) {
9278
8864
  return __extension__ (__m512d)
9279
8865
  { __H, __G, __F, __E, __D, __C, __B, __A };
9280
8866
  }
9281
8867
 
9282
- #define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \
9283
- _mm512_set_pd((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
8868
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8869
+ _mm512_setr_pd(double e0, double e1, double e2, double e3, double e4, double e5,
8870
+ double e6, double e7) {
8871
+ return _mm512_set_pd(e7, e6, e5, e4, e3, e2, e1, e0);
8872
+ }
9284
8873
 
9285
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
9286
- _mm512_set_ps (float __A, float __B, float __C, float __D,
9287
- float __E, float __F, float __G, float __H,
9288
- float __I, float __J, float __K, float __L,
9289
- float __M, float __N, float __O, float __P)
9290
- {
8874
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8875
+ _mm512_set_ps(float __A, float __B, float __C, float __D, float __E, float __F,
8876
+ float __G, float __H, float __I, float __J, float __K, float __L,
8877
+ float __M, float __N, float __O, float __P) {
9291
8878
  return __extension__ (__m512)
9292
8879
  { __P, __O, __N, __M, __L, __K, __J, __I,
9293
8880
  __H, __G, __F, __E, __D, __C, __B, __A };
9294
8881
  }
9295
8882
 
9296
- #define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
9297
- _mm512_set_ps((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6),(e5), \
9298
- (e4),(e3),(e2),(e1),(e0))
8883
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8884
+ _mm512_setr_ps(float e0, float e1, float e2, float e3, float e4, float e5,
8885
+ float e6, float e7, float e8, float e9, float e10, float e11,
8886
+ float e12, float e13, float e14, float e15) {
8887
+ return _mm512_set_ps(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3,
8888
+ e2, e1, e0);
8889
+ }
9299
8890
 
9300
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
9301
- _mm512_abs_ps(__m512 __A)
9302
- {
8891
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8892
+ _mm512_abs_ps(__m512 __A) {
9303
8893
  return (__m512)_mm512_and_epi32(_mm512_set1_epi32(0x7FFFFFFF),(__m512i)__A) ;
9304
8894
  }
9305
8895
 
9306
- static __inline__ __m512 __DEFAULT_FN_ATTRS512
9307
- _mm512_mask_abs_ps(__m512 __W, __mmask16 __K, __m512 __A)
9308
- {
8896
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8897
+ _mm512_mask_abs_ps(__m512 __W, __mmask16 __K, __m512 __A) {
9309
8898
  return (__m512)_mm512_mask_and_epi32((__m512i)__W, __K, _mm512_set1_epi32(0x7FFFFFFF),(__m512i)__A) ;
9310
8899
  }
9311
8900
 
9312
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
9313
- _mm512_abs_pd(__m512d __A)
9314
- {
8901
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8902
+ _mm512_abs_pd(__m512d __A) {
9315
8903
  return (__m512d)_mm512_and_epi64(_mm512_set1_epi64(0x7FFFFFFFFFFFFFFF),(__v8di)__A) ;
9316
8904
  }
9317
8905
 
9318
- static __inline__ __m512d __DEFAULT_FN_ATTRS512
9319
- _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
9320
- {
8906
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8907
+ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A) {
9321
8908
  return (__m512d)_mm512_mask_and_epi64((__v8di)__W, __K, _mm512_set1_epi64(0x7FFFFFFFFFFFFFFF),(__v8di)__A);
9322
8909
  }
9323
8910
 
@@ -9337,19 +8924,23 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
9337
8924
  * This takes log2(n) steps where n is the number of elements in the vector.
9338
8925
  */
9339
8926
 
9340
- static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
8927
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8928
+ _mm512_reduce_add_epi64(__m512i __W) {
9341
8929
  return __builtin_reduce_add((__v8di)__W);
9342
8930
  }
9343
8931
 
9344
- static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_epi64(__m512i __W) {
8932
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8933
+ _mm512_reduce_mul_epi64(__m512i __W) {
9345
8934
  return __builtin_reduce_mul((__v8di)__W);
9346
8935
  }
9347
8936
 
9348
- static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_and_epi64(__m512i __W) {
8937
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8938
+ _mm512_reduce_and_epi64(__m512i __W) {
9349
8939
  return __builtin_reduce_and((__v8di)__W);
9350
8940
  }
9351
8941
 
9352
- static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_or_epi64(__m512i __W) {
8942
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8943
+ _mm512_reduce_or_epi64(__m512i __W) {
9353
8944
  return __builtin_reduce_or((__v8di)__W);
9354
8945
  }
9355
8946
 
@@ -9400,22 +8991,22 @@ _mm512_mask_reduce_mul_pd(__mmask8 __M, __m512d __W) {
9400
8991
  return __builtin_ia32_reduce_fmul_pd512(1.0, __W);
9401
8992
  }
9402
8993
 
9403
- static __inline__ int __DEFAULT_FN_ATTRS512
8994
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9404
8995
  _mm512_reduce_add_epi32(__m512i __W) {
9405
8996
  return __builtin_reduce_add((__v16si)__W);
9406
8997
  }
9407
8998
 
9408
- static __inline__ int __DEFAULT_FN_ATTRS512
8999
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9409
9000
  _mm512_reduce_mul_epi32(__m512i __W) {
9410
9001
  return __builtin_reduce_mul((__v16si)__W);
9411
9002
  }
9412
9003
 
9413
- static __inline__ int __DEFAULT_FN_ATTRS512
9004
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9414
9005
  _mm512_reduce_and_epi32(__m512i __W) {
9415
9006
  return __builtin_reduce_and((__v16si)__W);
9416
9007
  }
9417
9008
 
9418
- static __inline__ int __DEFAULT_FN_ATTRS512
9009
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9419
9010
  _mm512_reduce_or_epi32(__m512i __W) {
9420
9011
  return __builtin_reduce_or((__v16si)__W);
9421
9012
  }
@@ -9466,22 +9057,22 @@ _mm512_mask_reduce_mul_ps(__mmask16 __M, __m512 __W) {
9466
9057
  return __builtin_ia32_reduce_fmul_ps512(1.0f, __W);
9467
9058
  }
9468
9059
 
9469
- static __inline__ long long __DEFAULT_FN_ATTRS512
9060
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
9470
9061
  _mm512_reduce_max_epi64(__m512i __V) {
9471
9062
  return __builtin_reduce_max((__v8di)__V);
9472
9063
  }
9473
9064
 
9474
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
9065
+ static __inline__ unsigned long long __DEFAULT_FN_ATTRS512_CONSTEXPR
9475
9066
  _mm512_reduce_max_epu64(__m512i __V) {
9476
9067
  return __builtin_reduce_max((__v8du)__V);
9477
9068
  }
9478
9069
 
9479
- static __inline__ long long __DEFAULT_FN_ATTRS512
9070
+ static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
9480
9071
  _mm512_reduce_min_epi64(__m512i __V) {
9481
9072
  return __builtin_reduce_min((__v8di)__V);
9482
9073
  }
9483
9074
 
9484
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
9075
+ static __inline__ unsigned long long __DEFAULT_FN_ATTRS512_CONSTEXPR
9485
9076
  _mm512_reduce_min_epu64(__m512i __V) {
9486
9077
  return __builtin_reduce_min((__v8du)__V);
9487
9078
  }
@@ -9509,22 +9100,22 @@ _mm512_mask_reduce_min_epu64(__mmask8 __M, __m512i __V) {
9509
9100
  __V = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __V);
9510
9101
  return __builtin_reduce_min((__v8du)__V);
9511
9102
  }
9512
- static __inline__ int __DEFAULT_FN_ATTRS512
9103
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9513
9104
  _mm512_reduce_max_epi32(__m512i __V) {
9514
9105
  return __builtin_reduce_max((__v16si)__V);
9515
9106
  }
9516
9107
 
9517
- static __inline__ unsigned int __DEFAULT_FN_ATTRS512
9108
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS512_CONSTEXPR
9518
9109
  _mm512_reduce_max_epu32(__m512i __V) {
9519
9110
  return __builtin_reduce_max((__v16su)__V);
9520
9111
  }
9521
9112
 
9522
- static __inline__ int __DEFAULT_FN_ATTRS512
9113
+ static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
9523
9114
  _mm512_reduce_min_epi32(__m512i __V) {
9524
9115
  return __builtin_reduce_min((__v16si)__V);
9525
9116
  }
9526
9117
 
9527
- static __inline__ unsigned int __DEFAULT_FN_ATTRS512
9118
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS512_CONSTEXPR
9528
9119
  _mm512_reduce_min_epu32(__m512i __V) {
9529
9120
  return __builtin_reduce_min((__v16su)__V);
9530
9121
  }