tcext3.c 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. #include <stdint.h>
  2. struct struct_arr1 {
  3. int8_t v[1];
  4. };
  5. struct struct_arr2 {
  6. int8_t v[2];
  7. };
  8. struct struct_arr3 {
  9. int8_t v[3];
  10. };
  11. struct struct_arr4 {
  12. int8_t v[4];
  13. };
  14. struct struct_arr5 {
  15. int8_t v[5];
  16. };
  17. struct struct_arr6 {
  18. int8_t v[6];
  19. };
  20. struct struct_arr7 {
  21. int8_t v[7];
  22. };
  23. struct struct_arr8 {
  24. int8_t v[8];
  25. };
  26. struct struct_arr9 {
  27. int8_t v[9];
  28. };
  29. struct struct_arr10 {
  30. int8_t v[10];
  31. };
  32. struct struct_arr11 {
  33. int8_t v[11];
  34. };
  35. struct struct_arr15 {
  36. int8_t v[15];
  37. };
  38. struct struct_arr16 {
  39. int8_t v[16];
  40. };
  41. struct struct_arr17{
  42. int8_t v[17];
  43. };
  44. struct struct_arr27 {
  45. int8_t v[27];
  46. };
  47. struct struct_arr31 {
  48. int8_t v[31];
  49. };
  50. struct struct_arr32 {
  51. int8_t v[32];
  52. };
  53. struct struct_arr33 {
  54. int8_t v[33];
  55. };
  56. struct struct1 {
  57. int8_t v;
  58. };
  59. struct struct2 {
  60. int16_t v;
  61. };
  62. struct struct3 {
  63. int16_t v1;
  64. int8_t v2;
  65. };
  66. struct struct4 {
  67. int32_t v;
  68. };
  69. struct struct5 {
  70. int32_t v1;
  71. int8_t v2;
  72. };
  73. struct struct6 {
  74. int32_t v1;
  75. int16_t v2;
  76. };
  77. struct struct7 {
  78. int32_t v1;
  79. int16_t v2;
  80. int8_t v3;
  81. };
  82. struct struct8 {
  83. int64_t v;
  84. };
  85. struct struct9 {
  86. int64_t v1;
  87. int8_t v2;
  88. };
  89. struct struct10 {
  90. int64_t v1;
  91. int16_t v2;
  92. };
  93. struct struct11 {
  94. int64_t v1;
  95. int16_t v2;
  96. int8_t v3;
  97. };
  98. struct struct12 {
  99. int64_t v1;
  100. int32_t v2;
  101. };
  102. struct struct13 {
  103. int64_t v1;
  104. int32_t v2;
  105. int8_t v3;
  106. };
  107. struct struct14 {
  108. int64_t v1;
  109. int32_t v2;
  110. int16_t v3;
  111. };
  112. struct struct15 {
  113. int64_t v1;
  114. int32_t v2;
  115. int16_t v3;
  116. int8_t v4;
  117. };
  118. struct struct16 {
  119. int64_t v1;
  120. int64_t v2;
  121. };
  122. struct struct31 {
  123. int64_t v1;
  124. int64_t v2;
  125. int64_t v3;
  126. int32_t v4;
  127. int16_t v5;
  128. int8_t v6;
  129. };
  130. int64_t pass1(struct struct1 s) {
  131. return s.v;
  132. }
  133. int64_t pass2(struct struct2 s) {
  134. return s.v;
  135. }
  136. int64_t pass3(struct struct3 s) {
  137. return s.v1 + s.v2;
  138. }
  139. int64_t pass4(struct struct4 s) {
  140. return s.v;
  141. }
  142. int64_t pass5(struct struct5 s) {
  143. return s.v1 + s.v2;
  144. }
  145. int64_t pass6(struct struct6 s) {
  146. return s.v1 + s.v2;
  147. }
  148. int64_t pass7(struct struct7 s) {
  149. return s.v1 + s.v2 + s.v3;
  150. }
  151. int64_t pass8(struct struct8 s) {
  152. return s.v;
  153. }
  154. int64_t pass9(struct struct9 s) {
  155. return s.v1 + s.v2;
  156. }
  157. int64_t pass10(struct struct10 s) {
  158. return s.v1 + s.v2;
  159. }
  160. int64_t pass11(struct struct11 s) {
  161. return s.v1 + s.v2 + s.v3;
  162. }
  163. int64_t pass12(struct struct12 s) {
  164. return s.v1 + s.v2;
  165. }
  166. int64_t pass13(struct struct13 s) {
  167. return s.v1 + s.v2 + s.v3;
  168. }
  169. int64_t pass14(struct struct14 s) {
  170. return s.v1 + s.v2 + s.v3;
  171. }
  172. int64_t pass15(struct struct15 s) {
  173. return s.v1 + s.v2 + s.v3 + s.v4;
  174. }
  175. int64_t pass16(struct struct16 s) {
  176. return s.v1 + s.v2;
  177. }
  178. int64_t pass31(struct struct31 s) {
  179. return s.v1 + s.v2 + s.v3 + s.v4 + s.v5 + s.v6;
  180. }
  181. int64_t pass_arr1(struct struct_arr1 s) {
  182. int result = 0, i;
  183. for (i = 0; i < 1; i++)
  184. result += s.v[i];
  185. return result;
  186. }
  187. int64_t pass_arr2(struct struct_arr2 s) {
  188. int result = 0, i;
  189. for (i = 0; i < 2; i++)
  190. result += s.v[i];
  191. return result;
  192. }
  193. int64_t pass_arr3(struct struct_arr3 s) {
  194. int result = 0, i;
  195. for (i = 0; i < 3; i++)
  196. result += s.v[i];
  197. return result;
  198. }
  199. int64_t pass_arr4(struct struct_arr4 s) {
  200. int result = 0, i;
  201. for (i = 0; i < 4; i++)
  202. result += s.v[i];
  203. return result;
  204. }
  205. int64_t pass_arr5(struct struct_arr5 s) {
  206. int result = 0, i;
  207. for (i = 0; i < 5; i++)
  208. result += s.v[i];
  209. return result;
  210. }
  211. int64_t pass_arr6(struct struct_arr6 s) {
  212. int result = 0, i;
  213. for (i = 0; i < 6; i++)
  214. result += s.v[i];
  215. return result;
  216. }
  217. int64_t pass_arr7(struct struct_arr7 s) {
  218. int result = 0, i;
  219. for (i = 0; i < 7; i++)
  220. result += s.v[i];
  221. return result;
  222. }
  223. int64_t pass_arr8(struct struct_arr8 s) {
  224. int result = 0, i;
  225. for (i = 0; i < 8; i++)
  226. result += s.v[i];
  227. return result;
  228. }
  229. int64_t pass_arr9(struct struct_arr9 s) {
  230. int result = 0, i;
  231. for (i = 0; i < 9; i++)
  232. result += s.v[i];
  233. return result;
  234. }
  235. int64_t pass_arr10(struct struct_arr10 s) {
  236. int result = 0, i;
  237. for (i = 0; i < 10; i++)
  238. result += s.v[i];
  239. return result;
  240. }
  241. int64_t pass_arr11(struct struct_arr11 s) {
  242. int result = 0, i;
  243. for (i = 0; i < 11; i++)
  244. result += s.v[i];
  245. return result;
  246. }
  247. int64_t pass_arr15(struct struct_arr15 s) {
  248. int result = 0, i;
  249. for (i = 0; i < 15; i++)
  250. result += s.v[i];
  251. return result;
  252. }
  253. int64_t pass_arr16(struct struct_arr16 s) {
  254. int result = 0, i;
  255. for (i = 0; i < 16; i++)
  256. result += s.v[i];
  257. return result;
  258. }
  259. int64_t pass_arr17(struct struct_arr17 s) {
  260. int result = 0, i;
  261. for (i = 0; i < 17; i++)
  262. result += s.v[i];
  263. return result;
  264. }
  265. int64_t pass_arr27(struct struct_arr27 s) {
  266. int result = 0, i;
  267. for (i = 0; i < 27; i++)
  268. result += s.v[i];
  269. return result;
  270. }
  271. int64_t pass_arr31(struct struct_arr31 s) {
  272. int result = 0, i;
  273. for (i = 0; i < 31; i++)
  274. result += s.v[i];
  275. return result;
  276. }
  277. int64_t pass_arr32(struct struct_arr32 s) {
  278. int result = 0, i;
  279. for (i = 0; i < 32; i++)
  280. result += s.v[i];
  281. return result;
  282. }
  283. int64_t pass_arr33(struct struct_arr33 s) {
  284. int result = 0, i;
  285. for (i = 0; i < 33; i++)
  286. result += s.v[i];
  287. return result;
  288. }