module.modulemap 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. module _Builtin_intrinsics [system] [extern_c] {
  2. explicit module altivec {
  3. requires altivec
  4. header "altivec.h"
  5. }
  6. explicit module arm {
  7. requires arm
  8. explicit module acle {
  9. header "arm_acle.h"
  10. export *
  11. }
  12. explicit module neon {
  13. requires neon
  14. header "arm_neon.h"
  15. export *
  16. }
  17. }
  18. explicit module intel {
  19. requires x86
  20. export *
  21. header "immintrin.h"
  22. header "x86intrin.h"
  23. explicit module mm_malloc {
  24. header "mm_malloc.h"
  25. export * // note: for <stdlib.h> dependency
  26. }
  27. explicit module cpuid {
  28. requires x86
  29. header "cpuid.h"
  30. }
  31. explicit module mmx {
  32. requires mmx
  33. header "mmintrin.h"
  34. }
  35. explicit module f16c {
  36. requires f16c
  37. header "f16cintrin.h"
  38. }
  39. explicit module sse {
  40. requires sse
  41. export mmx
  42. export sse2 // note: for hackish <emmintrin.h> dependency
  43. header "xmmintrin.h"
  44. }
  45. explicit module sse2 {
  46. requires sse2
  47. export sse
  48. header "emmintrin.h"
  49. }
  50. explicit module sse3 {
  51. requires sse3
  52. export sse2
  53. header "pmmintrin.h"
  54. }
  55. explicit module ssse3 {
  56. requires ssse3
  57. export sse3
  58. header "tmmintrin.h"
  59. }
  60. explicit module sse4_1 {
  61. requires sse41
  62. export ssse3
  63. header "smmintrin.h"
  64. }
  65. explicit module sse4_2 {
  66. requires sse42
  67. export sse4_1
  68. header "nmmintrin.h"
  69. }
  70. explicit module sse4a {
  71. requires sse4a
  72. export sse3
  73. header "ammintrin.h"
  74. }
  75. explicit module avx {
  76. requires avx
  77. export sse4_2
  78. header "avxintrin.h"
  79. }
  80. explicit module avx2 {
  81. requires avx2
  82. export avx
  83. header "avx2intrin.h"
  84. }
  85. explicit module avx512f {
  86. requires avx512f
  87. export avx2
  88. header "avx512fintrin.h"
  89. }
  90. explicit module avx512er {
  91. requires avx512er
  92. header "avx512erintrin.h"
  93. }
  94. explicit module bmi {
  95. requires bmi
  96. header "bmiintrin.h"
  97. }
  98. explicit module bmi2 {
  99. requires bmi2
  100. header "bmi2intrin.h"
  101. }
  102. explicit module fma {
  103. requires fma
  104. header "fmaintrin.h"
  105. }
  106. explicit module fma4 {
  107. requires fma4
  108. export sse3
  109. header "fma4intrin.h"
  110. }
  111. explicit module lzcnt {
  112. requires lzcnt
  113. header "lzcntintrin.h"
  114. }
  115. explicit module popcnt {
  116. requires popcnt
  117. header "popcntintrin.h"
  118. }
  119. explicit module mm3dnow {
  120. requires mm3dnow
  121. header "mm3dnow.h"
  122. }
  123. explicit module xop {
  124. requires xop
  125. export fma4
  126. header "xopintrin.h"
  127. }
  128. explicit module aes_pclmul {
  129. requires aes, pclmul
  130. header "wmmintrin.h"
  131. export aes
  132. export pclmul
  133. }
  134. explicit module aes {
  135. requires aes
  136. header "__wmmintrin_aes.h"
  137. }
  138. explicit module pclmul {
  139. requires pclmul
  140. header "__wmmintrin_pclmul.h"
  141. }
  142. }
  143. explicit module systemz {
  144. requires systemz
  145. export *
  146. header "s390intrin.h"
  147. explicit module htm {
  148. requires htm
  149. header "htmintrin.h"
  150. header "htmxlintrin.h"
  151. }
  152. explicit module zvector {
  153. requires zvector, vx
  154. header "vecintrin.h"
  155. }
  156. }
  157. }
  158. module _Builtin_stddef_max_align_t [system] [extern_c] {
  159. header "__stddef_max_align_t.h"
  160. }