pixel.asm
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:19k
源码类别:

Audio

开发平台:

Visual C++

  1. /*****************************************************************************
  2.  * pixel.asm: h264 encoder library
  3.  *****************************************************************************
  4.  * Copyright (C) 2005 x264 project
  5.  * $Id: $
  6.  *
  7.  * Authors: Phil Jensen <philj@csufresno.edu>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  22.  *****************************************************************************/
  23. ! VIS optimized SAD for UltraSPARC
  24. .text
  25. .global x264_pixel_sad_8x8_vis
  26. x264_pixel_sad_8x8_vis:
  27. save %sp, -120, %sp
  28. fzero %f12
  29. alignaddr %i0, %g0, %l0
  30. ldd [%l0], %f0
  31. ldd [%l0+8], %f2
  32. faligndata %f0, %f2, %f4
  33. alignaddr %i2, %g0, %l2
  34. ldd [%l2], %f6
  35. ldd [%l2+8], %f8
  36. faligndata %f6, %f8, %f10
  37. add %i0, %i1, %i0
  38. add %i2, %i3, %i2
  39. pdist %f4, %f10, %f12
  40. alignaddr %i0, %g0, %l0
  41. ldd [%l0], %f0
  42. ldd [%l0+8], %f2
  43. faligndata %f0, %f2, %f4
  44. alignaddr %i2, %g0, %l2
  45. ldd [%l2], %f6
  46. ldd [%l2+8], %f8
  47. faligndata %f6, %f8, %f10
  48. add %i0, %i1, %i0
  49. add %i2, %i3, %i2
  50. pdist %f4, %f10, %f12
  51. alignaddr %i0, %g0, %l0
  52. ldd [%l0], %f0
  53. ldd [%l0+8], %f2
  54. faligndata %f0, %f2, %f4
  55. alignaddr %i2, %g0, %l2
  56. ldd [%l2], %f6
  57. ldd [%l2+8], %f8
  58. faligndata %f6, %f8, %f10
  59. add %i0, %i1, %i0
  60. add %i2, %i3, %i2
  61. pdist %f4, %f10, %f12
  62. alignaddr %i0, %g0, %l0
  63. ldd [%l0], %f0
  64. ldd [%l0+8], %f2
  65. faligndata %f0, %f2, %f4
  66. alignaddr %i2, %g0, %l2
  67. ldd [%l2], %f6
  68. ldd [%l2+8], %f8
  69. faligndata %f6, %f8, %f10
  70. add %i0, %i1, %i0
  71. add %i2, %i3, %i2
  72. pdist %f4, %f10, %f12
  73. alignaddr %i0, %g0, %l0
  74. ldd [%l0], %f0
  75. ldd [%l0+8], %f2
  76. faligndata %f0, %f2, %f4
  77. alignaddr %i2, %g0, %l2
  78. ldd [%l2], %f6
  79. ldd [%l2+8], %f8
  80. faligndata %f6, %f8, %f10
  81. add %i0, %i1, %i0
  82. add %i2, %i3, %i2
  83. pdist %f4, %f10, %f12
  84. alignaddr %i0, %g0, %l0
  85. ldd [%l0], %f0
  86. ldd [%l0+8], %f2
  87. faligndata %f0, %f2, %f4
  88. alignaddr %i2, %g0, %l2
  89. ldd [%l2], %f6
  90. ldd [%l2+8], %f8
  91. faligndata %f6, %f8, %f10
  92. add %i0, %i1, %i0
  93. add %i2, %i3, %i2
  94. pdist %f4, %f10, %f12
  95. alignaddr %i0, %g0, %l0
  96. ldd [%l0], %f0
  97. ldd [%l0+8], %f2
  98. faligndata %f0, %f2, %f4
  99. alignaddr %i2, %g0, %l2
  100. ldd [%l2], %f6
  101. ldd [%l2+8], %f8
  102. faligndata %f6, %f8, %f10
  103. add %i0, %i1, %i0
  104. add %i2, %i3, %i2
  105. pdist %f4, %f10, %f12
  106. alignaddr %i0, %g0, %l0
  107. ldd [%l0], %f0
  108. ldd [%l0+8], %f2
  109. faligndata %f0, %f2, %f4
  110. alignaddr %i2, %g0, %l2
  111. ldd [%l2], %f6
  112. ldd [%l2+8], %f8
  113. faligndata %f6, %f8, %f10
  114. add %i0, %i1, %i0
  115. add %i2, %i3, %i2
  116. pdist %f4, %f10, %f12
  117. std %f12, [%fp-24]
  118. ld [%fp-20], %i0
  119. ret
  120. restore
  121. .global x264_pixel_sad_8x16_vis
  122. x264_pixel_sad_8x16_vis:
  123. save %sp, -120, %sp
  124. fzero %f12
  125. alignaddr %i0, %g0, %l0
  126. ldd [%l0], %f0
  127. ldd [%l0+8], %f2
  128. faligndata %f0, %f2, %f4
  129. alignaddr %i2, %g0, %l2
  130. ldd [%l2], %f6
  131. ldd [%l2+8], %f8
  132. faligndata %f6, %f8, %f10
  133. add %i0, %i1, %i0
  134. add %i2, %i3, %i2
  135. pdist %f4, %f10, %f12
  136. alignaddr %i0, %g0, %l0
  137. ldd [%l0], %f0
  138. ldd [%l0+8], %f2
  139. faligndata %f0, %f2, %f4
  140. alignaddr %i2, %g0, %l2
  141. ldd [%l2], %f6
  142. ldd [%l2+8], %f8
  143. faligndata %f6, %f8, %f10
  144. add %i0, %i1, %i0
  145. add %i2, %i3, %i2
  146. pdist %f4, %f10, %f12
  147. alignaddr %i0, %g0, %l0
  148. ldd [%l0], %f0
  149. ldd [%l0+8], %f2
  150. faligndata %f0, %f2, %f4
  151. alignaddr %i2, %g0, %l2
  152. ldd [%l2], %f6
  153. ldd [%l2+8], %f8
  154. faligndata %f6, %f8, %f10
  155. add %i0, %i1, %i0
  156. add %i2, %i3, %i2
  157. pdist %f4, %f10, %f12
  158. alignaddr %i0, %g0, %l0
  159. ldd [%l0], %f0
  160. ldd [%l0+8], %f2
  161. faligndata %f0, %f2, %f4
  162. alignaddr %i2, %g0, %l2
  163. ldd [%l2], %f6
  164. ldd [%l2+8], %f8
  165. faligndata %f6, %f8, %f10
  166. add %i0, %i1, %i0
  167. add %i2, %i3, %i2
  168. pdist %f4, %f10, %f12
  169. alignaddr %i0, %g0, %l0
  170. ldd [%l0], %f0
  171. ldd [%l0+8], %f2
  172. faligndata %f0, %f2, %f4
  173. alignaddr %i2, %g0, %l2
  174. ldd [%l2], %f6
  175. ldd [%l2+8], %f8
  176. faligndata %f6, %f8, %f10
  177. add %i0, %i1, %i0
  178. add %i2, %i3, %i2
  179. pdist %f4, %f10, %f12
  180. alignaddr %i0, %g0, %l0
  181. ldd [%l0], %f0
  182. ldd [%l0+8], %f2
  183. faligndata %f0, %f2, %f4
  184. alignaddr %i2, %g0, %l2
  185. ldd [%l2], %f6
  186. ldd [%l2+8], %f8
  187. faligndata %f6, %f8, %f10
  188. add %i0, %i1, %i0
  189. add %i2, %i3, %i2
  190. pdist %f4, %f10, %f12
  191. alignaddr %i0, %g0, %l0
  192. ldd [%l0], %f0
  193. ldd [%l0+8], %f2
  194. faligndata %f0, %f2, %f4
  195. alignaddr %i2, %g0, %l2
  196. ldd [%l2], %f6
  197. ldd [%l2+8], %f8
  198. faligndata %f6, %f8, %f10
  199. add %i0, %i1, %i0
  200. add %i2, %i3, %i2
  201. pdist %f4, %f10, %f12
  202. alignaddr %i0, %g0, %l0
  203. ldd [%l0], %f0
  204. ldd [%l0+8], %f2
  205. faligndata %f0, %f2, %f4
  206. alignaddr %i2, %g0, %l2
  207. ldd [%l2], %f6
  208. ldd [%l2+8], %f8
  209. faligndata %f6, %f8, %f10
  210. add %i0, %i1, %i0
  211. add %i2, %i3, %i2
  212. pdist %f4, %f10, %f12
  213. alignaddr %i0, %g0, %l0
  214. ldd [%l0], %f0
  215. ldd [%l0+8], %f2
  216. faligndata %f0, %f2, %f4
  217. alignaddr %i2, %g0, %l2
  218. ldd [%l2], %f6
  219. ldd [%l2+8], %f8
  220. faligndata %f6, %f8, %f10
  221. add %i0, %i1, %i0
  222. add %i2, %i3, %i2
  223. pdist %f4, %f10, %f12
  224. alignaddr %i0, %g0, %l0
  225. ldd [%l0], %f0
  226. ldd [%l0+8], %f2
  227. faligndata %f0, %f2, %f4
  228. alignaddr %i2, %g0, %l2
  229. ldd [%l2], %f6
  230. ldd [%l2+8], %f8
  231. faligndata %f6, %f8, %f10
  232. add %i0, %i1, %i0
  233. add %i2, %i3, %i2
  234. pdist %f4, %f10, %f12
  235. alignaddr %i0, %g0, %l0
  236. ldd [%l0], %f0
  237. ldd [%l0+8], %f2
  238. faligndata %f0, %f2, %f4
  239. alignaddr %i2, %g0, %l2
  240. ldd [%l2], %f6
  241. ldd [%l2+8], %f8
  242. faligndata %f6, %f8, %f10
  243. add %i0, %i1, %i0
  244. add %i2, %i3, %i2
  245. pdist %f4, %f10, %f12
  246. alignaddr %i0, %g0, %l0
  247. ldd [%l0], %f0
  248. ldd [%l0+8], %f2
  249. faligndata %f0, %f2, %f4
  250. alignaddr %i2, %g0, %l2
  251. ldd [%l2], %f6
  252. ldd [%l2+8], %f8
  253. faligndata %f6, %f8, %f10
  254. add %i0, %i1, %i0
  255. add %i2, %i3, %i2
  256. pdist %f4, %f10, %f12
  257. alignaddr %i0, %g0, %l0
  258. ldd [%l0], %f0
  259. ldd [%l0+8], %f2
  260. faligndata %f0, %f2, %f4
  261. alignaddr %i2, %g0, %l2
  262. ldd [%l2], %f6
  263. ldd [%l2+8], %f8
  264. faligndata %f6, %f8, %f10
  265. add %i0, %i1, %i0
  266. add %i2, %i3, %i2
  267. pdist %f4, %f10, %f12
  268. alignaddr %i0, %g0, %l0
  269. ldd [%l0], %f0
  270. ldd [%l0+8], %f2
  271. faligndata %f0, %f2, %f4
  272. alignaddr %i2, %g0, %l2
  273. ldd [%l2], %f6
  274. ldd [%l2+8], %f8
  275. faligndata %f6, %f8, %f10
  276. add %i0, %i1, %i0
  277. add %i2, %i3, %i2
  278. pdist %f4, %f10, %f12
  279. alignaddr %i0, %g0, %l0
  280. ldd [%l0], %f0
  281. ldd [%l0+8], %f2
  282. faligndata %f0, %f2, %f4
  283. alignaddr %i2, %g0, %l2
  284. ldd [%l2], %f6
  285. ldd [%l2+8], %f8
  286. faligndata %f6, %f8, %f10
  287. add %i0, %i1, %i0
  288. add %i2, %i3, %i2
  289. pdist %f4, %f10, %f12
  290. alignaddr %i0, %g0, %l0
  291. ldd [%l0], %f0
  292. ldd [%l0+8], %f2
  293. faligndata %f0, %f2, %f4
  294. alignaddr %i2, %g0, %l2
  295. ldd [%l2], %f6
  296. ldd [%l2+8], %f8
  297. faligndata %f6, %f8, %f10
  298. add %i0, %i1, %i0
  299. add %i2, %i3, %i2
  300. pdist %f4, %f10, %f12
  301. std %f12, [%fp-24]
  302. ld [%fp-20], %i0
  303. ret
  304. restore
  305. .global x264_pixel_sad_16x8_vis
  306. x264_pixel_sad_16x8_vis:
  307. save %sp, -120, %sp
  308. fzero %f12 ! zero out the accumulator used for pdist
  309. sub %i1, 8, %i1 ! reduce stride by 8, since we are moving forward 8 each block
  310. sub %i3, 8, %i3 ! same here, reduce stride by 8
  311. alignaddr %i0, %g0, %l0
  312. ldd [%l0], %f0
  313. ldd [%l0+8], %f2
  314. faligndata %f0, %f2, %f4
  315. alignaddr %i2, %g0, %l2
  316. ldd [%l2], %f6
  317. ldd [%l2+8], %f8
  318. faligndata %f6, %f8, %f10
  319. add %i0, 8, %i0
  320. add %i2, 8, %i2
  321. pdist %f4, %f10, %f12
  322. alignaddr %i0, %g0, %l0
  323. ldd [%l0], %f0
  324. ldd [%l0+8], %f2
  325. faligndata %f0, %f2, %f4
  326. alignaddr %i2, %g0, %l2
  327. ldd [%l2], %f6
  328. ldd [%l2+8], %f8
  329. faligndata %f6, %f8, %f10
  330. add %i0, %i1, %i0
  331.         add %i2, %i3, %i2
  332. pdist %f4, %f10, %f12
  333. alignaddr %i0, %g0, %l0
  334. ldd [%l0], %f0
  335. ldd [%l0+8], %f2
  336. faligndata %f0, %f2, %f4
  337. alignaddr %i2, %g0, %l2
  338. ldd [%l2], %f6
  339. ldd [%l2+8], %f8
  340. faligndata %f6, %f8, %f10
  341. add %i0, 8, %i0
  342. add %i2, 8, %i2
  343. pdist %f4, %f10, %f12
  344. alignaddr %i0, %g0, %l0
  345. ldd [%l0], %f0
  346. ldd [%l0+8], %f2
  347. faligndata %f0, %f2, %f4
  348. alignaddr %i2, %g0, %l2
  349. ldd [%l2], %f6
  350. ldd [%l2+8], %f8
  351. faligndata %f6, %f8, %f10
  352. add %i0, %i1, %i0
  353.         add %i2, %i3, %i2
  354. pdist %f4, %f10, %f12
  355. alignaddr %i0, %g0, %l0
  356. ldd [%l0], %f0
  357. ldd [%l0+8], %f2
  358. faligndata %f0, %f2, %f4
  359. alignaddr %i2, %g0, %l2
  360. ldd [%l2], %f6
  361. ldd [%l2+8], %f8
  362. faligndata %f6, %f8, %f10
  363. add %i0, 8, %i0
  364. add %i2, 8, %i2
  365. pdist %f4, %f10, %f12
  366. alignaddr %i0, %g0, %l0
  367. ldd [%l0], %f0
  368. ldd [%l0+8], %f2
  369. faligndata %f0, %f2, %f4
  370. alignaddr %i2, %g0, %l2
  371. ldd [%l2], %f6
  372. ldd [%l2+8], %f8
  373. faligndata %f6, %f8, %f10
  374. add %i0, %i1, %i0
  375.         add %i2, %i3, %i2
  376. pdist %f4, %f10, %f12
  377. alignaddr %i0, %g0, %l0
  378. ldd [%l0], %f0
  379. ldd [%l0+8], %f2
  380. faligndata %f0, %f2, %f4
  381. alignaddr %i2, %g0, %l2
  382. ldd [%l2], %f6
  383. ldd [%l2+8], %f8
  384. faligndata %f6, %f8, %f10
  385. add %i0, 8, %i0
  386. add %i2, 8, %i2
  387. pdist %f4, %f10, %f12
  388. alignaddr %i0, %g0, %l0
  389. ldd [%l0], %f0
  390. ldd [%l0+8], %f2
  391. faligndata %f0, %f2, %f4
  392. alignaddr %i2, %g0, %l2
  393. ldd [%l2], %f6
  394. ldd [%l2+8], %f8
  395. faligndata %f6, %f8, %f10
  396. add %i0, %i1, %i0
  397.         add %i2, %i3, %i2
  398. pdist %f4, %f10, %f12
  399. alignaddr %i0, %g0, %l0
  400. ldd [%l0], %f0
  401. ldd [%l0+8], %f2
  402. faligndata %f0, %f2, %f4
  403. alignaddr %i2, %g0, %l2
  404. ldd [%l2], %f6
  405. ldd [%l2+8], %f8
  406. faligndata %f6, %f8, %f10
  407. add %i0, 8, %i0
  408. add %i2, 8, %i2
  409. pdist %f4, %f10, %f12
  410. alignaddr %i0, %g0, %l0
  411. ldd [%l0], %f0
  412. ldd [%l0+8], %f2
  413. faligndata %f0, %f2, %f4
  414. alignaddr %i2, %g0, %l2
  415. ldd [%l2], %f6
  416. ldd [%l2+8], %f8
  417. faligndata %f6, %f8, %f10
  418. add %i0, %i1, %i0
  419.         add %i2, %i3, %i2
  420. pdist %f4, %f10, %f12
  421. alignaddr %i0, %g0, %l0
  422. ldd [%l0], %f0
  423. ldd [%l0+8], %f2
  424. faligndata %f0, %f2, %f4
  425. alignaddr %i2, %g0, %l2
  426. ldd [%l2], %f6
  427. ldd [%l2+8], %f8
  428. faligndata %f6, %f8, %f10
  429. add %i0, 8, %i0
  430. add %i2, 8, %i2
  431. pdist %f4, %f10, %f12
  432. alignaddr %i0, %g0, %l0
  433. ldd [%l0], %f0
  434. ldd [%l0+8], %f2
  435. faligndata %f0, %f2, %f4
  436. alignaddr %i2, %g0, %l2
  437. ldd [%l2], %f6
  438. ldd [%l2+8], %f8
  439. faligndata %f6, %f8, %f10
  440. add %i0, %i1, %i0
  441.         add %i2, %i3, %i2
  442. pdist %f4, %f10, %f12
  443. alignaddr %i0, %g0, %l0
  444. ldd [%l0], %f0
  445. ldd [%l0+8], %f2
  446. faligndata %f0, %f2, %f4
  447. alignaddr %i2, %g0, %l2
  448. ldd [%l2], %f6
  449. ldd [%l2+8], %f8
  450. faligndata %f6, %f8, %f10
  451. add %i0, 8, %i0
  452. add %i2, 8, %i2
  453. pdist %f4, %f10, %f12
  454. alignaddr %i0, %g0, %l0
  455. ldd [%l0], %f0
  456. ldd [%l0+8], %f2
  457. faligndata %f0, %f2, %f4
  458. alignaddr %i2, %g0, %l2
  459. ldd [%l2], %f6
  460. ldd [%l2+8], %f8
  461. faligndata %f6, %f8, %f10
  462. add %i0, %i1, %i0
  463.         add %i2, %i3, %i2
  464. pdist %f4, %f10, %f12
  465. alignaddr %i0, %g0, %l0
  466. ldd [%l0], %f0
  467. ldd [%l0+8], %f2
  468. faligndata %f0, %f2, %f4
  469. alignaddr %i2, %g0, %l2
  470. ldd [%l2], %f6
  471. ldd [%l2+8], %f8
  472. faligndata %f6, %f8, %f10
  473. add %i0, 8, %i0
  474. add %i2, 8, %i2
  475. pdist %f4, %f10, %f12
  476. alignaddr %i0, %g0, %l0
  477. ldd [%l0], %f0
  478. ldd [%l0+8], %f2
  479. faligndata %f0, %f2, %f4
  480. alignaddr %i2, %g0, %l2
  481. ldd [%l2], %f6
  482. ldd [%l2+8], %f8
  483. faligndata %f6, %f8, %f10
  484. add %i0, %i1, %i0
  485.         add %i2, %i3, %i2
  486. pdist %f4, %f10, %f12
  487. std %f12, [%fp-24]
  488. ld [%fp-20], %i0
  489. ret
  490. restore
  491. .global x264_pixel_sad_16x16_vis
  492. x264_pixel_sad_16x16_vis:
  493. save %sp, -120, %sp
  494. fzero %f12 ! zero out the accumulator used for pdist
  495. sub %i1, 8, %i1 ! reduce stride by 8, since we are moving forward 8 each block
  496. sub %i3, 8, %i3 ! same here, reduce stride by 8
  497. alignaddr %i0, %g0, %l0
  498. ldd [%l0], %f0
  499. ldd [%l0+8], %f2
  500. faligndata %f0, %f2, %f4
  501. alignaddr %i2, %g0, %l2
  502. ldd [%l2], %f6
  503. ldd [%l2+8], %f8
  504. faligndata %f6, %f8, %f10
  505. add %i0, 8, %i0
  506. add %i2, 8, %i2
  507. pdist %f4, %f10, %f12
  508. alignaddr %i0, %g0, %l0
  509. ldd [%l0], %f0
  510. ldd [%l0+8], %f2
  511. faligndata %f0, %f2, %f4
  512. alignaddr %i2, %g0, %l2
  513. ldd [%l2], %f6
  514. ldd [%l2+8], %f8
  515. faligndata %f6, %f8, %f10
  516. add %i0, %i1, %i0
  517.         add %i2, %i3, %i2
  518. pdist %f4, %f10, %f12
  519. alignaddr %i0, %g0, %l0
  520. ldd [%l0], %f0
  521. ldd [%l0+8], %f2
  522. faligndata %f0, %f2, %f4
  523. alignaddr %i2, %g0, %l2
  524. ldd [%l2], %f6
  525. ldd [%l2+8], %f8
  526. faligndata %f6, %f8, %f10
  527. add %i0, 8, %i0
  528. add %i2, 8, %i2
  529. pdist %f4, %f10, %f12
  530. alignaddr %i0, %g0, %l0
  531. ldd [%l0], %f0
  532. ldd [%l0+8], %f2
  533. faligndata %f0, %f2, %f4
  534. alignaddr %i2, %g0, %l2
  535. ldd [%l2], %f6
  536. ldd [%l2+8], %f8
  537. faligndata %f6, %f8, %f10
  538. add %i0, %i1, %i0
  539.         add %i2, %i3, %i2
  540. pdist %f4, %f10, %f12
  541. alignaddr %i0, %g0, %l0
  542. ldd [%l0], %f0
  543. ldd [%l0+8], %f2
  544. faligndata %f0, %f2, %f4
  545. alignaddr %i2, %g0, %l2
  546. ldd [%l2], %f6
  547. ldd [%l2+8], %f8
  548. faligndata %f6, %f8, %f10
  549. add %i0, 8, %i0
  550. add %i2, 8, %i2
  551. pdist %f4, %f10, %f12
  552. alignaddr %i0, %g0, %l0
  553. ldd [%l0], %f0
  554. ldd [%l0+8], %f2
  555. faligndata %f0, %f2, %f4
  556. alignaddr %i2, %g0, %l2
  557. ldd [%l2], %f6
  558. ldd [%l2+8], %f8
  559. faligndata %f6, %f8, %f10
  560. add %i0, %i1, %i0
  561.         add %i2, %i3, %i2
  562. pdist %f4, %f10, %f12
  563. alignaddr %i0, %g0, %l0
  564. ldd [%l0], %f0
  565. ldd [%l0+8], %f2
  566. faligndata %f0, %f2, %f4
  567. alignaddr %i2, %g0, %l2
  568. ldd [%l2], %f6
  569. ldd [%l2+8], %f8
  570. faligndata %f6, %f8, %f10
  571. add %i0, 8, %i0
  572. add %i2, 8, %i2
  573. pdist %f4, %f10, %f12
  574. alignaddr %i0, %g0, %l0
  575. ldd [%l0], %f0
  576. ldd [%l0+8], %f2
  577. faligndata %f0, %f2, %f4
  578. alignaddr %i2, %g0, %l2
  579. ldd [%l2], %f6
  580. ldd [%l2+8], %f8
  581. faligndata %f6, %f8, %f10
  582. add %i0, %i1, %i0
  583.         add %i2, %i3, %i2
  584. pdist %f4, %f10, %f12
  585. alignaddr %i0, %g0, %l0
  586. ldd [%l0], %f0
  587. ldd [%l0+8], %f2
  588. faligndata %f0, %f2, %f4
  589. alignaddr %i2, %g0, %l2
  590. ldd [%l2], %f6
  591. ldd [%l2+8], %f8
  592. faligndata %f6, %f8, %f10
  593. add %i0, 8, %i0
  594. add %i2, 8, %i2
  595. pdist %f4, %f10, %f12
  596. alignaddr %i0, %g0, %l0
  597. ldd [%l0], %f0
  598. ldd [%l0+8], %f2
  599. faligndata %f0, %f2, %f4
  600. alignaddr %i2, %g0, %l2
  601. ldd [%l2], %f6
  602. ldd [%l2+8], %f8
  603. faligndata %f6, %f8, %f10
  604. add %i0, %i1, %i0
  605.         add %i2, %i3, %i2
  606. pdist %f4, %f10, %f12
  607. alignaddr %i0, %g0, %l0
  608. ldd [%l0], %f0
  609. ldd [%l0+8], %f2
  610. faligndata %f0, %f2, %f4
  611. alignaddr %i2, %g0, %l2
  612. ldd [%l2], %f6
  613. ldd [%l2+8], %f8
  614. faligndata %f6, %f8, %f10
  615. add %i0, 8, %i0
  616. add %i2, 8, %i2
  617. pdist %f4, %f10, %f12
  618. alignaddr %i0, %g0, %l0
  619. ldd [%l0], %f0
  620. ldd [%l0+8], %f2
  621. faligndata %f0, %f2, %f4
  622. alignaddr %i2, %g0, %l2
  623. ldd [%l2], %f6
  624. ldd [%l2+8], %f8
  625. faligndata %f6, %f8, %f10
  626. add %i0, %i1, %i0
  627.         add %i2, %i3, %i2
  628. pdist %f4, %f10, %f12
  629. alignaddr %i0, %g0, %l0
  630. ldd [%l0], %f0
  631. ldd [%l0+8], %f2
  632. faligndata %f0, %f2, %f4
  633. alignaddr %i2, %g0, %l2
  634. ldd [%l2], %f6
  635. ldd [%l2+8], %f8
  636. faligndata %f6, %f8, %f10
  637. add %i0, 8, %i0
  638. add %i2, 8, %i2
  639. pdist %f4, %f10, %f12
  640. alignaddr %i0, %g0, %l0
  641. ldd [%l0], %f0
  642. ldd [%l0+8], %f2
  643. faligndata %f0, %f2, %f4
  644. alignaddr %i2, %g0, %l2
  645. ldd [%l2], %f6
  646. ldd [%l2+8], %f8
  647. faligndata %f6, %f8, %f10
  648. add %i0, %i1, %i0
  649.         add %i2, %i3, %i2
  650. pdist %f4, %f10, %f12
  651. alignaddr %i0, %g0, %l0
  652. ldd [%l0], %f0
  653. ldd [%l0+8], %f2
  654. faligndata %f0, %f2, %f4
  655. alignaddr %i2, %g0, %l2
  656. ldd [%l2], %f6
  657. ldd [%l2+8], %f8
  658. faligndata %f6, %f8, %f10
  659. add %i0, 8, %i0
  660. add %i2, 8, %i2
  661. pdist %f4, %f10, %f12
  662. alignaddr %i0, %g0, %l0
  663. ldd [%l0], %f0
  664. ldd [%l0+8], %f2
  665. faligndata %f0, %f2, %f4
  666. alignaddr %i2, %g0, %l2
  667. ldd [%l2], %f6
  668. ldd [%l2+8], %f8
  669. faligndata %f6, %f8, %f10
  670. add %i0, %i1, %i0
  671.         add %i2, %i3, %i2
  672. pdist %f4, %f10, %f12
  673. alignaddr %i0, %g0, %l0
  674. ldd [%l0], %f0
  675. ldd [%l0+8], %f2
  676. faligndata %f0, %f2, %f4
  677. alignaddr %i2, %g0, %l2
  678. ldd [%l2], %f6
  679. ldd [%l2+8], %f8
  680. faligndata %f6, %f8, %f10
  681. add %i0, 8, %i0
  682. add %i2, 8, %i2
  683. pdist %f4, %f10, %f12
  684. alignaddr %i0, %g0, %l0
  685. ldd [%l0], %f0
  686. ldd [%l0+8], %f2
  687. faligndata %f0, %f2, %f4
  688. alignaddr %i2, %g0, %l2
  689. ldd [%l2], %f6
  690. ldd [%l2+8], %f8
  691. faligndata %f6, %f8, %f10
  692. add %i0, %i1, %i0
  693.         add %i2, %i3, %i2
  694. pdist %f4, %f10, %f12
  695. alignaddr %i0, %g0, %l0
  696. ldd [%l0], %f0
  697. ldd [%l0+8], %f2
  698. faligndata %f0, %f2, %f4
  699. alignaddr %i2, %g0, %l2
  700. ldd [%l2], %f6
  701. ldd [%l2+8], %f8
  702. faligndata %f6, %f8, %f10
  703. add %i0, 8, %i0
  704. add %i2, 8, %i2
  705. pdist %f4, %f10, %f12
  706. alignaddr %i0, %g0, %l0
  707. ldd [%l0], %f0
  708. ldd [%l0+8], %f2
  709. faligndata %f0, %f2, %f4
  710. alignaddr %i2, %g0, %l2
  711. ldd [%l2], %f6
  712. ldd [%l2+8], %f8
  713. faligndata %f6, %f8, %f10
  714. add %i0, %i1, %i0
  715.         add %i2, %i3, %i2
  716. pdist %f4, %f10, %f12
  717. alignaddr %i0, %g0, %l0
  718. ldd [%l0], %f0
  719. ldd [%l0+8], %f2
  720. faligndata %f0, %f2, %f4
  721. alignaddr %i2, %g0, %l2
  722. ldd [%l2], %f6
  723. ldd [%l2+8], %f8
  724. faligndata %f6, %f8, %f10
  725. add %i0, 8, %i0
  726. add %i2, 8, %i2
  727. pdist %f4, %f10, %f12
  728. alignaddr %i0, %g0, %l0
  729. ldd [%l0], %f0
  730. ldd [%l0+8], %f2
  731. faligndata %f0, %f2, %f4
  732. alignaddr %i2, %g0, %l2
  733. ldd [%l2], %f6
  734. ldd [%l2+8], %f8
  735. faligndata %f6, %f8, %f10
  736. add %i0, %i1, %i0
  737.         add %i2, %i3, %i2
  738. pdist %f4, %f10, %f12
  739. alignaddr %i0, %g0, %l0
  740. ldd [%l0], %f0
  741. ldd [%l0+8], %f2
  742. faligndata %f0, %f2, %f4
  743. alignaddr %i2, %g0, %l2
  744. ldd [%l2], %f6
  745. ldd [%l2+8], %f8
  746. faligndata %f6, %f8, %f10
  747. add %i0, 8, %i0
  748. add %i2, 8, %i2
  749. pdist %f4, %f10, %f12
  750. alignaddr %i0, %g0, %l0
  751. ldd [%l0], %f0
  752. ldd [%l0+8], %f2
  753. faligndata %f0, %f2, %f4
  754. alignaddr %i2, %g0, %l2
  755. ldd [%l2], %f6
  756. ldd [%l2+8], %f8
  757. faligndata %f6, %f8, %f10
  758. add %i0, %i1, %i0
  759.         add %i2, %i3, %i2
  760. pdist %f4, %f10, %f12
  761. alignaddr %i0, %g0, %l0
  762. ldd [%l0], %f0
  763. ldd [%l0+8], %f2
  764. faligndata %f0, %f2, %f4
  765. alignaddr %i2, %g0, %l2
  766. ldd [%l2], %f6
  767. ldd [%l2+8], %f8
  768. faligndata %f6, %f8, %f10
  769. add %i0, 8, %i0
  770. add %i2, 8, %i2
  771. pdist %f4, %f10, %f12
  772. alignaddr %i0, %g0, %l0
  773. ldd [%l0], %f0
  774. ldd [%l0+8], %f2
  775. faligndata %f0, %f2, %f4
  776. alignaddr %i2, %g0, %l2
  777. ldd [%l2], %f6
  778. ldd [%l2+8], %f8
  779. faligndata %f6, %f8, %f10
  780. add %i0, %i1, %i0
  781.         add %i2, %i3, %i2
  782. pdist %f4, %f10, %f12
  783. alignaddr %i0, %g0, %l0
  784. ldd [%l0], %f0
  785. ldd [%l0+8], %f2
  786. faligndata %f0, %f2, %f4
  787. alignaddr %i2, %g0, %l2
  788. ldd [%l2], %f6
  789. ldd [%l2+8], %f8
  790. faligndata %f6, %f8, %f10
  791. add %i0, 8, %i0
  792. add %i2, 8, %i2
  793. pdist %f4, %f10, %f12
  794. alignaddr %i0, %g0, %l0
  795. ldd [%l0], %f0
  796. ldd [%l0+8], %f2
  797. faligndata %f0, %f2, %f4
  798. alignaddr %i2, %g0, %l2
  799. ldd [%l2], %f6
  800. ldd [%l2+8], %f8
  801. faligndata %f6, %f8, %f10
  802. add %i0, %i1, %i0
  803.         add %i2, %i3, %i2
  804. pdist %f4, %f10, %f12
  805. alignaddr %i0, %g0, %l0
  806. ldd [%l0], %f0
  807. ldd [%l0+8], %f2
  808. faligndata %f0, %f2, %f4
  809. alignaddr %i2, %g0, %l2
  810. ldd [%l2], %f6
  811. ldd [%l2+8], %f8
  812. faligndata %f6, %f8, %f10
  813. add %i0, 8, %i0
  814. add %i2, 8, %i2
  815. pdist %f4, %f10, %f12
  816. alignaddr %i0, %g0, %l0
  817. ldd [%l0], %f0
  818. ldd [%l0+8], %f2
  819. faligndata %f0, %f2, %f4
  820. alignaddr %i2, %g0, %l2
  821. ldd [%l2], %f6
  822. ldd [%l2+8], %f8
  823. faligndata %f6, %f8, %f10
  824. add %i0, %i1, %i0
  825.         add %i2, %i3, %i2
  826. pdist %f4, %f10, %f12
  827. alignaddr %i0, %g0, %l0
  828. ldd [%l0], %f0
  829. ldd [%l0+8], %f2
  830. faligndata %f0, %f2, %f4
  831. alignaddr %i2, %g0, %l2
  832. ldd [%l2], %f6
  833. ldd [%l2+8], %f8
  834. faligndata %f6, %f8, %f10
  835. add %i0, 8, %i0
  836. add %i2, 8, %i2
  837. pdist %f4, %f10, %f12
  838. alignaddr %i0, %g0, %l0
  839. ldd [%l0], %f0
  840. ldd [%l0+8], %f2
  841. faligndata %f0, %f2, %f4
  842. alignaddr %i2, %g0, %l2
  843. ldd [%l2], %f6
  844. ldd [%l2+8], %f8
  845. faligndata %f6, %f8, %f10
  846. add %i0, %i1, %i0
  847.         add %i2, %i3, %i2
  848. pdist %f4, %f10, %f12
  849. std %f12, [%fp-24]
  850. ld [%fp-20], %i0
  851. ret
  852. restore