@cpp-linter/clang-tidy-win32-x64 13.0.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
  5. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
  6. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math.h +1 -1
  7. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +62 -7
  8. package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
  9. package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_runtime_wrapper.h +17 -4
  10. package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
  11. package/lib/clang/{13.0.0 → 14.0.0}/include/altivec.h +202 -92
  12. package/lib/clang/{13.0.0 → 14.0.0}/include/ammintrin.h +4 -0
  13. package/lib/clang/{13.0.0 → 14.0.0}/include/amxintrin.h +17 -16
  14. package/lib/clang/{13.0.0 → 14.0.0}/include/arm_acle.h +6 -0
  15. package/lib/clang/{13.0.0 → 14.0.0}/include/arm_neon.h +4467 -4469
  16. package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
  17. package/lib/clang/{13.0.0 → 14.0.0}/include/avx2intrin.h +181 -181
  18. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bf16intrin.h +3 -3
  19. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bwintrin.h +71 -71
  20. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512dqintrin.h +365 -365
  21. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512erintrin.h +102 -102
  22. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512fintrin.h +1573 -1569
  23. package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
  24. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
  25. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
  26. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
  27. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vldqintrin.h +134 -134
  28. package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
  29. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlintrin.h +563 -563
  30. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
  31. package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
  32. package/lib/clang/{13.0.0 → 14.0.0}/include/avxintrin.h +189 -192
  33. package/lib/clang/{13.0.0 → 14.0.0}/include/cetintrin.h +10 -0
  34. package/lib/clang/{13.0.0 → 14.0.0}/include/cpuid.h +2 -1
  35. package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
  36. package/lib/clang/{13.0.0 → 14.0.0}/include/emmintrin.h +21 -17
  37. package/lib/clang/{13.0.0 → 14.0.0}/include/f16cintrin.h +4 -4
  38. package/lib/clang/{13.0.0 → 14.0.0}/include/float.h +15 -6
  39. package/lib/clang/{13.0.0 → 14.0.0}/include/gfniintrin.h +47 -48
  40. package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_protos.h +0 -11
  41. package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_types.h +0 -32
  42. package/lib/clang/{13.0.0 → 14.0.0}/include/hvx_hexagon_protos.h +1200 -409
  43. package/lib/clang/{13.0.0 → 14.0.0}/include/ia32intrin.h +6 -6
  44. package/lib/clang/{13.0.0 → 14.0.0}/include/immintrin.h +26 -8
  45. package/lib/clang/{13.0.0 → 14.0.0}/include/intrin.h +24 -16
  46. package/lib/clang/{13.0.0 → 14.0.0}/include/keylockerintrin.h +2 -8
  47. package/lib/clang/{13.0.0 → 14.0.0}/include/limits.h +20 -0
  48. package/lib/clang/{13.0.0 → 14.0.0}/include/mmintrin.h +4 -0
  49. package/lib/clang/{13.0.0 → 14.0.0}/include/nmmintrin.h +4 -0
  50. package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c-base.h +69 -11
  51. package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c.h +1699 -459
  52. package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex +10 -1
  53. package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex.h +9 -0
  54. package/lib/clang/{13.0.0 → 14.0.0}/include/pmmintrin.h +4 -0
  55. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
  56. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
  57. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
  58. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
  59. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
  60. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
  61. package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
  62. package/lib/clang/{13.0.0 → 14.0.0}/include/prfchwintrin.h +5 -2
  63. package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
  64. package/lib/clang/{13.0.0 → 14.0.0}/include/smmintrin.h +80 -159
  65. package/lib/clang/{13.0.0 → 14.0.0}/include/stdatomic.h +14 -1
  66. package/lib/clang/{13.0.0 → 14.0.0}/include/stdint.h +168 -0
  67. package/lib/clang/{13.0.0 → 14.0.0}/include/tmmintrin.h +10 -6
  68. package/lib/clang/{13.0.0 → 14.0.0}/include/unwind.h +2 -1
  69. package/lib/clang/{13.0.0 → 14.0.0}/include/vaesintrin.h +1 -1
  70. package/lib/clang/{13.0.0 → 14.0.0}/include/vpclmulqdqintrin.h +6 -6
  71. package/lib/clang/{13.0.0 → 14.0.0}/include/wasm_simd128.h +167 -24
  72. package/lib/clang/{13.0.0 → 14.0.0}/include/wmmintrin.h +4 -0
  73. package/lib/clang/{13.0.0 → 14.0.0}/include/x86gprintrin.h +12 -0
  74. package/lib/clang/{13.0.0 → 14.0.0}/include/xmmintrin.h +9 -5
  75. package/lib/clang/{13.0.0 → 14.0.0}/include/xopintrin.h +31 -31
  76. package/package.json +6 -6
  77. package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
  78. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  79. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
  80. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_device_functions.h +0 -0
  81. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  82. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_cmath.h +0 -0
  83. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_libdevice_declares.h +0 -0
  84. /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_math.h +0 -0
  85. /package/lib/clang/{13.0.0 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
  86. /package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
  87. /package/lib/clang/{13.0.0 → 14.0.0}/include/adxintrin.h +0 -0
  88. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm64intr.h +0 -0
  89. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_bf16.h +0 -0
  90. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cde.h +0 -0
  91. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cmse.h +0 -0
  92. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_fp16.h +0 -0
  93. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_mve.h +0 -0
  94. /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_sve.h +0 -0
  95. /package/lib/clang/{13.0.0 → 14.0.0}/include/armintr.h +0 -0
  96. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
  97. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512cdintrin.h +0 -0
  98. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
  99. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
  100. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512pfintrin.h +0 -0
  101. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
  102. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
  103. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
  104. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
  105. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  106. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vnniintrin.h +0 -0
  107. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
  108. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  109. /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  110. /package/lib/clang/{13.0.0 → 14.0.0}/include/avxvnniintrin.h +0 -0
  111. /package/lib/clang/{13.0.0 → 14.0.0}/include/bmi2intrin.h +0 -0
  112. /package/lib/clang/{13.0.0 → 14.0.0}/include/bmiintrin.h +0 -0
  113. /package/lib/clang/{13.0.0 → 14.0.0}/include/builtins.h +0 -0
  114. /package/lib/clang/{13.0.0 → 14.0.0}/include/cet.h +0 -0
  115. /package/lib/clang/{13.0.0 → 14.0.0}/include/cldemoteintrin.h +0 -0
  116. /package/lib/clang/{13.0.0 → 14.0.0}/include/clflushoptintrin.h +0 -0
  117. /package/lib/clang/{13.0.0 → 14.0.0}/include/clwbintrin.h +0 -0
  118. /package/lib/clang/{13.0.0 → 14.0.0}/include/clzerointrin.h +0 -0
  119. /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
  120. /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/complex +0 -0
  121. /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/new +0 -0
  122. /package/lib/clang/{13.0.0 → 14.0.0}/include/enqcmdintrin.h +0 -0
  123. /package/lib/clang/{13.0.0 → 14.0.0}/include/fma4intrin.h +0 -0
  124. /package/lib/clang/{13.0.0 → 14.0.0}/include/fmaintrin.h +0 -0
  125. /package/lib/clang/{13.0.0 → 14.0.0}/include/fxsrintrin.h +0 -0
  126. /package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_circ_brev_intrinsics.h +0 -0
  127. /package/lib/clang/{13.0.0 → 14.0.0}/include/hresetintrin.h +0 -0
  128. /package/lib/clang/{13.0.0 → 14.0.0}/include/htmintrin.h +0 -0
  129. /package/lib/clang/{13.0.0 → 14.0.0}/include/htmxlintrin.h +0 -0
  130. /package/lib/clang/{13.0.0 → 14.0.0}/include/inttypes.h +0 -0
  131. /package/lib/clang/{13.0.0 → 14.0.0}/include/invpcidintrin.h +0 -0
  132. /package/lib/clang/{13.0.0 → 14.0.0}/include/iso646.h +0 -0
  133. /package/lib/clang/{13.0.0 → 14.0.0}/include/lwpintrin.h +0 -0
  134. /package/lib/clang/{13.0.0 → 14.0.0}/include/lzcntintrin.h +0 -0
  135. /package/lib/clang/{13.0.0 → 14.0.0}/include/mm3dnow.h +0 -0
  136. /package/lib/clang/{13.0.0 → 14.0.0}/include/mm_malloc.h +0 -0
  137. /package/lib/clang/{13.0.0 → 14.0.0}/include/module.modulemap +0 -0
  138. /package/lib/clang/{13.0.0 → 14.0.0}/include/movdirintrin.h +0 -0
  139. /package/lib/clang/{13.0.0 → 14.0.0}/include/msa.h +0 -0
  140. /package/lib/clang/{13.0.0 → 14.0.0}/include/mwaitxintrin.h +0 -0
  141. /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  142. /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/cmath +0 -0
  143. /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  144. /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/math.h +0 -0
  145. /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/new +0 -0
  146. /package/lib/clang/{13.0.0 → 14.0.0}/include/pconfigintrin.h +0 -0
  147. /package/lib/clang/{13.0.0 → 14.0.0}/include/pkuintrin.h +0 -0
  148. /package/lib/clang/{13.0.0 → 14.0.0}/include/popcntintrin.h +0 -0
  149. /package/lib/clang/{13.0.0 → 14.0.0}/include/ptwriteintrin.h +0 -0
  150. /package/lib/clang/{13.0.0 → 14.0.0}/include/rdseedintrin.h +0 -0
  151. /package/lib/clang/{13.0.0 → 14.0.0}/include/rtmintrin.h +0 -0
  152. /package/lib/clang/{13.0.0 → 14.0.0}/include/s390intrin.h +0 -0
  153. /package/lib/clang/{13.0.0 → 14.0.0}/include/serializeintrin.h +0 -0
  154. /package/lib/clang/{13.0.0 → 14.0.0}/include/sgxintrin.h +0 -0
  155. /package/lib/clang/{13.0.0 → 14.0.0}/include/shaintrin.h +0 -0
  156. /package/lib/clang/{13.0.0 → 14.0.0}/include/stdalign.h +0 -0
  157. /package/lib/clang/{13.0.0 → 14.0.0}/include/stdarg.h +0 -0
  158. /package/lib/clang/{13.0.0 → 14.0.0}/include/stdbool.h +0 -0
  159. /package/lib/clang/{13.0.0 → 14.0.0}/include/stddef.h +0 -0
  160. /package/lib/clang/{13.0.0 → 14.0.0}/include/stdnoreturn.h +0 -0
  161. /package/lib/clang/{13.0.0 → 14.0.0}/include/tbmintrin.h +0 -0
  162. /package/lib/clang/{13.0.0 → 14.0.0}/include/tgmath.h +0 -0
  163. /package/lib/clang/{13.0.0 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
  164. /package/lib/clang/{13.0.0 → 14.0.0}/include/uintrintrin.h +0 -0
  165. /package/lib/clang/{13.0.0 → 14.0.0}/include/vadefs.h +0 -0
  166. /package/lib/clang/{13.0.0 → 14.0.0}/include/varargs.h +0 -0
  167. /package/lib/clang/{13.0.0 → 14.0.0}/include/vecintrin.h +0 -0
  168. /package/lib/clang/{13.0.0 → 14.0.0}/include/waitpkgintrin.h +0 -0
  169. /package/lib/clang/{13.0.0 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
  170. /package/lib/clang/{13.0.0 → 14.0.0}/include/x86intrin.h +0 -0
  171. /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavecintrin.h +0 -0
  172. /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveintrin.h +0 -0
  173. /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveoptintrin.h +0 -0
  174. /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavesintrin.h +0 -0
  175. /package/lib/clang/{13.0.0 → 14.0.0}/include/xtestintrin.h +0 -0
@@ -400,7 +400,7 @@ _mm256_rcp_ps(__m256 __a)
400
400
  /// 11: Truncated.
401
401
  /// \returns A 256-bit vector of [4 x double] containing the rounded values.
402
402
  #define _mm256_round_pd(V, M) \
403
- (__m256d)__builtin_ia32_roundpd256((__v4df)(__m256d)(V), (M))
403
+ ((__m256d)__builtin_ia32_roundpd256((__v4df)(__m256d)(V), (M)))
404
404
 
405
405
  /// Rounds the values stored in a 256-bit vector of [8 x float] as
406
406
  /// specified by the byte operand. The source values are rounded to integer
@@ -432,7 +432,7 @@ _mm256_rcp_ps(__m256 __a)
432
432
  /// 11: Truncated.
433
433
  /// \returns A 256-bit vector of [8 x float] containing the rounded values.
434
434
  #define _mm256_round_ps(V, M) \
435
- (__m256)__builtin_ia32_roundps256((__v8sf)(__m256)(V), (M))
435
+ ((__m256)__builtin_ia32_roundps256((__v8sf)(__m256)(V), (M)))
436
436
 
437
437
  /// Rounds up the values stored in a 256-bit vector of [4 x double]. The
438
438
  /// source values are rounded up to integer values and returned as 64-bit
@@ -989,7 +989,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
989
989
  /// returned vector.
990
990
  /// \returns A 128-bit vector of [2 x double] containing the copied values.
991
991
  #define _mm_permute_pd(A, C) \
992
- (__m128d)__builtin_ia32_vpermilpd((__v2df)(__m128d)(A), (int)(C))
992
+ ((__m128d)__builtin_ia32_vpermilpd((__v2df)(__m128d)(A), (int)(C)))
993
993
 
994
994
  /// Copies the values in a 256-bit vector of [4 x double] as specified by
995
995
  /// the immediate integer operand.
@@ -1029,7 +1029,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1029
1029
  /// returned vector.
1030
1030
  /// \returns A 256-bit vector of [4 x double] containing the copied values.
1031
1031
  #define _mm256_permute_pd(A, C) \
1032
- (__m256d)__builtin_ia32_vpermilpd256((__v4df)(__m256d)(A), (int)(C))
1032
+ ((__m256d)__builtin_ia32_vpermilpd256((__v4df)(__m256d)(A), (int)(C)))
1033
1033
 
1034
1034
  /// Copies the values in a 128-bit vector of [4 x float] as specified by
1035
1035
  /// the immediate integer operand.
@@ -1085,7 +1085,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1085
1085
  /// returned vector.
1086
1086
  /// \returns A 128-bit vector of [4 x float] containing the copied values.
1087
1087
  #define _mm_permute_ps(A, C) \
1088
- (__m128)__builtin_ia32_vpermilps((__v4sf)(__m128)(A), (int)(C))
1088
+ ((__m128)__builtin_ia32_vpermilps((__v4sf)(__m128)(A), (int)(C)))
1089
1089
 
1090
1090
  /// Copies the values in a 256-bit vector of [8 x float] as specified by
1091
1091
  /// the immediate integer operand.
@@ -1177,7 +1177,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1177
1177
  /// returned vector.
1178
1178
  /// \returns A 256-bit vector of [8 x float] containing the copied values.
1179
1179
  #define _mm256_permute_ps(A, C) \
1180
- (__m256)__builtin_ia32_vpermilps256((__v8sf)(__m256)(A), (int)(C))
1180
+ ((__m256)__builtin_ia32_vpermilps256((__v8sf)(__m256)(A), (int)(C)))
1181
1181
 
1182
1182
  /// Permutes 128-bit data values stored in two 256-bit vectors of
1183
1183
  /// [4 x double], as specified by the immediate integer operand.
@@ -1217,8 +1217,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1217
1217
  /// destination.
1218
1218
  /// \returns A 256-bit vector of [4 x double] containing the copied values.
1219
1219
  #define _mm256_permute2f128_pd(V1, V2, M) \
1220
- (__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)(__m256d)(V1), \
1221
- (__v4df)(__m256d)(V2), (int)(M))
1220
+ ((__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)(__m256d)(V1), \
1221
+ (__v4df)(__m256d)(V2), (int)(M)))
1222
1222
 
1223
1223
  /// Permutes 128-bit data values stored in two 256-bit vectors of
1224
1224
  /// [8 x float], as specified by the immediate integer operand.
@@ -1258,8 +1258,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1258
1258
  /// destination.
1259
1259
  /// \returns A 256-bit vector of [8 x float] containing the copied values.
1260
1260
  #define _mm256_permute2f128_ps(V1, V2, M) \
1261
- (__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)(__m256)(V1), \
1262
- (__v8sf)(__m256)(V2), (int)(M))
1261
+ ((__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)(__m256)(V1), \
1262
+ (__v8sf)(__m256)(V2), (int)(M)))
1263
1263
 
1264
1264
  /// Permutes 128-bit data values stored in two 256-bit integer vectors,
1265
1265
  /// as specified by the immediate integer operand.
@@ -1298,8 +1298,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1298
1298
  /// destination.
1299
1299
  /// \returns A 256-bit integer vector containing the copied values.
1300
1300
  #define _mm256_permute2f128_si256(V1, V2, M) \
1301
- (__m256i)__builtin_ia32_vperm2f128_si256((__v8si)(__m256i)(V1), \
1302
- (__v8si)(__m256i)(V2), (int)(M))
1301
+ ((__m256i)__builtin_ia32_vperm2f128_si256((__v8si)(__m256i)(V1), \
1302
+ (__v8si)(__m256i)(V2), (int)(M)))
1303
1303
 
1304
1304
  /* Vector Blend */
1305
1305
  /// Merges 64-bit double-precision data values stored in either of the
@@ -1327,8 +1327,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1327
1327
  /// operand \a V2 is copied to the same position in the destination.
1328
1328
  /// \returns A 256-bit vector of [4 x double] containing the copied values.
1329
1329
  #define _mm256_blend_pd(V1, V2, M) \
1330
- (__m256d)__builtin_ia32_blendpd256((__v4df)(__m256d)(V1), \
1331
- (__v4df)(__m256d)(V2), (int)(M))
1330
+ ((__m256d)__builtin_ia32_blendpd256((__v4df)(__m256d)(V1), \
1331
+ (__v4df)(__m256d)(V2), (int)(M)))
1332
1332
 
1333
1333
  /// Merges 32-bit single-precision data values stored in either of the
1334
1334
  /// two 256-bit vectors of [8 x float], as specified by the immediate
@@ -1355,8 +1355,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
1355
1355
  /// operand \a V2 is copied to the same position in the destination.
1356
1356
  /// \returns A 256-bit vector of [8 x float] containing the copied values.
1357
1357
  #define _mm256_blend_ps(V1, V2, M) \
1358
- (__m256)__builtin_ia32_blendps256((__v8sf)(__m256)(V1), \
1359
- (__v8sf)(__m256)(V2), (int)(M))
1358
+ ((__m256)__builtin_ia32_blendps256((__v8sf)(__m256)(V1), \
1359
+ (__v8sf)(__m256)(V2), (int)(M)))
1360
1360
 
1361
1361
  /// Merges 64-bit double-precision data values stored in either of the
1362
1362
  /// two 256-bit vectors of [4 x double], as specified by the 256-bit vector
@@ -1453,8 +1453,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1453
1453
  /// two parallel dot product computations.
1454
1454
  /// \returns A 256-bit vector of [8 x float] containing the two dot products.
1455
1455
  #define _mm256_dp_ps(V1, V2, M) \
1456
- (__m256)__builtin_ia32_dpps256((__v8sf)(__m256)(V1), \
1457
- (__v8sf)(__m256)(V2), (M))
1456
+ ((__m256)__builtin_ia32_dpps256((__v8sf)(__m256)(V1), \
1457
+ (__v8sf)(__m256)(V2), (M)))
1458
1458
 
1459
1459
  /* Vector shuffle */
1460
1460
  /// Selects 8 float values from the 256-bit operands of [8 x float], as
@@ -1507,8 +1507,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1507
1507
  /// 11: Bits [127:96] and [255:224] are copied from the selected operand.
1508
1508
  /// \returns A 256-bit vector of [8 x float] containing the shuffled values.
1509
1509
  #define _mm256_shuffle_ps(a, b, mask) \
1510
- (__m256)__builtin_ia32_shufps256((__v8sf)(__m256)(a), \
1511
- (__v8sf)(__m256)(b), (int)(mask))
1510
+ ((__m256)__builtin_ia32_shufps256((__v8sf)(__m256)(a), \
1511
+ (__v8sf)(__m256)(b), (int)(mask)))
1512
1512
 
1513
1513
  /// Selects four double-precision values from the 256-bit operands of
1514
1514
  /// [4 x double], as specified by the immediate value operand.
@@ -1553,8 +1553,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1553
1553
  /// destination.
1554
1554
  /// \returns A 256-bit vector of [4 x double] containing the shuffled values.
1555
1555
  #define _mm256_shuffle_pd(a, b, mask) \
1556
- (__m256d)__builtin_ia32_shufpd256((__v4df)(__m256d)(a), \
1557
- (__v4df)(__m256d)(b), (int)(mask))
1556
+ ((__m256d)__builtin_ia32_shufpd256((__v4df)(__m256d)(a), \
1557
+ (__v4df)(__m256d)(b), (int)(mask)))
1558
1558
 
1559
1559
  /* Compare */
1560
1560
  #define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
@@ -1647,8 +1647,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1647
1647
  /// 0x1F: True (unordered, signaling)
1648
1648
  /// \returns A 128-bit vector of [2 x double] containing the comparison results.
1649
1649
  #define _mm_cmp_pd(a, b, c) \
1650
- (__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
1651
- (__v2df)(__m128d)(b), (c))
1650
+ ((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
1651
+ (__v2df)(__m128d)(b), (c)))
1652
1652
 
1653
1653
  /// Compares each of the corresponding values of two 128-bit vectors of
1654
1654
  /// [4 x float], using the operation specified by the immediate integer
@@ -1707,8 +1707,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1707
1707
  /// 0x1F: True (unordered, signaling)
1708
1708
  /// \returns A 128-bit vector of [4 x float] containing the comparison results.
1709
1709
  #define _mm_cmp_ps(a, b, c) \
1710
- (__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
1711
- (__v4sf)(__m128)(b), (c))
1710
+ ((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
1711
+ (__v4sf)(__m128)(b), (c)))
1712
1712
 
1713
1713
  /// Compares each of the corresponding double-precision values of two
1714
1714
  /// 256-bit vectors of [4 x double], using the operation specified by the
@@ -1767,8 +1767,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1767
1767
  /// 0x1F: True (unordered, signaling)
1768
1768
  /// \returns A 256-bit vector of [4 x double] containing the comparison results.
1769
1769
  #define _mm256_cmp_pd(a, b, c) \
1770
- (__m256d)__builtin_ia32_cmppd256((__v4df)(__m256d)(a), \
1771
- (__v4df)(__m256d)(b), (c))
1770
+ ((__m256d)__builtin_ia32_cmppd256((__v4df)(__m256d)(a), \
1771
+ (__v4df)(__m256d)(b), (c)))
1772
1772
 
1773
1773
  /// Compares each of the corresponding values of two 256-bit vectors of
1774
1774
  /// [8 x float], using the operation specified by the immediate integer
@@ -1827,8 +1827,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1827
1827
  /// 0x1F: True (unordered, signaling)
1828
1828
  /// \returns A 256-bit vector of [8 x float] containing the comparison results.
1829
1829
  #define _mm256_cmp_ps(a, b, c) \
1830
- (__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
1831
- (__v8sf)(__m256)(b), (c))
1830
+ ((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
1831
+ (__v8sf)(__m256)(b), (c)))
1832
1832
 
1833
1833
  /// Compares each of the corresponding scalar double-precision values of
1834
1834
  /// two 128-bit vectors of [2 x double], using the operation specified by the
@@ -1886,8 +1886,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1886
1886
  /// 0x1F: True (unordered, signaling)
1887
1887
  /// \returns A 128-bit vector of [2 x double] containing the comparison results.
1888
1888
  #define _mm_cmp_sd(a, b, c) \
1889
- (__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
1890
- (__v2df)(__m128d)(b), (c))
1889
+ ((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
1890
+ (__v2df)(__m128d)(b), (c)))
1891
1891
 
1892
1892
  /// Compares each of the corresponding scalar values of two 128-bit
1893
1893
  /// vectors of [4 x float], using the operation specified by the immediate
@@ -1945,8 +1945,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1945
1945
  /// 0x1F: True (unordered, signaling)
1946
1946
  /// \returns A 128-bit vector of [4 x float] containing the comparison results.
1947
1947
  #define _mm_cmp_ss(a, b, c) \
1948
- (__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
1949
- (__v4sf)(__m128)(b), (c))
1948
+ ((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
1949
+ (__v4sf)(__m128)(b), (c)))
1950
1950
 
1951
1951
  /// Takes a [8 x i32] vector and returns the vector element value
1952
1952
  /// indexed by the immediate constant operand.
@@ -1964,7 +1964,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1964
1964
  /// \returns A 32-bit integer containing the extracted 32 bits of extended
1965
1965
  /// packed data.
1966
1966
  #define _mm256_extract_epi32(X, N) \
1967
- (int)__builtin_ia32_vec_ext_v8si((__v8si)(__m256i)(X), (int)(N))
1967
+ ((int)__builtin_ia32_vec_ext_v8si((__v8si)(__m256i)(X), (int)(N)))
1968
1968
 
1969
1969
  /// Takes a [16 x i16] vector and returns the vector element value
1970
1970
  /// indexed by the immediate constant operand.
@@ -1982,8 +1982,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1982
1982
  /// \returns A 32-bit integer containing the extracted 16 bits of zero extended
1983
1983
  /// packed data.
1984
1984
  #define _mm256_extract_epi16(X, N) \
1985
- (int)(unsigned short)__builtin_ia32_vec_ext_v16hi((__v16hi)(__m256i)(X), \
1986
- (int)(N))
1985
+ ((int)(unsigned short)__builtin_ia32_vec_ext_v16hi((__v16hi)(__m256i)(X), \
1986
+ (int)(N)))
1987
1987
 
1988
1988
  /// Takes a [32 x i8] vector and returns the vector element value
1989
1989
  /// indexed by the immediate constant operand.
@@ -2001,8 +2001,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2001
2001
  /// \returns A 32-bit integer containing the extracted 8 bits of zero extended
2002
2002
  /// packed data.
2003
2003
  #define _mm256_extract_epi8(X, N) \
2004
- (int)(unsigned char)__builtin_ia32_vec_ext_v32qi((__v32qi)(__m256i)(X), \
2005
- (int)(N))
2004
+ ((int)(unsigned char)__builtin_ia32_vec_ext_v32qi((__v32qi)(__m256i)(X), \
2005
+ (int)(N)))
2006
2006
 
2007
2007
  #ifdef __x86_64__
2008
2008
  /// Takes a [4 x i64] vector and returns the vector element value
@@ -2021,7 +2021,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2021
2021
  /// \returns A 64-bit integer containing the extracted 64 bits of extended
2022
2022
  /// packed data.
2023
2023
  #define _mm256_extract_epi64(X, N) \
2024
- (long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N))
2024
+ ((long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N)))
2025
2025
  #endif
2026
2026
 
2027
2027
  /// Takes a [8 x i32] vector and replaces the vector element value
@@ -2043,8 +2043,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2043
2043
  /// \returns A copy of vector \a __a, after replacing its element indexed by
2044
2044
  /// \a __imm with \a __b.
2045
2045
  #define _mm256_insert_epi32(X, I, N) \
2046
- (__m256i)__builtin_ia32_vec_set_v8si((__v8si)(__m256i)(X), \
2047
- (int)(I), (int)(N))
2046
+ ((__m256i)__builtin_ia32_vec_set_v8si((__v8si)(__m256i)(X), \
2047
+ (int)(I), (int)(N)))
2048
2048
 
2049
2049
 
2050
2050
  /// Takes a [16 x i16] vector and replaces the vector element value
@@ -2066,8 +2066,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2066
2066
  /// \returns A copy of vector \a __a, after replacing its element indexed by
2067
2067
  /// \a __imm with \a __b.
2068
2068
  #define _mm256_insert_epi16(X, I, N) \
2069
- (__m256i)__builtin_ia32_vec_set_v16hi((__v16hi)(__m256i)(X), \
2070
- (int)(I), (int)(N))
2069
+ ((__m256i)__builtin_ia32_vec_set_v16hi((__v16hi)(__m256i)(X), \
2070
+ (int)(I), (int)(N)))
2071
2071
 
2072
2072
  /// Takes a [32 x i8] vector and replaces the vector element value
2073
2073
  /// indexed by the immediate constant operand with a new value. Returns the
@@ -2088,8 +2088,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2088
2088
  /// \returns A copy of vector \a __a, after replacing its element indexed by
2089
2089
  /// \a __imm with \a __b.
2090
2090
  #define _mm256_insert_epi8(X, I, N) \
2091
- (__m256i)__builtin_ia32_vec_set_v32qi((__v32qi)(__m256i)(X), \
2092
- (int)(I), (int)(N))
2091
+ ((__m256i)__builtin_ia32_vec_set_v32qi((__v32qi)(__m256i)(X), \
2092
+ (int)(I), (int)(N)))
2093
2093
 
2094
2094
  #ifdef __x86_64__
2095
2095
  /// Takes a [4 x i64] vector and replaces the vector element value
@@ -2111,8 +2111,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2111
2111
  /// \returns A copy of vector \a __a, after replacing its element indexed by
2112
2112
  /// \a __imm with \a __b.
2113
2113
  #define _mm256_insert_epi64(X, I, N) \
2114
- (__m256i)__builtin_ia32_vec_set_v4di((__v4di)(__m256i)(X), \
2115
- (long long)(I), (int)(N))
2114
+ ((__m256i)__builtin_ia32_vec_set_v4di((__v4di)(__m256i)(X), \
2115
+ (long long)(I), (int)(N)))
2116
2116
  #endif
2117
2117
 
2118
2118
  /* Conversion */
@@ -4592,8 +4592,8 @@ _mm256_zextsi128_si256(__m128i __a)
4592
4592
  /// result.
4593
4593
  /// \returns A 256-bit vector of [8 x float] containing the interleaved values.
4594
4594
  #define _mm256_insertf128_ps(V1, V2, M) \
4595
- (__m256)__builtin_ia32_vinsertf128_ps256((__v8sf)(__m256)(V1), \
4596
- (__v4sf)(__m128)(V2), (int)(M))
4595
+ ((__m256)__builtin_ia32_vinsertf128_ps256((__v8sf)(__m256)(V1), \
4596
+ (__v4sf)(__m128)(V2), (int)(M)))
4597
4597
 
4598
4598
  /// Constructs a new 256-bit vector of [4 x double] by first duplicating
4599
4599
  /// a 256-bit vector of [4 x double] given in the first parameter, and then
@@ -4630,8 +4630,8 @@ _mm256_zextsi128_si256(__m128i __a)
4630
4630
  /// result.
4631
4631
  /// \returns A 256-bit vector of [4 x double] containing the interleaved values.
4632
4632
  #define _mm256_insertf128_pd(V1, V2, M) \
4633
- (__m256d)__builtin_ia32_vinsertf128_pd256((__v4df)(__m256d)(V1), \
4634
- (__v2df)(__m128d)(V2), (int)(M))
4633
+ ((__m256d)__builtin_ia32_vinsertf128_pd256((__v4df)(__m256d)(V1), \
4634
+ (__v2df)(__m128d)(V2), (int)(M)))
4635
4635
 
4636
4636
  /// Constructs a new 256-bit integer vector by first duplicating a
4637
4637
  /// 256-bit integer vector given in the first parameter, and then replacing
@@ -4668,8 +4668,8 @@ _mm256_zextsi128_si256(__m128i __a)
4668
4668
  /// result.
4669
4669
  /// \returns A 256-bit integer vector containing the interleaved values.
4670
4670
  #define _mm256_insertf128_si256(V1, V2, M) \
4671
- (__m256i)__builtin_ia32_vinsertf128_si256((__v8si)(__m256i)(V1), \
4672
- (__v4si)(__m128i)(V2), (int)(M))
4671
+ ((__m256i)__builtin_ia32_vinsertf128_si256((__v8si)(__m256i)(V1), \
4672
+ (__v4si)(__m128i)(V2), (int)(M)))
4673
4673
 
4674
4674
  /*
4675
4675
  Vector extract.
@@ -4698,7 +4698,7 @@ _mm256_zextsi128_si256(__m128i __a)
4698
4698
  /// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
4699
4699
  /// \returns A 128-bit vector of [4 x float] containing the extracted bits.
4700
4700
  #define _mm256_extractf128_ps(V, M) \
4701
- (__m128)__builtin_ia32_vextractf128_ps256((__v8sf)(__m256)(V), (int)(M))
4701
+ ((__m128)__builtin_ia32_vextractf128_ps256((__v8sf)(__m256)(V), (int)(M)))
4702
4702
 
4703
4703
  /// Extracts either the upper or the lower 128 bits from a 256-bit vector
4704
4704
  /// of [4 x double], as determined by the immediate integer parameter, and
@@ -4722,7 +4722,7 @@ _mm256_zextsi128_si256(__m128i __a)
4722
4722
  /// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
4723
4723
  /// \returns A 128-bit vector of [2 x double] containing the extracted bits.
4724
4724
  #define _mm256_extractf128_pd(V, M) \
4725
- (__m128d)__builtin_ia32_vextractf128_pd256((__v4df)(__m256d)(V), (int)(M))
4725
+ ((__m128d)__builtin_ia32_vextractf128_pd256((__v4df)(__m256d)(V), (int)(M)))
4726
4726
 
4727
4727
  /// Extracts either the upper or the lower 128 bits from a 256-bit
4728
4728
  /// integer vector, as determined by the immediate integer parameter, and
@@ -4746,7 +4746,136 @@ _mm256_zextsi128_si256(__m128i __a)
4746
4746
  /// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
4747
4747
  /// \returns A 128-bit integer vector containing the extracted bits.
4748
4748
  #define _mm256_extractf128_si256(V, M) \
4749
- (__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
4749
+ ((__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M)))
4750
+
4751
+ /// Constructs a 256-bit floating-point vector of [8 x float] by
4752
+ /// concatenating two 128-bit floating-point vectors of [4 x float].
4753
+ ///
4754
+ /// \headerfile <x86intrin.h>
4755
+ ///
4756
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4757
+ ///
4758
+ /// \param __hi
4759
+ /// A 128-bit floating-point vector of [4 x float] to be copied to the upper
4760
+ /// 128 bits of the result.
4761
+ /// \param __lo
4762
+ /// A 128-bit floating-point vector of [4 x float] to be copied to the lower
4763
+ /// 128 bits of the result.
4764
+ /// \returns A 256-bit floating-point vector of [8 x float] containing the
4765
+ /// concatenated result.
4766
+ static __inline __m256 __DEFAULT_FN_ATTRS
4767
+ _mm256_set_m128 (__m128 __hi, __m128 __lo)
4768
+ {
4769
+ return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7);
4770
+ }
4771
+
4772
+ /// Constructs a 256-bit floating-point vector of [4 x double] by
4773
+ /// concatenating two 128-bit floating-point vectors of [2 x double].
4774
+ ///
4775
+ /// \headerfile <x86intrin.h>
4776
+ ///
4777
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4778
+ ///
4779
+ /// \param __hi
4780
+ /// A 128-bit floating-point vector of [2 x double] to be copied to the upper
4781
+ /// 128 bits of the result.
4782
+ /// \param __lo
4783
+ /// A 128-bit floating-point vector of [2 x double] to be copied to the lower
4784
+ /// 128 bits of the result.
4785
+ /// \returns A 256-bit floating-point vector of [4 x double] containing the
4786
+ /// concatenated result.
4787
+ static __inline __m256d __DEFAULT_FN_ATTRS
4788
+ _mm256_set_m128d (__m128d __hi, __m128d __lo)
4789
+ {
4790
+ return (__m256d) __builtin_shufflevector((__v2df)__lo, (__v2df)__hi, 0, 1, 2, 3);
4791
+ }
4792
+
4793
+ /// Constructs a 256-bit integer vector by concatenating two 128-bit
4794
+ /// integer vectors.
4795
+ ///
4796
+ /// \headerfile <x86intrin.h>
4797
+ ///
4798
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4799
+ ///
4800
+ /// \param __hi
4801
+ /// A 128-bit integer vector to be copied to the upper 128 bits of the
4802
+ /// result.
4803
+ /// \param __lo
4804
+ /// A 128-bit integer vector to be copied to the lower 128 bits of the
4805
+ /// result.
4806
+ /// \returns A 256-bit integer vector containing the concatenated result.
4807
+ static __inline __m256i __DEFAULT_FN_ATTRS
4808
+ _mm256_set_m128i (__m128i __hi, __m128i __lo)
4809
+ {
4810
+ return (__m256i) __builtin_shufflevector((__v2di)__lo, (__v2di)__hi, 0, 1, 2, 3);
4811
+ }
4812
+
4813
+ /// Constructs a 256-bit floating-point vector of [8 x float] by
4814
+ /// concatenating two 128-bit floating-point vectors of [4 x float]. This is
4815
+ /// similar to _mm256_set_m128, but the order of the input parameters is
4816
+ /// swapped.
4817
+ ///
4818
+ /// \headerfile <x86intrin.h>
4819
+ ///
4820
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4821
+ ///
4822
+ /// \param __lo
4823
+ /// A 128-bit floating-point vector of [4 x float] to be copied to the lower
4824
+ /// 128 bits of the result.
4825
+ /// \param __hi
4826
+ /// A 128-bit floating-point vector of [4 x float] to be copied to the upper
4827
+ /// 128 bits of the result.
4828
+ /// \returns A 256-bit floating-point vector of [8 x float] containing the
4829
+ /// concatenated result.
4830
+ static __inline __m256 __DEFAULT_FN_ATTRS
4831
+ _mm256_setr_m128 (__m128 __lo, __m128 __hi)
4832
+ {
4833
+ return _mm256_set_m128(__hi, __lo);
4834
+ }
4835
+
4836
+ /// Constructs a 256-bit floating-point vector of [4 x double] by
4837
+ /// concatenating two 128-bit floating-point vectors of [2 x double]. This is
4838
+ /// similar to _mm256_set_m128d, but the order of the input parameters is
4839
+ /// swapped.
4840
+ ///
4841
+ /// \headerfile <x86intrin.h>
4842
+ ///
4843
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4844
+ ///
4845
+ /// \param __lo
4846
+ /// A 128-bit floating-point vector of [2 x double] to be copied to the lower
4847
+ /// 128 bits of the result.
4848
+ /// \param __hi
4849
+ /// A 128-bit floating-point vector of [2 x double] to be copied to the upper
4850
+ /// 128 bits of the result.
4851
+ /// \returns A 256-bit floating-point vector of [4 x double] containing the
4852
+ /// concatenated result.
4853
+ static __inline __m256d __DEFAULT_FN_ATTRS
4854
+ _mm256_setr_m128d (__m128d __lo, __m128d __hi)
4855
+ {
4856
+ return (__m256d)_mm256_set_m128d(__hi, __lo);
4857
+ }
4858
+
4859
+ /// Constructs a 256-bit integer vector by concatenating two 128-bit
4860
+ /// integer vectors. This is similar to _mm256_set_m128i, but the order of
4861
+ /// the input parameters is swapped.
4862
+ ///
4863
+ /// \headerfile <x86intrin.h>
4864
+ ///
4865
+ /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4866
+ ///
4867
+ /// \param __lo
4868
+ /// A 128-bit integer vector to be copied to the lower 128 bits of the
4869
+ /// result.
4870
+ /// \param __hi
4871
+ /// A 128-bit integer vector to be copied to the upper 128 bits of the
4872
+ /// result.
4873
+ /// \returns A 256-bit integer vector containing the concatenated result.
4874
+ static __inline __m256i __DEFAULT_FN_ATTRS
4875
+ _mm256_setr_m128i (__m128i __lo, __m128i __hi)
4876
+ {
4877
+ return (__m256i)_mm256_set_m128i(__hi, __lo);
4878
+ }
4750
4879
 
4751
4880
  /* SIMD load ops (unaligned) */
4752
4881
  /// Loads two 128-bit floating-point vectors of [4 x float] from
@@ -4773,8 +4902,7 @@ _mm256_zextsi128_si256(__m128i __a)
4773
4902
  static __inline __m256 __DEFAULT_FN_ATTRS
4774
4903
  _mm256_loadu2_m128(float const *__addr_hi, float const *__addr_lo)
4775
4904
  {
4776
- __m256 __v256 = _mm256_castps128_ps256(_mm_loadu_ps(__addr_lo));
4777
- return _mm256_insertf128_ps(__v256, _mm_loadu_ps(__addr_hi), 1);
4905
+ return _mm256_set_m128(_mm_loadu_ps(__addr_hi), _mm_loadu_ps(__addr_lo));
4778
4906
  }
4779
4907
 
4780
4908
  /// Loads two 128-bit floating-point vectors of [2 x double] from
@@ -4801,8 +4929,7 @@ _mm256_loadu2_m128(float const *__addr_hi, float const *__addr_lo)
4801
4929
  static __inline __m256d __DEFAULT_FN_ATTRS
4802
4930
  _mm256_loadu2_m128d(double const *__addr_hi, double const *__addr_lo)
4803
4931
  {
4804
- __m256d __v256 = _mm256_castpd128_pd256(_mm_loadu_pd(__addr_lo));
4805
- return _mm256_insertf128_pd(__v256, _mm_loadu_pd(__addr_hi), 1);
4932
+ return _mm256_set_m128d(_mm_loadu_pd(__addr_hi), _mm_loadu_pd(__addr_lo));
4806
4933
  }
4807
4934
 
4808
4935
  /// Loads two 128-bit integer vectors from unaligned memory locations and
@@ -4826,8 +4953,7 @@ _mm256_loadu2_m128d(double const *__addr_hi, double const *__addr_lo)
4826
4953
  static __inline __m256i __DEFAULT_FN_ATTRS
4827
4954
  _mm256_loadu2_m128i(__m128i_u const *__addr_hi, __m128i_u const *__addr_lo)
4828
4955
  {
4829
- __m256i __v256 = _mm256_castsi128_si256(_mm_loadu_si128(__addr_lo));
4830
- return _mm256_insertf128_si256(__v256, _mm_loadu_si128(__addr_hi), 1);
4956
+ return _mm256_set_m128i(_mm_loadu_si128(__addr_hi), _mm_loadu_si128(__addr_lo));
4831
4957
  }
4832
4958
 
4833
4959
  /* SIMD store ops (unaligned) */
@@ -4918,135 +5044,6 @@ _mm256_storeu2_m128i(__m128i_u *__addr_hi, __m128i_u *__addr_lo, __m256i __a)
4918
5044
  _mm_storeu_si128(__addr_hi, __v128);
4919
5045
  }
4920
5046
 
4921
- /// Constructs a 256-bit floating-point vector of [8 x float] by
4922
- /// concatenating two 128-bit floating-point vectors of [4 x float].
4923
- ///
4924
- /// \headerfile <x86intrin.h>
4925
- ///
4926
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4927
- ///
4928
- /// \param __hi
4929
- /// A 128-bit floating-point vector of [4 x float] to be copied to the upper
4930
- /// 128 bits of the result.
4931
- /// \param __lo
4932
- /// A 128-bit floating-point vector of [4 x float] to be copied to the lower
4933
- /// 128 bits of the result.
4934
- /// \returns A 256-bit floating-point vector of [8 x float] containing the
4935
- /// concatenated result.
4936
- static __inline __m256 __DEFAULT_FN_ATTRS
4937
- _mm256_set_m128 (__m128 __hi, __m128 __lo)
4938
- {
4939
- return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7);
4940
- }
4941
-
4942
- /// Constructs a 256-bit floating-point vector of [4 x double] by
4943
- /// concatenating two 128-bit floating-point vectors of [2 x double].
4944
- ///
4945
- /// \headerfile <x86intrin.h>
4946
- ///
4947
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4948
- ///
4949
- /// \param __hi
4950
- /// A 128-bit floating-point vector of [2 x double] to be copied to the upper
4951
- /// 128 bits of the result.
4952
- /// \param __lo
4953
- /// A 128-bit floating-point vector of [2 x double] to be copied to the lower
4954
- /// 128 bits of the result.
4955
- /// \returns A 256-bit floating-point vector of [4 x double] containing the
4956
- /// concatenated result.
4957
- static __inline __m256d __DEFAULT_FN_ATTRS
4958
- _mm256_set_m128d (__m128d __hi, __m128d __lo)
4959
- {
4960
- return (__m256d) __builtin_shufflevector((__v2df)__lo, (__v2df)__hi, 0, 1, 2, 3);
4961
- }
4962
-
4963
- /// Constructs a 256-bit integer vector by concatenating two 128-bit
4964
- /// integer vectors.
4965
- ///
4966
- /// \headerfile <x86intrin.h>
4967
- ///
4968
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4969
- ///
4970
- /// \param __hi
4971
- /// A 128-bit integer vector to be copied to the upper 128 bits of the
4972
- /// result.
4973
- /// \param __lo
4974
- /// A 128-bit integer vector to be copied to the lower 128 bits of the
4975
- /// result.
4976
- /// \returns A 256-bit integer vector containing the concatenated result.
4977
- static __inline __m256i __DEFAULT_FN_ATTRS
4978
- _mm256_set_m128i (__m128i __hi, __m128i __lo)
4979
- {
4980
- return (__m256i) __builtin_shufflevector((__v2di)__lo, (__v2di)__hi, 0, 1, 2, 3);
4981
- }
4982
-
4983
- /// Constructs a 256-bit floating-point vector of [8 x float] by
4984
- /// concatenating two 128-bit floating-point vectors of [4 x float]. This is
4985
- /// similar to _mm256_set_m128, but the order of the input parameters is
4986
- /// swapped.
4987
- ///
4988
- /// \headerfile <x86intrin.h>
4989
- ///
4990
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
4991
- ///
4992
- /// \param __lo
4993
- /// A 128-bit floating-point vector of [4 x float] to be copied to the lower
4994
- /// 128 bits of the result.
4995
- /// \param __hi
4996
- /// A 128-bit floating-point vector of [4 x float] to be copied to the upper
4997
- /// 128 bits of the result.
4998
- /// \returns A 256-bit floating-point vector of [8 x float] containing the
4999
- /// concatenated result.
5000
- static __inline __m256 __DEFAULT_FN_ATTRS
5001
- _mm256_setr_m128 (__m128 __lo, __m128 __hi)
5002
- {
5003
- return _mm256_set_m128(__hi, __lo);
5004
- }
5005
-
5006
- /// Constructs a 256-bit floating-point vector of [4 x double] by
5007
- /// concatenating two 128-bit floating-point vectors of [2 x double]. This is
5008
- /// similar to _mm256_set_m128d, but the order of the input parameters is
5009
- /// swapped.
5010
- ///
5011
- /// \headerfile <x86intrin.h>
5012
- ///
5013
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
5014
- ///
5015
- /// \param __lo
5016
- /// A 128-bit floating-point vector of [2 x double] to be copied to the lower
5017
- /// 128 bits of the result.
5018
- /// \param __hi
5019
- /// A 128-bit floating-point vector of [2 x double] to be copied to the upper
5020
- /// 128 bits of the result.
5021
- /// \returns A 256-bit floating-point vector of [4 x double] containing the
5022
- /// concatenated result.
5023
- static __inline __m256d __DEFAULT_FN_ATTRS
5024
- _mm256_setr_m128d (__m128d __lo, __m128d __hi)
5025
- {
5026
- return (__m256d)_mm256_set_m128d(__hi, __lo);
5027
- }
5028
-
5029
- /// Constructs a 256-bit integer vector by concatenating two 128-bit
5030
- /// integer vectors. This is similar to _mm256_set_m128i, but the order of
5031
- /// the input parameters is swapped.
5032
- ///
5033
- /// \headerfile <x86intrin.h>
5034
- ///
5035
- /// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
5036
- ///
5037
- /// \param __lo
5038
- /// A 128-bit integer vector to be copied to the lower 128 bits of the
5039
- /// result.
5040
- /// \param __hi
5041
- /// A 128-bit integer vector to be copied to the upper 128 bits of the
5042
- /// result.
5043
- /// \returns A 256-bit integer vector containing the concatenated result.
5044
- static __inline __m256i __DEFAULT_FN_ATTRS
5045
- _mm256_setr_m128i (__m128i __lo, __m128i __hi)
5046
- {
5047
- return (__m256i)_mm256_set_m128i(__hi, __lo);
5048
- }
5049
-
5050
5047
  #undef __DEFAULT_FN_ATTRS
5051
5048
  #undef __DEFAULT_FN_ATTRS128
5052
5049
 
@@ -42,10 +42,20 @@ static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd(unsigned int __a) {
42
42
  return __builtin_ia32_rdsspd(__a);
43
43
  }
44
44
 
45
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd_i32() {
46
+ unsigned int t;
47
+ return __builtin_ia32_rdsspd(t);
48
+ }
49
+
45
50
  #ifdef __x86_64__
46
51
  static __inline__ unsigned long long __DEFAULT_FN_ATTRS _rdsspq(unsigned long long __a) {
47
52
  return __builtin_ia32_rdsspq(__a);
48
53
  }
54
+
55
+ static __inline__ unsigned long long __DEFAULT_FN_ATTRS _rdsspq_i64() {
56
+ unsigned long long t;
57
+ return __builtin_ia32_rdsspq(t);
58
+ }
49
59
  #endif /* __x86_64__ */
50
60
 
51
61
  #ifdef __x86_64__