Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "main.c"
  2.     .section    .rodata.str1.1,"aMS",@progbits,1
  3. .LC0:
  4.     .string "latency clocks taken: %.0lf\n"
  5. .LC2:
  6.     .string "latency is: %lf\n"
  7.     .section    .rodata.str1.8,"aMS",@progbits,1
  8.     .align 8
  9. .LC3:
  10.     .string "throughput clocks taken: %.0lf\n"
  11.     .section    .rodata.str1.1
  12. .LC5:
  13.     .string "throughput: %lf\n"
  14.     .section    .text.startup,"ax",@progbits
  15.     .p2align 4,,15
  16.     .globl  main
  17.     .type   main, @function
  18. main:
  19. .LFB21:
  20.     .cfi_startproc
  21.     subq    $24, %rsp
  22.     .cfi_def_cfa_offset 32
  23.     movl    $100000, %eax
  24.     .p2align 4,,10
  25.     .p2align 3
  26. .L2:
  27. #APP
  28. # 51 "main.c" 1
  29.     vmulpd %ymm0, %ymm0, %ymm0
  30. # 0 "" 2
  31. # 51 "main.c" 1
  32.     vmulpd %ymm0, %ymm0, %ymm0
  33. # 0 "" 2
  34. # 51 "main.c" 1
  35.     vmulpd %ymm0, %ymm0, %ymm0
  36. # 0 "" 2
  37. # 51 "main.c" 1
  38.     vmulpd %ymm0, %ymm0, %ymm0
  39. # 0 "" 2
  40. # 51 "main.c" 1
  41.     vmulpd %ymm0, %ymm0, %ymm0
  42. # 0 "" 2
  43. # 51 "main.c" 1
  44.     vmulpd %ymm0, %ymm0, %ymm0
  45. # 0 "" 2
  46. # 51 "main.c" 1
  47.     vmulpd %ymm0, %ymm0, %ymm0
  48. # 0 "" 2
  49. # 51 "main.c" 1
  50.     vmulpd %ymm0, %ymm0, %ymm0
  51. # 0 "" 2
  52. # 51 "main.c" 1
  53.     vmulpd %ymm0, %ymm0, %ymm0
  54. # 0 "" 2
  55. # 51 "main.c" 1
  56.     vmulpd %ymm0, %ymm0, %ymm0
  57. # 0 "" 2
  58. #NO_APP
  59.     subl    $1, %eax
  60.     jne .L2
  61. #APP
  62. # 55 "main.c" 1
  63.     rdtsc
  64.  
  65. # 0 "" 2
  66. #NO_APP
  67.     movq    %rax, %rsi
  68.     movq    %rdx, %rcx
  69.     movl    $10000000, %eax
  70.     .p2align 4,,10
  71.     .p2align 3
  72. .L3:
  73. #APP
  74. # 57 "main.c" 1
  75.     vmulpd %ymm0, %ymm0, %ymm0
  76. # 0 "" 2
  77. # 57 "main.c" 1
  78.     vmulpd %ymm0, %ymm0, %ymm0
  79. # 0 "" 2
  80. # 57 "main.c" 1
  81.     vmulpd %ymm0, %ymm0, %ymm0
  82. # 0 "" 2
  83. # 57 "main.c" 1
  84.     vmulpd %ymm0, %ymm0, %ymm0
  85. # 0 "" 2
  86. # 57 "main.c" 1
  87.     vmulpd %ymm0, %ymm0, %ymm0
  88. # 0 "" 2
  89. # 57 "main.c" 1
  90.     vmulpd %ymm0, %ymm0, %ymm0
  91. # 0 "" 2
  92. # 57 "main.c" 1
  93.     vmulpd %ymm0, %ymm0, %ymm0
  94. # 0 "" 2
  95. # 57 "main.c" 1
  96.     vmulpd %ymm0, %ymm0, %ymm0
  97. # 0 "" 2
  98. # 57 "main.c" 1
  99.     vmulpd %ymm0, %ymm0, %ymm0
  100. # 0 "" 2
  101. # 57 "main.c" 1
  102.     vmulpd %ymm0, %ymm0, %ymm0
  103. # 0 "" 2
  104. # 58 "main.c" 1
  105.     vmulpd %ymm0, %ymm0, %ymm0
  106. # 0 "" 2
  107. # 58 "main.c" 1
  108.     vmulpd %ymm0, %ymm0, %ymm0
  109. # 0 "" 2
  110. # 58 "main.c" 1
  111.     vmulpd %ymm0, %ymm0, %ymm0
  112. # 0 "" 2
  113. # 58 "main.c" 1
  114.     vmulpd %ymm0, %ymm0, %ymm0
  115. # 0 "" 2
  116. # 58 "main.c" 1
  117.     vmulpd %ymm0, %ymm0, %ymm0
  118. # 0 "" 2
  119. # 58 "main.c" 1
  120.     vmulpd %ymm0, %ymm0, %ymm0
  121. # 0 "" 2
  122. # 58 "main.c" 1
  123.     vmulpd %ymm0, %ymm0, %ymm0
  124. # 0 "" 2
  125. # 58 "main.c" 1
  126.     vmulpd %ymm0, %ymm0, %ymm0
  127. # 0 "" 2
  128. # 58 "main.c" 1
  129.     vmulpd %ymm0, %ymm0, %ymm0
  130. # 0 "" 2
  131. # 58 "main.c" 1
  132.     vmulpd %ymm0, %ymm0, %ymm0
  133. # 0 "" 2
  134. # 59 "main.c" 1
  135.     vmulpd %ymm0, %ymm0, %ymm0
  136. # 0 "" 2
  137. # 59 "main.c" 1
  138.     vmulpd %ymm0, %ymm0, %ymm0
  139. # 0 "" 2
  140. # 59 "main.c" 1
  141.     vmulpd %ymm0, %ymm0, %ymm0
  142. # 0 "" 2
  143. # 59 "main.c" 1
  144.     vmulpd %ymm0, %ymm0, %ymm0
  145. # 0 "" 2
  146. # 59 "main.c" 1
  147.     vmulpd %ymm0, %ymm0, %ymm0
  148. # 0 "" 2
  149. # 59 "main.c" 1
  150.     vmulpd %ymm0, %ymm0, %ymm0
  151. # 0 "" 2
  152. # 59 "main.c" 1
  153.     vmulpd %ymm0, %ymm0, %ymm0
  154. # 0 "" 2
  155. # 59 "main.c" 1
  156.     vmulpd %ymm0, %ymm0, %ymm0
  157. # 0 "" 2
  158. # 59 "main.c" 1
  159.     vmulpd %ymm0, %ymm0, %ymm0
  160. # 0 "" 2
  161. # 59 "main.c" 1
  162.     vmulpd %ymm0, %ymm0, %ymm0
  163. # 0 "" 2
  164. # 60 "main.c" 1
  165.     vmulpd %ymm0, %ymm0, %ymm0
  166. # 0 "" 2
  167. # 60 "main.c" 1
  168.     vmulpd %ymm0, %ymm0, %ymm0
  169. # 0 "" 2
  170. # 60 "main.c" 1
  171.     vmulpd %ymm0, %ymm0, %ymm0
  172. # 0 "" 2
  173. # 60 "main.c" 1
  174.     vmulpd %ymm0, %ymm0, %ymm0
  175. # 0 "" 2
  176. # 60 "main.c" 1
  177.     vmulpd %ymm0, %ymm0, %ymm0
  178. # 0 "" 2
  179. # 60 "main.c" 1
  180.     vmulpd %ymm0, %ymm0, %ymm0
  181. # 0 "" 2
  182. # 60 "main.c" 1
  183.     vmulpd %ymm0, %ymm0, %ymm0
  184. # 0 "" 2
  185. # 60 "main.c" 1
  186.     vmulpd %ymm0, %ymm0, %ymm0
  187. # 0 "" 2
  188. # 60 "main.c" 1
  189.     vmulpd %ymm0, %ymm0, %ymm0
  190. # 0 "" 2
  191. # 60 "main.c" 1
  192.     vmulpd %ymm0, %ymm0, %ymm0
  193. # 0 "" 2
  194. # 61 "main.c" 1
  195.     vmulpd %ymm0, %ymm0, %ymm0
  196. # 0 "" 2
  197. # 61 "main.c" 1
  198.     vmulpd %ymm0, %ymm0, %ymm0
  199. # 0 "" 2
  200. # 61 "main.c" 1
  201.     vmulpd %ymm0, %ymm0, %ymm0
  202. # 0 "" 2
  203. # 61 "main.c" 1
  204.     vmulpd %ymm0, %ymm0, %ymm0
  205. # 0 "" 2
  206. # 61 "main.c" 1
  207.     vmulpd %ymm0, %ymm0, %ymm0
  208. # 0 "" 2
  209. # 61 "main.c" 1
  210.     vmulpd %ymm0, %ymm0, %ymm0
  211. # 0 "" 2
  212. # 61 "main.c" 1
  213.     vmulpd %ymm0, %ymm0, %ymm0
  214. # 0 "" 2
  215. # 61 "main.c" 1
  216.     vmulpd %ymm0, %ymm0, %ymm0
  217. # 0 "" 2
  218. # 61 "main.c" 1
  219.     vmulpd %ymm0, %ymm0, %ymm0
  220. # 0 "" 2
  221. # 61 "main.c" 1
  222.     vmulpd %ymm0, %ymm0, %ymm0
  223. # 0 "" 2
  224. # 62 "main.c" 1
  225.     vmulpd %ymm0, %ymm0, %ymm0
  226. # 0 "" 2
  227. # 62 "main.c" 1
  228.     vmulpd %ymm0, %ymm0, %ymm0
  229. # 0 "" 2
  230. # 62 "main.c" 1
  231.     vmulpd %ymm0, %ymm0, %ymm0
  232. # 0 "" 2
  233. # 62 "main.c" 1
  234.     vmulpd %ymm0, %ymm0, %ymm0
  235. # 0 "" 2
  236. # 62 "main.c" 1
  237.     vmulpd %ymm0, %ymm0, %ymm0
  238. # 0 "" 2
  239. # 62 "main.c" 1
  240.     vmulpd %ymm0, %ymm0, %ymm0
  241. # 0 "" 2
  242. # 62 "main.c" 1
  243.     vmulpd %ymm0, %ymm0, %ymm0
  244. # 0 "" 2
  245. # 62 "main.c" 1
  246.     vmulpd %ymm0, %ymm0, %ymm0
  247. # 0 "" 2
  248. # 62 "main.c" 1
  249.     vmulpd %ymm0, %ymm0, %ymm0
  250. # 0 "" 2
  251. # 62 "main.c" 1
  252.     vmulpd %ymm0, %ymm0, %ymm0
  253. # 0 "" 2
  254. # 63 "main.c" 1
  255.     vmulpd %ymm0, %ymm0, %ymm0
  256. # 0 "" 2
  257. # 63 "main.c" 1
  258.     vmulpd %ymm0, %ymm0, %ymm0
  259. # 0 "" 2
  260. # 63 "main.c" 1
  261.     vmulpd %ymm0, %ymm0, %ymm0
  262. # 0 "" 2
  263. # 63 "main.c" 1
  264.     vmulpd %ymm0, %ymm0, %ymm0
  265. # 0 "" 2
  266. # 63 "main.c" 1
  267.     vmulpd %ymm0, %ymm0, %ymm0
  268. # 0 "" 2
  269. # 63 "main.c" 1
  270.     vmulpd %ymm0, %ymm0, %ymm0
  271. # 0 "" 2
  272. # 63 "main.c" 1
  273.     vmulpd %ymm0, %ymm0, %ymm0
  274. # 0 "" 2
  275. # 63 "main.c" 1
  276.     vmulpd %ymm0, %ymm0, %ymm0
  277. # 0 "" 2
  278. # 63 "main.c" 1
  279.     vmulpd %ymm0, %ymm0, %ymm0
  280. # 0 "" 2
  281. # 63 "main.c" 1
  282.     vmulpd %ymm0, %ymm0, %ymm0
  283. # 0 "" 2
  284. # 64 "main.c" 1
  285.     vmulpd %ymm0, %ymm0, %ymm0
  286. # 0 "" 2
  287. # 64 "main.c" 1
  288.     vmulpd %ymm0, %ymm0, %ymm0
  289. # 0 "" 2
  290. # 64 "main.c" 1
  291.     vmulpd %ymm0, %ymm0, %ymm0
  292. # 0 "" 2
  293. # 64 "main.c" 1
  294.     vmulpd %ymm0, %ymm0, %ymm0
  295. # 0 "" 2
  296. # 64 "main.c" 1
  297.     vmulpd %ymm0, %ymm0, %ymm0
  298. # 0 "" 2
  299. # 64 "main.c" 1
  300.     vmulpd %ymm0, %ymm0, %ymm0
  301. # 0 "" 2
  302. # 64 "main.c" 1
  303.     vmulpd %ymm0, %ymm0, %ymm0
  304. # 0 "" 2
  305. # 64 "main.c" 1
  306.     vmulpd %ymm0, %ymm0, %ymm0
  307. # 0 "" 2
  308. # 64 "main.c" 1
  309.     vmulpd %ymm0, %ymm0, %ymm0
  310. # 0 "" 2
  311. # 64 "main.c" 1
  312.     vmulpd %ymm0, %ymm0, %ymm0
  313. # 0 "" 2
  314. # 65 "main.c" 1
  315.     vmulpd %ymm0, %ymm0, %ymm0
  316. # 0 "" 2
  317. # 65 "main.c" 1
  318.     vmulpd %ymm0, %ymm0, %ymm0
  319. # 0 "" 2
  320. # 65 "main.c" 1
  321.     vmulpd %ymm0, %ymm0, %ymm0
  322. # 0 "" 2
  323. # 65 "main.c" 1
  324.     vmulpd %ymm0, %ymm0, %ymm0
  325. # 0 "" 2
  326. # 65 "main.c" 1
  327.     vmulpd %ymm0, %ymm0, %ymm0
  328. # 0 "" 2
  329. # 65 "main.c" 1
  330.     vmulpd %ymm0, %ymm0, %ymm0
  331. # 0 "" 2
  332. # 65 "main.c" 1
  333.     vmulpd %ymm0, %ymm0, %ymm0
  334. # 0 "" 2
  335. # 65 "main.c" 1
  336.     vmulpd %ymm0, %ymm0, %ymm0
  337. # 0 "" 2
  338. # 65 "main.c" 1
  339.     vmulpd %ymm0, %ymm0, %ymm0
  340. # 0 "" 2
  341. # 65 "main.c" 1
  342.     vmulpd %ymm0, %ymm0, %ymm0
  343. # 0 "" 2
  344. # 66 "main.c" 1
  345.     vmulpd %ymm0, %ymm0, %ymm0
  346. # 0 "" 2
  347. # 66 "main.c" 1
  348.     vmulpd %ymm0, %ymm0, %ymm0
  349. # 0 "" 2
  350. # 66 "main.c" 1
  351.     vmulpd %ymm0, %ymm0, %ymm0
  352. # 0 "" 2
  353. # 66 "main.c" 1
  354.     vmulpd %ymm0, %ymm0, %ymm0
  355. # 0 "" 2
  356. # 66 "main.c" 1
  357.     vmulpd %ymm0, %ymm0, %ymm0
  358. # 0 "" 2
  359. # 66 "main.c" 1
  360.     vmulpd %ymm0, %ymm0, %ymm0
  361. # 0 "" 2
  362. # 66 "main.c" 1
  363.     vmulpd %ymm0, %ymm0, %ymm0
  364. # 0 "" 2
  365. # 66 "main.c" 1
  366.     vmulpd %ymm0, %ymm0, %ymm0
  367. # 0 "" 2
  368. # 66 "main.c" 1
  369.     vmulpd %ymm0, %ymm0, %ymm0
  370. # 0 "" 2
  371. # 66 "main.c" 1
  372.     vmulpd %ymm0, %ymm0, %ymm0
  373. # 0 "" 2
  374. #NO_APP
  375.     subl    $1, %eax
  376.     jne .L3
  377. #APP
  378. # 70 "main.c" 1
  379.     rdtsc
  380.  
  381. # 0 "" 2
  382. #NO_APP
  383.     salq    $32, %rcx
  384.     salq    $32, %rdx
  385.     orq %rdx, %rax
  386.     movq    %rcx, %rdx
  387.     orq %rsi, %rdx
  388.     subq    %rdx, %rax
  389.     js  .L4
  390.     vxorpd  %xmm1, %xmm1, %xmm1
  391.     vcvtsi2sdq  %rax, %xmm1, %xmm1
  392. .L5:
  393.     vmovapd %xmm1, %xmm0
  394.     leaq    .LC0(%rip), %rdi
  395.     movl    $1, %eax
  396.     vmovsd  %xmm1, 8(%rsp)
  397.     call    printf@PLT
  398.     vmovsd  8(%rsp), %xmm1
  399.     leaq    .LC2(%rip), %rdi
  400.     movl    $1, %eax
  401.     vmulsd  .LC1(%rip), %xmm1, %xmm0
  402.     call    printf@PLT
  403. #APP
  404. # 85 "main.c" 1
  405.     rdtsc
  406.  
  407. # 0 "" 2
  408. #NO_APP
  409.     movq    %rax, %rsi
  410.     movq    %rdx, %rcx
  411.     movl    $10000000, %eax
  412.     .p2align 4,,10
  413.     .p2align 3
  414. .L6:
  415. #APP
  416. # 87 "main.c" 1
  417.     vmulpd %ymm0, %ymm0, %ymm0
  418. # 0 "" 2
  419. # 87 "main.c" 1
  420.     vmulpd %ymm1, %ymm1, %ymm1
  421. # 0 "" 2
  422. # 87 "main.c" 1
  423.     vmulpd %ymm2, %ymm2, %ymm2
  424. # 0 "" 2
  425. # 87 "main.c" 1
  426.     vmulpd %ymm3, %ymm3, %ymm3
  427. # 0 "" 2
  428. # 87 "main.c" 1
  429.     vmulpd %ymm4, %ymm4, %ymm4
  430. # 0 "" 2
  431. # 87 "main.c" 1
  432.     vmulpd %ymm5, %ymm5, %ymm5
  433. # 0 "" 2
  434. # 87 "main.c" 1
  435.     vmulpd %ymm6, %ymm6, %ymm6
  436. # 0 "" 2
  437. # 87 "main.c" 1
  438.     vmulpd %ymm7, %ymm7, %ymm7
  439. # 0 "" 2
  440. # 87 "main.c" 1
  441.     vmulpd %ymm8, %ymm8, %ymm8
  442. # 0 "" 2
  443. # 87 "main.c" 1
  444.     vmulpd %ymm9, %ymm9, %ymm9
  445. # 0 "" 2
  446. # 87 "main.c" 1
  447.     vmulpd %ymm10, %ymm10, %ymm10
  448. # 0 "" 2
  449. # 87 "main.c" 1
  450.     vmulpd %ymm11, %ymm11, %ymm11
  451. # 0 "" 2
  452. # 87 "main.c" 1
  453.     vmulpd %ymm12, %ymm12, %ymm12
  454. # 0 "" 2
  455. # 87 "main.c" 1
  456.     vmulpd %ymm13, %ymm13, %ymm13
  457. # 0 "" 2
  458. # 87 "main.c" 1
  459.     vmulpd %ymm14, %ymm14, %ymm14
  460. # 0 "" 2
  461. # 87 "main.c" 1
  462.     vmulpd %ymm15, %ymm15, %ymm15
  463. # 0 "" 2
  464. # 88 "main.c" 1
  465.     vmulpd %ymm0, %ymm0, %ymm0
  466. # 0 "" 2
  467. # 88 "main.c" 1
  468.     vmulpd %ymm1, %ymm1, %ymm1
  469. # 0 "" 2
  470. # 88 "main.c" 1
  471.     vmulpd %ymm2, %ymm2, %ymm2
  472. # 0 "" 2
  473. # 88 "main.c" 1
  474.     vmulpd %ymm3, %ymm3, %ymm3
  475. # 0 "" 2
  476. # 88 "main.c" 1
  477.     vmulpd %ymm4, %ymm4, %ymm4
  478. # 0 "" 2
  479. # 88 "main.c" 1
  480.     vmulpd %ymm5, %ymm5, %ymm5
  481. # 0 "" 2
  482. # 88 "main.c" 1
  483.     vmulpd %ymm6, %ymm6, %ymm6
  484. # 0 "" 2
  485. # 88 "main.c" 1
  486.     vmulpd %ymm7, %ymm7, %ymm7
  487. # 0 "" 2
  488. # 88 "main.c" 1
  489.     vmulpd %ymm8, %ymm8, %ymm8
  490. # 0 "" 2
  491. # 88 "main.c" 1
  492.     vmulpd %ymm9, %ymm9, %ymm9
  493. # 0 "" 2
  494. # 88 "main.c" 1
  495.     vmulpd %ymm10, %ymm10, %ymm10
  496. # 0 "" 2
  497. # 88 "main.c" 1
  498.     vmulpd %ymm11, %ymm11, %ymm11
  499. # 0 "" 2
  500. # 88 "main.c" 1
  501.     vmulpd %ymm12, %ymm12, %ymm12
  502. # 0 "" 2
  503. # 88 "main.c" 1
  504.     vmulpd %ymm13, %ymm13, %ymm13
  505. # 0 "" 2
  506. # 88 "main.c" 1
  507.     vmulpd %ymm14, %ymm14, %ymm14
  508. # 0 "" 2
  509. # 88 "main.c" 1
  510.     vmulpd %ymm15, %ymm15, %ymm15
  511. # 0 "" 2
  512. # 89 "main.c" 1
  513.     vmulpd %ymm0, %ymm0, %ymm0
  514. # 0 "" 2
  515. # 89 "main.c" 1
  516.     vmulpd %ymm1, %ymm1, %ymm1
  517. # 0 "" 2
  518. # 89 "main.c" 1
  519.     vmulpd %ymm2, %ymm2, %ymm2
  520. # 0 "" 2
  521. # 89 "main.c" 1
  522.     vmulpd %ymm3, %ymm3, %ymm3
  523. # 0 "" 2
  524. # 89 "main.c" 1
  525.     vmulpd %ymm4, %ymm4, %ymm4
  526. # 0 "" 2
  527. # 89 "main.c" 1
  528.     vmulpd %ymm5, %ymm5, %ymm5
  529. # 0 "" 2
  530. # 89 "main.c" 1
  531.     vmulpd %ymm6, %ymm6, %ymm6
  532. # 0 "" 2
  533. # 89 "main.c" 1
  534.     vmulpd %ymm7, %ymm7, %ymm7
  535. # 0 "" 2
  536. # 89 "main.c" 1
  537.     vmulpd %ymm8, %ymm8, %ymm8
  538. # 0 "" 2
  539. # 89 "main.c" 1
  540.     vmulpd %ymm9, %ymm9, %ymm9
  541. # 0 "" 2
  542. # 89 "main.c" 1
  543.     vmulpd %ymm10, %ymm10, %ymm10
  544. # 0 "" 2
  545. # 89 "main.c" 1
  546.     vmulpd %ymm11, %ymm11, %ymm11
  547. # 0 "" 2
  548. # 89 "main.c" 1
  549.     vmulpd %ymm12, %ymm12, %ymm12
  550. # 0 "" 2
  551. # 89 "main.c" 1
  552.     vmulpd %ymm13, %ymm13, %ymm13
  553. # 0 "" 2
  554. # 89 "main.c" 1
  555.     vmulpd %ymm14, %ymm14, %ymm14
  556. # 0 "" 2
  557. # 89 "main.c" 1
  558.     vmulpd %ymm15, %ymm15, %ymm15
  559. # 0 "" 2
  560. # 90 "main.c" 1
  561.     vmulpd %ymm0, %ymm0, %ymm0
  562. # 0 "" 2
  563. # 90 "main.c" 1
  564.     vmulpd %ymm1, %ymm1, %ymm1
  565. # 0 "" 2
  566. # 90 "main.c" 1
  567.     vmulpd %ymm2, %ymm2, %ymm2
  568. # 0 "" 2
  569. # 90 "main.c" 1
  570.     vmulpd %ymm3, %ymm3, %ymm3
  571. # 0 "" 2
  572. # 90 "main.c" 1
  573.     vmulpd %ymm4, %ymm4, %ymm4
  574. # 0 "" 2
  575. # 90 "main.c" 1
  576.     vmulpd %ymm5, %ymm5, %ymm5
  577. # 0 "" 2
  578. # 90 "main.c" 1
  579.     vmulpd %ymm6, %ymm6, %ymm6
  580. # 0 "" 2
  581. # 90 "main.c" 1
  582.     vmulpd %ymm7, %ymm7, %ymm7
  583. # 0 "" 2
  584. # 90 "main.c" 1
  585.     vmulpd %ymm8, %ymm8, %ymm8
  586. # 0 "" 2
  587. # 90 "main.c" 1
  588.     vmulpd %ymm9, %ymm9, %ymm9
  589. # 0 "" 2
  590. # 90 "main.c" 1
  591.     vmulpd %ymm10, %ymm10, %ymm10
  592. # 0 "" 2
  593. # 90 "main.c" 1
  594.     vmulpd %ymm11, %ymm11, %ymm11
  595. # 0 "" 2
  596. # 90 "main.c" 1
  597.     vmulpd %ymm12, %ymm12, %ymm12
  598. # 0 "" 2
  599. # 90 "main.c" 1
  600.     vmulpd %ymm13, %ymm13, %ymm13
  601. # 0 "" 2
  602. # 90 "main.c" 1
  603.     vmulpd %ymm14, %ymm14, %ymm14
  604. # 0 "" 2
  605. # 90 "main.c" 1
  606.     vmulpd %ymm15, %ymm15, %ymm15
  607. # 0 "" 2
  608. # 91 "main.c" 1
  609.     vmulpd %ymm0, %ymm0, %ymm0
  610. # 0 "" 2
  611. # 91 "main.c" 1
  612.     vmulpd %ymm1, %ymm1, %ymm1
  613. # 0 "" 2
  614. # 91 "main.c" 1
  615.     vmulpd %ymm2, %ymm2, %ymm2
  616. # 0 "" 2
  617. # 91 "main.c" 1
  618.     vmulpd %ymm3, %ymm3, %ymm3
  619. # 0 "" 2
  620. # 91 "main.c" 1
  621.     vmulpd %ymm4, %ymm4, %ymm4
  622. # 0 "" 2
  623. # 91 "main.c" 1
  624.     vmulpd %ymm5, %ymm5, %ymm5
  625. # 0 "" 2
  626. # 91 "main.c" 1
  627.     vmulpd %ymm6, %ymm6, %ymm6
  628. # 0 "" 2
  629. # 91 "main.c" 1
  630.     vmulpd %ymm7, %ymm7, %ymm7
  631. # 0 "" 2
  632. # 91 "main.c" 1
  633.     vmulpd %ymm8, %ymm8, %ymm8
  634. # 0 "" 2
  635. # 91 "main.c" 1
  636.     vmulpd %ymm9, %ymm9, %ymm9
  637. # 0 "" 2
  638. # 91 "main.c" 1
  639.     vmulpd %ymm10, %ymm10, %ymm10
  640. # 0 "" 2
  641. # 91 "main.c" 1
  642.     vmulpd %ymm11, %ymm11, %ymm11
  643. # 0 "" 2
  644. # 91 "main.c" 1
  645.     vmulpd %ymm12, %ymm12, %ymm12
  646. # 0 "" 2
  647. # 91 "main.c" 1
  648.     vmulpd %ymm13, %ymm13, %ymm13
  649. # 0 "" 2
  650. # 91 "main.c" 1
  651.     vmulpd %ymm14, %ymm14, %ymm14
  652. # 0 "" 2
  653. # 91 "main.c" 1
  654.     vmulpd %ymm15, %ymm15, %ymm15
  655. # 0 "" 2
  656. # 92 "main.c" 1
  657.     vmulpd %ymm0, %ymm0, %ymm0
  658. # 0 "" 2
  659. # 92 "main.c" 1
  660.     vmulpd %ymm1, %ymm1, %ymm1
  661. # 0 "" 2
  662. # 92 "main.c" 1
  663.     vmulpd %ymm2, %ymm2, %ymm2
  664. # 0 "" 2
  665. # 92 "main.c" 1
  666.     vmulpd %ymm3, %ymm3, %ymm3
  667. # 0 "" 2
  668. # 92 "main.c" 1
  669.     vmulpd %ymm4, %ymm4, %ymm4
  670. # 0 "" 2
  671. # 92 "main.c" 1
  672.     vmulpd %ymm5, %ymm5, %ymm5
  673. # 0 "" 2
  674. # 92 "main.c" 1
  675.     vmulpd %ymm6, %ymm6, %ymm6
  676. # 0 "" 2
  677. # 92 "main.c" 1
  678.     vmulpd %ymm7, %ymm7, %ymm7
  679. # 0 "" 2
  680. # 92 "main.c" 1
  681.     vmulpd %ymm8, %ymm8, %ymm8
  682. # 0 "" 2
  683. # 92 "main.c" 1
  684.     vmulpd %ymm9, %ymm9, %ymm9
  685. # 0 "" 2
  686. # 92 "main.c" 1
  687.     vmulpd %ymm10, %ymm10, %ymm10
  688. # 0 "" 2
  689. # 92 "main.c" 1
  690.     vmulpd %ymm11, %ymm11, %ymm11
  691. # 0 "" 2
  692. # 92 "main.c" 1
  693.     vmulpd %ymm12, %ymm12, %ymm12
  694. # 0 "" 2
  695. # 92 "main.c" 1
  696.     vmulpd %ymm13, %ymm13, %ymm13
  697. # 0 "" 2
  698. # 92 "main.c" 1
  699.     vmulpd %ymm14, %ymm14, %ymm14
  700. # 0 "" 2
  701. # 92 "main.c" 1
  702.     vmulpd %ymm15, %ymm15, %ymm15
  703. # 0 "" 2
  704. # 93 "main.c" 1
  705.     vmulpd %ymm0, %ymm0, %ymm0
  706. # 0 "" 2
  707. # 93 "main.c" 1
  708.     vmulpd %ymm1, %ymm1, %ymm1
  709. # 0 "" 2
  710. # 93 "main.c" 1
  711.     vmulpd %ymm2, %ymm2, %ymm2
  712. # 0 "" 2
  713. # 93 "main.c" 1
  714.     vmulpd %ymm3, %ymm3, %ymm3
  715. # 0 "" 2
  716. # 93 "main.c" 1
  717.     vmulpd %ymm4, %ymm4, %ymm4
  718. # 0 "" 2
  719. # 93 "main.c" 1
  720.     vmulpd %ymm5, %ymm5, %ymm5
  721. # 0 "" 2
  722. # 93 "main.c" 1
  723.     vmulpd %ymm6, %ymm6, %ymm6
  724. # 0 "" 2
  725. # 93 "main.c" 1
  726.     vmulpd %ymm7, %ymm7, %ymm7
  727. # 0 "" 2
  728. # 93 "main.c" 1
  729.     vmulpd %ymm8, %ymm8, %ymm8
  730. # 0 "" 2
  731. # 93 "main.c" 1
  732.     vmulpd %ymm9, %ymm9, %ymm9
  733. # 0 "" 2
  734. # 93 "main.c" 1
  735.     vmulpd %ymm10, %ymm10, %ymm10
  736. # 0 "" 2
  737. # 93 "main.c" 1
  738.     vmulpd %ymm11, %ymm11, %ymm11
  739. # 0 "" 2
  740. # 93 "main.c" 1
  741.     vmulpd %ymm12, %ymm12, %ymm12
  742. # 0 "" 2
  743. # 93 "main.c" 1
  744.     vmulpd %ymm13, %ymm13, %ymm13
  745. # 0 "" 2
  746. # 93 "main.c" 1
  747.     vmulpd %ymm14, %ymm14, %ymm14
  748. # 0 "" 2
  749. # 93 "main.c" 1
  750.     vmulpd %ymm15, %ymm15, %ymm15
  751. # 0 "" 2
  752. # 94 "main.c" 1
  753.     vmulpd %ymm0, %ymm0, %ymm0
  754. # 0 "" 2
  755. # 94 "main.c" 1
  756.     vmulpd %ymm1, %ymm1, %ymm1
  757. # 0 "" 2
  758. # 94 "main.c" 1
  759.     vmulpd %ymm2, %ymm2, %ymm2
  760. # 0 "" 2
  761. # 94 "main.c" 1
  762.     vmulpd %ymm3, %ymm3, %ymm3
  763. # 0 "" 2
  764. # 94 "main.c" 1
  765.     vmulpd %ymm4, %ymm4, %ymm4
  766. # 0 "" 2
  767. # 94 "main.c" 1
  768.     vmulpd %ymm5, %ymm5, %ymm5
  769. # 0 "" 2
  770. # 94 "main.c" 1
  771.     vmulpd %ymm6, %ymm6, %ymm6
  772. # 0 "" 2
  773. # 94 "main.c" 1
  774.     vmulpd %ymm7, %ymm7, %ymm7
  775. # 0 "" 2
  776. # 94 "main.c" 1
  777.     vmulpd %ymm8, %ymm8, %ymm8
  778. # 0 "" 2
  779. # 94 "main.c" 1
  780.     vmulpd %ymm9, %ymm9, %ymm9
  781. # 0 "" 2
  782. # 94 "main.c" 1
  783.     vmulpd %ymm10, %ymm10, %ymm10
  784. # 0 "" 2
  785. # 94 "main.c" 1
  786.     vmulpd %ymm11, %ymm11, %ymm11
  787. # 0 "" 2
  788. # 94 "main.c" 1
  789.     vmulpd %ymm12, %ymm12, %ymm12
  790. # 0 "" 2
  791. # 94 "main.c" 1
  792.     vmulpd %ymm13, %ymm13, %ymm13
  793. # 0 "" 2
  794. # 94 "main.c" 1
  795.     vmulpd %ymm14, %ymm14, %ymm14
  796. # 0 "" 2
  797. # 94 "main.c" 1
  798.     vmulpd %ymm15, %ymm15, %ymm15
  799. # 0 "" 2
  800. # 95 "main.c" 1
  801.     vmulpd %ymm0, %ymm0, %ymm0
  802. # 0 "" 2
  803. # 95 "main.c" 1
  804.     vmulpd %ymm1, %ymm1, %ymm1
  805. # 0 "" 2
  806. # 95 "main.c" 1
  807.     vmulpd %ymm2, %ymm2, %ymm2
  808. # 0 "" 2
  809. # 95 "main.c" 1
  810.     vmulpd %ymm3, %ymm3, %ymm3
  811. # 0 "" 2
  812. # 95 "main.c" 1
  813.     vmulpd %ymm4, %ymm4, %ymm4
  814. # 0 "" 2
  815. # 95 "main.c" 1
  816.     vmulpd %ymm5, %ymm5, %ymm5
  817. # 0 "" 2
  818. # 95 "main.c" 1
  819.     vmulpd %ymm6, %ymm6, %ymm6
  820. # 0 "" 2
  821. # 95 "main.c" 1
  822.     vmulpd %ymm7, %ymm7, %ymm7
  823. # 0 "" 2
  824. # 95 "main.c" 1
  825.     vmulpd %ymm8, %ymm8, %ymm8
  826. # 0 "" 2
  827. # 95 "main.c" 1
  828.     vmulpd %ymm9, %ymm9, %ymm9
  829. # 0 "" 2
  830. # 95 "main.c" 1
  831.     vmulpd %ymm10, %ymm10, %ymm10
  832. # 0 "" 2
  833. # 95 "main.c" 1
  834.     vmulpd %ymm11, %ymm11, %ymm11
  835. # 0 "" 2
  836. # 95 "main.c" 1
  837.     vmulpd %ymm12, %ymm12, %ymm12
  838. # 0 "" 2
  839. # 95 "main.c" 1
  840.     vmulpd %ymm13, %ymm13, %ymm13
  841. # 0 "" 2
  842. # 95 "main.c" 1
  843.     vmulpd %ymm14, %ymm14, %ymm14
  844. # 0 "" 2
  845. # 95 "main.c" 1
  846.     vmulpd %ymm15, %ymm15, %ymm15
  847. # 0 "" 2
  848. # 96 "main.c" 1
  849.     vmulpd %ymm0, %ymm0, %ymm0
  850. # 0 "" 2
  851. # 96 "main.c" 1
  852.     vmulpd %ymm1, %ymm1, %ymm1
  853. # 0 "" 2
  854. # 96 "main.c" 1
  855.     vmulpd %ymm2, %ymm2, %ymm2
  856. # 0 "" 2
  857. # 96 "main.c" 1
  858.     vmulpd %ymm3, %ymm3, %ymm3
  859. # 0 "" 2
  860. # 96 "main.c" 1
  861.     vmulpd %ymm4, %ymm4, %ymm4
  862. # 0 "" 2
  863. # 96 "main.c" 1
  864.     vmulpd %ymm5, %ymm5, %ymm5
  865. # 0 "" 2
  866. # 96 "main.c" 1
  867.     vmulpd %ymm6, %ymm6, %ymm6
  868. # 0 "" 2
  869. # 96 "main.c" 1
  870.     vmulpd %ymm7, %ymm7, %ymm7
  871. # 0 "" 2
  872. # 96 "main.c" 1
  873.     vmulpd %ymm8, %ymm8, %ymm8
  874. # 0 "" 2
  875. # 96 "main.c" 1
  876.     vmulpd %ymm9, %ymm9, %ymm9
  877. # 0 "" 2
  878. # 96 "main.c" 1
  879.     vmulpd %ymm10, %ymm10, %ymm10
  880. # 0 "" 2
  881. # 96 "main.c" 1
  882.     vmulpd %ymm11, %ymm11, %ymm11
  883. # 0 "" 2
  884. # 96 "main.c" 1
  885.     vmulpd %ymm12, %ymm12, %ymm12
  886. # 0 "" 2
  887. # 96 "main.c" 1
  888.     vmulpd %ymm13, %ymm13, %ymm13
  889. # 0 "" 2
  890. # 96 "main.c" 1
  891.     vmulpd %ymm14, %ymm14, %ymm14
  892. # 0 "" 2
  893. # 96 "main.c" 1
  894.     vmulpd %ymm15, %ymm15, %ymm15
  895. # 0 "" 2
  896. #NO_APP
  897.     subl    $1, %eax
  898.     jne .L6
  899. #APP
  900. # 99 "main.c" 1
  901.     rdtsc
  902.  
  903. # 0 "" 2
  904. #NO_APP
  905.     salq    $32, %rcx
  906.     salq    $32, %rdx
  907.     orq %rdx, %rax
  908.     orq %rsi, %rcx
  909.     subq    %rcx, %rax
  910.     js  .L7
  911.     vxorpd  %xmm1, %xmm1, %xmm1
  912.     vcvtsi2sdq  %rax, %xmm1, %xmm1
  913. .L8:
  914.     vmovapd %xmm1, %xmm0
  915.     leaq    .LC3(%rip), %rdi
  916.     movl    $1, %eax
  917.     vmovsd  %xmm1, 8(%rsp)
  918.     call    printf@PLT
  919.     vmovsd  8(%rsp), %xmm1
  920.     leaq    .LC5(%rip), %rdi
  921.     movl    $1, %eax
  922.     vmulsd  .LC4(%rip), %xmm1, %xmm0
  923.     call    printf@PLT
  924.     xorl    %edi, %edi
  925.     call    exit@PLT
  926.     .p2align 4,,10
  927.     .p2align 3
  928. .L4:
  929.     movq    %rax, %rdx
  930.     vxorpd  %xmm1, %xmm1, %xmm1
  931.     shrq    %rdx
  932.     andl    $1, %eax
  933.     orq %rax, %rdx
  934.     vcvtsi2sdq  %rdx, %xmm1, %xmm1
  935.     vaddsd  %xmm1, %xmm1, %xmm1
  936.     jmp .L5
  937. .L7:
  938.     movq    %rax, %rdx
  939.     vxorpd  %xmm1, %xmm1, %xmm1
  940.     shrq    %rdx
  941.     andl    $1, %eax
  942.     orq %rax, %rdx
  943.     vcvtsi2sdq  %rdx, %xmm1, %xmm1
  944.     vaddsd  %xmm1, %xmm1, %xmm1
  945.     jmp .L8
  946.     .cfi_endproc
  947. .LFE21:
  948.     .size   main, .-main
  949.     .section    .rodata.cst8,"aM",@progbits,8
  950.     .align 8
  951. .LC1:
  952.     .long   3894859413
  953.     .long   1041313291
  954.     .align 8
  955. .LC4:
  956.     .long   3761490118
  957.     .long   1040640015
  958.     .ident  "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516"
  959.     .section    .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement