mat_lib.asm
上传用户:csczyc
上传日期:2021-02-19
资源大小:1051k
文件大小:189k
源码类别:

语音压缩

开发平台:

C/C++

  1. ;******************************************************************************
  2. ;* TMS320C6x C/C++ Codegen                                          PC v6.0.8 *
  3. ;* Date/Time created: Sat Jul 04 10:23:13 2009                                *
  4. ;******************************************************************************
  5. .compiler_opts --c64p_l1d_workaround=default --endian=little --hll_source=on --mem_model:code=near --mem_model:data=far_aggregates --silicon_version=6400 --symdebug:dwarf 
  6. ;******************************************************************************
  7. ;* GLOBAL FILE PARAMETERS                                                     *
  8. ;*                                                                            *
  9. ;*   Architecture      : TMS320C64xx                                          *
  10. ;*   Optimization      : Enabled at level 3                                   *
  11. ;*   Optimizing for    : Speed                                                *
  12. ;*                       Based on options: -o3, no -ms                        *
  13. ;*   Endian            : Little                                               *
  14. ;*   Interrupt Thrshld : Disabled                                             *
  15. ;*   Data Access Model : Far Aggregate Data                                   *
  16. ;*   Pipelining        : Enabled                                              *
  17. ;*   Speculate Loads   : Disabled                                             *
  18. ;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
  19. ;*   Debug Info        : DWARF Debug                                          *
  20. ;*                                                                            *
  21. ;******************************************************************************
  22. .asg A15, FP
  23. .asg B14, DP
  24. .asg B15, SP
  25. .global $bss
  26. $C$DW$CU .dwtag  DW_TAG_compile_unit
  27. .dwattr $C$DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated")
  28. .dwattr $C$DW$CU, DW_AT_TI_version(0x01)
  29. $C$DW$1 .dwtag  DW_TAG_subprogram, DW_AT_name("_sadd")
  30. .dwattr $C$DW$1, DW_AT_TI_symbol_name("__sadd")
  31. .dwattr $C$DW$1, DW_AT_type(*$C$DW$T$10)
  32. .dwattr $C$DW$1, DW_AT_declaration
  33. .dwattr $C$DW$1, DW_AT_external
  34. $C$DW$2 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  35. $C$DW$3 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  36. .dwendtag $C$DW$1
  37. $C$DW$4 .dwtag  DW_TAG_subprogram, DW_AT_name("_sshl")
  38. .dwattr $C$DW$4, DW_AT_TI_symbol_name("__sshl")
  39. .dwattr $C$DW$4, DW_AT_type(*$C$DW$T$10)
  40. .dwattr $C$DW$4, DW_AT_declaration
  41. .dwattr $C$DW$4, DW_AT_external
  42. $C$DW$5 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  43. $C$DW$6 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$11)
  44. .dwendtag $C$DW$4
  45. $C$DW$7 .dwtag  DW_TAG_subprogram, DW_AT_name("_smpy")
  46. .dwattr $C$DW$7, DW_AT_TI_symbol_name("__smpy")
  47. .dwattr $C$DW$7, DW_AT_type(*$C$DW$T$10)
  48. .dwattr $C$DW$7, DW_AT_declaration
  49. .dwattr $C$DW$7, DW_AT_external
  50. $C$DW$8 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  51. $C$DW$9 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  52. .dwendtag $C$DW$7
  53. $C$DW$10 .dwtag  DW_TAG_subprogram, DW_AT_name("_sub2")
  54. .dwattr $C$DW$10, DW_AT_TI_symbol_name("__sub2")
  55. .dwattr $C$DW$10, DW_AT_type(*$C$DW$T$10)
  56. .dwattr $C$DW$10, DW_AT_declaration
  57. .dwattr $C$DW$10, DW_AT_external
  58. $C$DW$11 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  59. $C$DW$12 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  60. .dwendtag $C$DW$10
  61. $C$DW$13 .dwtag  DW_TAG_subprogram, DW_AT_name("_sadd2")
  62. .dwattr $C$DW$13, DW_AT_TI_symbol_name("__sadd2")
  63. .dwattr $C$DW$13, DW_AT_type(*$C$DW$T$10)
  64. .dwattr $C$DW$13, DW_AT_declaration
  65. .dwattr $C$DW$13, DW_AT_external
  66. $C$DW$14 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  67. $C$DW$15 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  68. .dwendtag $C$DW$13
  69. $C$DW$16 .dwtag  DW_TAG_subprogram, DW_AT_name("_sshvl")
  70. .dwattr $C$DW$16, DW_AT_TI_symbol_name("__sshvl")
  71. .dwattr $C$DW$16, DW_AT_type(*$C$DW$T$10)
  72. .dwattr $C$DW$16, DW_AT_declaration
  73. .dwattr $C$DW$16, DW_AT_external
  74. $C$DW$17 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  75. $C$DW$18 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  76. .dwendtag $C$DW$16
  77. $C$DW$19 .dwtag  DW_TAG_subprogram, DW_AT_name("_sshvr")
  78. .dwattr $C$DW$19, DW_AT_TI_symbol_name("__sshvr")
  79. .dwattr $C$DW$19, DW_AT_type(*$C$DW$T$10)
  80. .dwattr $C$DW$19, DW_AT_declaration
  81. .dwattr $C$DW$19, DW_AT_external
  82. $C$DW$20 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  83. $C$DW$21 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
  84. .dwendtag $C$DW$19
  85. $C$DW$22 .dwtag  DW_TAG_subprogram, DW_AT_name("add")
  86. .dwattr $C$DW$22, DW_AT_TI_symbol_name("_add")
  87. .dwattr $C$DW$22, DW_AT_type(*$C$DW$T$24)
  88. .dwattr $C$DW$22, DW_AT_declaration
  89. .dwattr $C$DW$22, DW_AT_external
  90. $C$DW$23 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  91. $C$DW$24 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  92. .dwendtag $C$DW$22
  93. $C$DW$25 .dwtag  DW_TAG_subprogram, DW_AT_name("sub")
  94. .dwattr $C$DW$25, DW_AT_TI_symbol_name("_sub")
  95. .dwattr $C$DW$25, DW_AT_type(*$C$DW$T$24)
  96. .dwattr $C$DW$25, DW_AT_declaration
  97. .dwattr $C$DW$25, DW_AT_external
  98. $C$DW$26 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  99. $C$DW$27 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  100. .dwendtag $C$DW$25
  101. $C$DW$28 .dwtag  DW_TAG_subprogram, DW_AT_name("L_add")
  102. .dwattr $C$DW$28, DW_AT_TI_symbol_name("_L_add")
  103. .dwattr $C$DW$28, DW_AT_type(*$C$DW$T$27)
  104. .dwattr $C$DW$28, DW_AT_declaration
  105. .dwattr $C$DW$28, DW_AT_external
  106. $C$DW$29 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
  107. $C$DW$30 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
  108. .dwendtag $C$DW$28
  109. $C$DW$31 .dwtag  DW_TAG_subprogram, DW_AT_name("mult")
  110. .dwattr $C$DW$31, DW_AT_TI_symbol_name("_mult")
  111. .dwattr $C$DW$31, DW_AT_type(*$C$DW$T$24)
  112. .dwattr $C$DW$31, DW_AT_declaration
  113. .dwattr $C$DW$31, DW_AT_external
  114. $C$DW$32 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  115. $C$DW$33 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  116. .dwendtag $C$DW$31
  117. $C$DW$34 .dwtag  DW_TAG_subprogram, DW_AT_name("L_mult")
  118. .dwattr $C$DW$34, DW_AT_TI_symbol_name("_L_mult")
  119. .dwattr $C$DW$34, DW_AT_type(*$C$DW$T$27)
  120. .dwattr $C$DW$34, DW_AT_declaration
  121. .dwattr $C$DW$34, DW_AT_external
  122. $C$DW$35 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  123. $C$DW$36 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  124. .dwendtag $C$DW$34
  125. $C$DW$37 .dwtag  DW_TAG_subprogram, DW_AT_name("shl")
  126. .dwattr $C$DW$37, DW_AT_TI_symbol_name("_shl")
  127. .dwattr $C$DW$37, DW_AT_type(*$C$DW$T$24)
  128. .dwattr $C$DW$37, DW_AT_declaration
  129. .dwattr $C$DW$37, DW_AT_external
  130. $C$DW$38 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  131. $C$DW$39 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  132. .dwendtag $C$DW$37
  133. $C$DW$40 .dwtag  DW_TAG_subprogram, DW_AT_name("L_shl")
  134. .dwattr $C$DW$40, DW_AT_TI_symbol_name("_L_shl")
  135. .dwattr $C$DW$40, DW_AT_type(*$C$DW$T$27)
  136. .dwattr $C$DW$40, DW_AT_declaration
  137. .dwattr $C$DW$40, DW_AT_external
  138. $C$DW$41 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
  139. $C$DW$42 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  140. .dwendtag $C$DW$40
  141. $C$DW$43 .dwtag  DW_TAG_subprogram, DW_AT_name("L_mac")
  142. .dwattr $C$DW$43, DW_AT_TI_symbol_name("_L_mac")
  143. .dwattr $C$DW$43, DW_AT_type(*$C$DW$T$27)
  144. .dwattr $C$DW$43, DW_AT_declaration
  145. .dwattr $C$DW$43, DW_AT_external
  146. $C$DW$44 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
  147. $C$DW$45 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  148. $C$DW$46 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
  149. .dwendtag $C$DW$43
  150. $C$DW$47 .dwtag  DW_TAG_subprogram, DW_AT_name("extract_h")
  151. .dwattr $C$DW$47, DW_AT_TI_symbol_name("_extract_h")
  152. .dwattr $C$DW$47, DW_AT_type(*$C$DW$T$24)
  153. .dwattr $C$DW$47, DW_AT_declaration
  154. .dwattr $C$DW$47, DW_AT_external
  155. $C$DW$48 .dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
  156. .dwendtag $C$DW$47
  157. ; D:CCStudio_v3.3C6000cgtoolsbinopt6x.exe C:\DOCUME~1\vigorguo\LOCALS~1\Temp\0163610 C:\DOCUME~1\vigorguo\LOCALS~1\Temp\016364 
  158. .sect ".text"
  159. .global _v_zap
  160. $C$DW$49 .dwtag  DW_TAG_subprogram, DW_AT_name("v_zap")
  161. .dwattr $C$DW$49, DW_AT_low_pc(_v_zap)
  162. .dwattr $C$DW$49, DW_AT_high_pc(0x00)
  163. .dwattr $C$DW$49, DW_AT_TI_symbol_name("_v_zap")
  164. .dwattr $C$DW$49, DW_AT_external
  165. .dwattr $C$DW$49, DW_AT_type(*$C$DW$T$29)
  166. .dwattr $C$DW$49, DW_AT_TI_begin_file("mat_lib.c")
  167. .dwattr $C$DW$49, DW_AT_TI_begin_line(0x2cd)
  168. .dwattr $C$DW$49, DW_AT_TI_begin_column(0x0c)
  169. .dwpsn file "mat_lib.c",line 718,column 1,is_stmt,address _v_zap
  170. .dwfde $C$DW$CIE, _v_zap
  171. ;******************************************************************************
  172. ;* FUNCTION NAME: v_zap                                                       *
  173. ;*                                                                            *
  174. ;*   Regs Modified     : A0,B0,B4,B5                                          *
  175. ;*   Regs Used         : A0,A4,B0,B3,B4,B5                                    *
  176. ;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
  177. ;******************************************************************************
  178. ;******************************************************************************
  179. ;*                                                                            *
  180. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  181. ;*                                                                            *
  182. ;******************************************************************************
  183. _v_zap:
  184. ;** --------------------------------------------------------------------------*
  185. .dwcfi cfa_offset, 0
  186. .dwcfi save_reg_to_reg, 228, 19
  187. $C$DW$50 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  188. .dwattr $C$DW$50, DW_AT_TI_symbol_name("_vec1")
  189. .dwattr $C$DW$50, DW_AT_type(*$C$DW$T$29)
  190. .dwattr $C$DW$50, DW_AT_location[DW_OP_reg4]
  191. $C$DW$51 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  192. .dwattr $C$DW$51, DW_AT_TI_symbol_name("_n")
  193. .dwattr $C$DW$51, DW_AT_type(*$C$DW$T$24)
  194. .dwattr $C$DW$51, DW_AT_location[DW_OP_reg20]
  195. $C$DW$52 .dwtag  DW_TAG_variable, DW_AT_name("n")
  196. .dwattr $C$DW$52, DW_AT_TI_symbol_name("_n")
  197. .dwattr $C$DW$52, DW_AT_type(*$C$DW$T$38)
  198. .dwattr $C$DW$52, DW_AT_location[DW_OP_reg21]
  199.            MV      .L2     B4,B5             ; |718| 
  200. .dwpsn file "mat_lib.c",line 721,column 16,is_stmt
  201.            CMPGT   .L2     B5,0,B0           ; |721| 
  202.    [!B0]   BNOP    .S1     $C$L4,5           ; |721| 
  203. || [ B0]   ZERO    .L2     B4
  204.            ; BRANCHCC OCCURS {$C$L4}         ; |721| 
  205. ;** --------------------------------------------------------------------------*
  206. .dwpsn file "mat_lib.c",line 722,column 9,is_stmt
  207.            SUB     .L1X    B5,1,A0
  208. ;*----------------------------------------------------------------------------*
  209. ;*   SOFTWARE PIPELINE INFORMATION
  210. ;*
  211. ;*      Loop source line                 : 721
  212. ;*      Loop opening brace source line   : 721
  213. ;*      Loop closing brace source line   : 723
  214. ;*      Known Minimum Trip Count         : 1                    
  215. ;*      Known Maximum Trip Count         : 65536                    
  216. ;*      Known Max Trip Count Factor      : 1
  217. ;*      Loop Carried Dependency Bound(^) : 0
  218. ;*      Unpartitioned Resource Bound     : 1
  219. ;*      Partitioned Resource Bound(*)    : 1
  220. ;*      Resource Partition:
  221. ;*                                A-side   B-side
  222. ;*      .L units                     0        0     
  223. ;*      .S units                     1*       0     
  224. ;*      .D units                     0        1*    
  225. ;*      .M units                     0        0     
  226. ;*      .X cross paths               0        0     
  227. ;*      .T address paths             0        1*    
  228. ;*      Long read paths              0        0     
  229. ;*      Long write paths             0        0     
  230. ;*      Logical  ops (.LS)           0        0     (.L or .S unit)
  231. ;*      Addition ops (.LSD)          0        0     (.L or .S or .D unit)
  232. ;*      Bound(.L .S .LS)             1*       0     
  233. ;*      Bound(.L .S .D .LS .LSD)     1*       1*    
  234. ;*
  235. ;*      Searching for software pipeline schedule at ...
  236. ;*         ii = 1  Schedule found with 6 iterations in parallel
  237. ;*      Done
  238. ;*
  239. ;*      Collapsed epilog stages     : 5
  240. ;*      Collapsed prolog stages     : 0
  241. ;*      Minimum required memory pad : 0 bytes
  242. ;*
  243. ;*      Minimum safe trip count     : 1
  244. ;*----------------------------------------------------------------------------*
  245. $C$L1:    ; PIPED LOOP PROLOG
  246.    [ A0]   BDEC    .S1     $C$L2,A0          ; |721| (P) <0,0> 
  247.    [ A0]   BDEC    .S1     $C$L2,A0          ; |721| (P) <1,0> 
  248.    [ A0]   BDEC    .S1     $C$L2,A0          ; |721| (P) <2,0> 
  249.    [ A0]   BDEC    .S1     $C$L2,A0          ; |721| (P) <3,0> 
  250.            MV      .L2X    A4,B5
  251. || [ A0]   BDEC    .S1     $C$L2,A0          ; |721| (P) <4,0> 
  252. ;** --------------------------------------------------------------------------*
  253. $C$L2:    ; PIPED LOOP KERNEL
  254. $C$DW$L$_v_zap$4$B:
  255.            STH     .D2T2   B4,*B5++          ; |722| <0,5> 
  256. || [ A0]   BDEC    .S1     $C$L2,A0          ; |721| <5,0> 
  257. $C$DW$L$_v_zap$4$E:
  258. ;** --------------------------------------------------------------------------*
  259. $C$L3:    ; PIPED LOOP EPILOG
  260. ;** --------------------------------------------------------------------------*
  261. $C$L4:    
  262. .dwpsn file "mat_lib.c",line 725,column 5,is_stmt
  263. .dwpsn file "mat_lib.c",line 726,column 1,is_stmt
  264. .dwcfi cfa_offset, 0
  265.            RETNOP  .S2     B3,5              ; |726| 
  266.            ; BRANCH OCCURS {B3}              ; |726| 
  267. $C$DW$53 .dwtag  DW_TAG_TI_loop
  268. .dwattr $C$DW$53, DW_AT_name("D:melp429mat_lib.asm:$C$L2:1:1246674193")
  269. .dwattr $C$DW$53, DW_AT_TI_begin_file("mat_lib.c")
  270. .dwattr $C$DW$53, DW_AT_TI_begin_line(0x2d1)
  271. .dwattr $C$DW$53, DW_AT_TI_end_line(0x2d3)
  272. $C$DW$54 .dwtag  DW_TAG_TI_loop_range
  273. .dwattr $C$DW$54, DW_AT_low_pc($C$DW$L$_v_zap$4$B)
  274. .dwattr $C$DW$54, DW_AT_high_pc($C$DW$L$_v_zap$4$E)
  275. .dwendtag $C$DW$53
  276. .dwattr $C$DW$49, DW_AT_TI_end_file("mat_lib.c")
  277. .dwattr $C$DW$49, DW_AT_TI_end_line(0x2d6)
  278. .dwattr $C$DW$49, DW_AT_TI_end_column(0x01)
  279. .dwendentry
  280. .dwendtag $C$DW$49
  281. .sect ".text"
  282. .global _v_sub
  283. $C$DW$55 .dwtag  DW_TAG_subprogram, DW_AT_name("v_sub")
  284. .dwattr $C$DW$55, DW_AT_low_pc(_v_sub)
  285. .dwattr $C$DW$55, DW_AT_high_pc(0x00)
  286. .dwattr $C$DW$55, DW_AT_TI_symbol_name("_v_sub")
  287. .dwattr $C$DW$55, DW_AT_external
  288. .dwattr $C$DW$55, DW_AT_type(*$C$DW$T$29)
  289. .dwattr $C$DW$55, DW_AT_TI_begin_file("mat_lib.c")
  290. .dwattr $C$DW$55, DW_AT_TI_begin_line(0x29f)
  291. .dwattr $C$DW$55, DW_AT_TI_begin_column(0x0c)
  292. .dwpsn file "mat_lib.c",line 672,column 1,is_stmt,address _v_sub
  293. .dwfde $C$DW$CIE, _v_sub
  294. ;******************************************************************************
  295. ;* FUNCTION NAME: v_sub                                                       *
  296. ;*                                                                            *
  297. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  298. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17,   *
  299. ;*                           A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
  300. ;*                           A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
  301. ;*                           B26,B27,B28,B29,B30,B31                          *
  302. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  303. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17,   *
  304. ;*                           A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
  305. ;*                           A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
  306. ;*                           B26,B27,B28,B29,B30,B31                          *
  307. ;*   Local Frame Size  : 0 Args + 0 Auto + 32 Save = 32 byte                  *
  308. ;******************************************************************************
  309. ;******************************************************************************
  310. ;*                                                                            *
  311. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  312. ;*                                                                            *
  313. ;******************************************************************************
  314. _v_sub:
  315. ;** --------------------------------------------------------------------------*
  316. .dwcfi cfa_offset, 0
  317. .dwcfi save_reg_to_reg, 228, 19
  318.            MV      .L1X    SP,A31            ; |672| 
  319. ||         STW     .D2T2   B11,*SP--(32)     ; |672| 
  320. .dwcfi cfa_offset, 32
  321. .dwcfi save_reg_to_mem, 27, 0
  322.            STW     .D2T2   B10,*+SP(28)      ; |672| 
  323. .dwcfi save_reg_to_mem, 26, -4
  324.            STW     .D2T2   B3,*+SP(24)       ; |672| 
  325. .dwcfi save_reg_to_mem, 19, -8
  326.            STW     .D1T1   A14,*-A31(12)     ; |672| 
  327. .dwcfi save_reg_to_mem, 14, -12
  328.            STW     .D1T1   A13,*-A31(16)     ; |672| 
  329. .dwcfi save_reg_to_mem, 13, -16
  330.            STW     .D1T1   A12,*-A31(20)     ; |672| 
  331. .dwcfi save_reg_to_mem, 12, -20
  332.            STW     .D1T1   A11,*-A31(24)     ; |672| 
  333. .dwcfi save_reg_to_mem, 11, -24
  334.            STW     .D1T1   A10,*-A31(28)     ; |672| 
  335. .dwcfi save_reg_to_mem, 10, -28
  336. $C$DW$56 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  337. .dwattr $C$DW$56, DW_AT_TI_symbol_name("_vec1")
  338. .dwattr $C$DW$56, DW_AT_type(*$C$DW$T$29)
  339. .dwattr $C$DW$56, DW_AT_location[DW_OP_reg4]
  340. $C$DW$57 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec2")
  341. .dwattr $C$DW$57, DW_AT_TI_symbol_name("_vec2")
  342. .dwattr $C$DW$57, DW_AT_type(*$C$DW$T$29)
  343. .dwattr $C$DW$57, DW_AT_location[DW_OP_reg20]
  344. $C$DW$58 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  345. .dwattr $C$DW$58, DW_AT_TI_symbol_name("_n")
  346. .dwattr $C$DW$58, DW_AT_type(*$C$DW$T$24)
  347. .dwattr $C$DW$58, DW_AT_location[DW_OP_reg6]
  348. $C$DW$59 .dwtag  DW_TAG_variable, DW_AT_name("n")
  349. .dwattr $C$DW$59, DW_AT_TI_symbol_name("_n")
  350. .dwattr $C$DW$59, DW_AT_type(*$C$DW$T$38)
  351. .dwattr $C$DW$59, DW_AT_location[DW_OP_reg6]
  352. $C$DW$60 .dwtag  DW_TAG_variable, DW_AT_name("vec2")
  353. .dwattr $C$DW$60, DW_AT_TI_symbol_name("_vec2")
  354. .dwattr $C$DW$60, DW_AT_type(*$C$DW$T$35)
  355. .dwattr $C$DW$60, DW_AT_location[DW_OP_reg20]
  356. $C$DW$61 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  357. .dwattr $C$DW$61, DW_AT_TI_symbol_name("_vec1")
  358. .dwattr $C$DW$61, DW_AT_type(*$C$DW$T$35)
  359. .dwattr $C$DW$61, DW_AT_location[DW_OP_reg10]
  360.            MV      .L1     A4,A10            ; |672| 
  361. .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
  362.            CMPGT   .L1     A6,0,A0           ; |675| 
  363.    [!A0]   BNOP    .S1     $C$L7,5           ; |675| 
  364.            ; BRANCHCC OCCURS {$C$L7}         ; |675| 
  365. ;** --------------------------------------------------------------------------*
  366. .dwpsn file "mat_lib.c",line 676,column 9,is_stmt
  367.            SUB     .L1X    B4,A10,A4         ; |676| 
  368. ||         ADD     .S1     A6,A6,A3          ; |676| 
  369. ||         SUB     .L2X    A10,B4,B5         ; |676| 
  370. ||         MV      .S2     B4,B11
  371. ||         MV      .D2     B4,B10
  372. ||         MV      .D1     A6,A11
  373.            CMPGT   .L1     A3,A4,A4          ; |676| 
  374. ||         MV      .S1     A10,A13
  375. ||         MV      .D1     A6,A12
  376.            CMPGT   .L2X    A3,B5,B5          ; |676| 
  377. ||         MV      .L1     A10,A14
  378.            AND     .L2X    B5,A4,B0
  379.    [!B0]   BNOP    .S1     $C$L6,5           ; |676| 
  380.            ; BRANCHCC OCCURS {$C$L6}         ; |676| 
  381. ;** --------------------------------------------------------------------------*
  382.            LDH     .D2T2   *B11++,B4         ; |676| 
  383. ||         CALL    .S1     _sub              ; |676| 
  384.            LDH     .D1T1   *A14,A4           ; |676| 
  385.            NOP             3
  386. ;*----------------------------------------------------------------------------*
  387. ;*   SOFTWARE PIPELINE INFORMATION
  388. ;*      Disqualified loop: Loop contains a call
  389. ;*----------------------------------------------------------------------------*
  390. $C$L5:    
  391. $C$DW$L$_v_sub$4$B:
  392.            ADDKPC  .S2     $C$RL0,B3,0       ; |676| 
  393. $C$RL0:    ; CALL OCCURS {_sub}              ; |676| 
  394. $C$DW$L$_v_sub$4$E:
  395. ;** --------------------------------------------------------------------------*
  396. $C$DW$L$_v_sub$5$B:
  397.            STH     .D1T1   A4,*A14++         ; |676| 
  398. .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
  399.            SUB     .L1     A12,1,A0          ; |675| 
  400. ||         SUB     .S1     A12,1,A12         ; |675| 
  401.    [ A0]   B       .S1     $C$L5             ; |675| 
  402. || [ A0]   LDH     .D1T1   *A14,A4           ; |676| 
  403. || [ A0]   LDH     .D2T2   *B11++,B4         ; |676| 
  404.    [ A0]   CALL    .S1     _sub              ; |676| 
  405.    [!A0]   BNOP    .S1     $C$L7,3           ; |675| 
  406.            ; BRANCHCC OCCURS {$C$L5}         ; |675| 
  407. $C$DW$L$_v_sub$5$E:
  408. ;** --------------------------------------------------------------------------*
  409.            NOP             2
  410.            ; BRANCH OCCURS {$C$L7}           ; |675| 
  411. ;*----------------------------------------------------------------------------*
  412. ;*   SOFTWARE PIPELINE INFORMATION
  413. ;*      Disqualified loop: Loop contains a call
  414. ;*----------------------------------------------------------------------------*
  415. $C$L6:    
  416. $C$DW$L$_v_sub$7$B:
  417. .dwpsn file "mat_lib.c",line 676,column 9,is_stmt
  418.            CALL    .S1     _sub              ; |676| 
  419.            LDH     .D2T2   *B10++,B4         ; |676| 
  420. ||         LDH     .D1T1   *A13,A4           ; |676| 
  421.            ADDKPC  .S2     $C$RL1,B3,3       ; |676| 
  422. $C$RL1:    ; CALL OCCURS {_sub}              ; |676| 
  423. $C$DW$L$_v_sub$7$E:
  424. ;** --------------------------------------------------------------------------*
  425. $C$DW$L$_v_sub$8$B:
  426.            STH     .D1T1   A4,*A13++         ; |676| 
  427. .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
  428.            SUB     .L1     A11,1,A0          ; |675| 
  429. ||         SUB     .S1     A11,1,A11         ; |675| 
  430.    [ A0]   BNOP    .S1     $C$L6,5           ; |675| 
  431.            ; BRANCHCC OCCURS {$C$L6}         ; |675| 
  432. $C$DW$L$_v_sub$8$E:
  433. ;** --------------------------------------------------------------------------*
  434. $C$L7:    
  435. .dwpsn file "mat_lib.c",line 679,column 5,is_stmt
  436.            MV      .L1     A10,A4            ; |679| 
  437. .dwpsn file "mat_lib.c",line 680,column 1,is_stmt
  438.            LDW     .D2T2   *+SP(28),B10      ; |680| 
  439. ||         MV      .L1X    SP,A31            ; |680| 
  440. .dwcfi restore_reg, 26
  441.            LDW     .D2T2   *+SP(24),B3       ; |680| 
  442. .dwcfi restore_reg, 19
  443.            LDW     .D1T1   *+A31(20),A14     ; |680| 
  444. .dwcfi restore_reg, 14
  445.            LDW     .D1T1   *+A31(16),A13     ; |680| 
  446. .dwcfi restore_reg, 13
  447.            LDW     .D1T1   *+A31(12),A12     ; |680| 
  448. .dwcfi restore_reg, 12
  449.            LDW     .D1T1   *+A31(8),A11      ; |680| 
  450. .dwcfi restore_reg, 11
  451.            LDW     .D1T1   *+A31(4),A10      ; |680| 
  452. .dwcfi restore_reg, 10
  453.            LDW     .D2T2   *++SP(32),B11     ; |680| 
  454. .dwcfi cfa_offset, 0
  455. .dwcfi restore_reg, 27
  456. .dwcfi cfa_offset, 0
  457.            RETNOP  .S2     B3,5              ; |680| 
  458.            ; BRANCH OCCURS {B3}              ; |680| 
  459. $C$DW$62 .dwtag  DW_TAG_TI_loop
  460. .dwattr $C$DW$62, DW_AT_name("D:melp429mat_lib.asm:$C$L6:1:1246674193")
  461. .dwattr $C$DW$62, DW_AT_TI_begin_file("mat_lib.c")
  462. .dwattr $C$DW$62, DW_AT_TI_begin_line(0x2a3)
  463. .dwattr $C$DW$62, DW_AT_TI_end_line(0x2a5)
  464. $C$DW$63 .dwtag  DW_TAG_TI_loop_range
  465. .dwattr $C$DW$63, DW_AT_low_pc($C$DW$L$_v_sub$7$B)
  466. .dwattr $C$DW$63, DW_AT_high_pc($C$DW$L$_v_sub$7$E)
  467. $C$DW$64 .dwtag  DW_TAG_TI_loop_range
  468. .dwattr $C$DW$64, DW_AT_low_pc($C$DW$L$_v_sub$8$B)
  469. .dwattr $C$DW$64, DW_AT_high_pc($C$DW$L$_v_sub$8$E)
  470. .dwendtag $C$DW$62
  471. $C$DW$65 .dwtag  DW_TAG_TI_loop
  472. .dwattr $C$DW$65, DW_AT_name("D:melp429mat_lib.asm:$C$L5:1:1246674193")
  473. .dwattr $C$DW$65, DW_AT_TI_begin_file("mat_lib.c")
  474. .dwattr $C$DW$65, DW_AT_TI_begin_line(0x2a3)
  475. .dwattr $C$DW$65, DW_AT_TI_end_line(0x2a5)
  476. $C$DW$66 .dwtag  DW_TAG_TI_loop_range
  477. .dwattr $C$DW$66, DW_AT_low_pc($C$DW$L$_v_sub$4$B)
  478. .dwattr $C$DW$66, DW_AT_high_pc($C$DW$L$_v_sub$4$E)
  479. $C$DW$67 .dwtag  DW_TAG_TI_loop_range
  480. .dwattr $C$DW$67, DW_AT_low_pc($C$DW$L$_v_sub$5$B)
  481. .dwattr $C$DW$67, DW_AT_high_pc($C$DW$L$_v_sub$5$E)
  482. .dwendtag $C$DW$65
  483. .dwattr $C$DW$55, DW_AT_TI_end_file("mat_lib.c")
  484. .dwattr $C$DW$55, DW_AT_TI_end_line(0x2a8)
  485. .dwattr $C$DW$55, DW_AT_TI_end_column(0x01)
  486. .dwendentry
  487. .dwendtag $C$DW$55
  488. .sect ".text"
  489. .global _v_scale_shl
  490. $C$DW$68 .dwtag  DW_TAG_subprogram, DW_AT_name("v_scale_shl")
  491. .dwattr $C$DW$68, DW_AT_low_pc(_v_scale_shl)
  492. .dwattr $C$DW$68, DW_AT_high_pc(0x00)
  493. .dwattr $C$DW$68, DW_AT_TI_symbol_name("_v_scale_shl")
  494. .dwattr $C$DW$68, DW_AT_external
  495. .dwattr $C$DW$68, DW_AT_type(*$C$DW$T$29)
  496. .dwattr $C$DW$68, DW_AT_TI_begin_file("mat_lib.c")
  497. .dwattr $C$DW$68, DW_AT_TI_begin_line(0x267)
  498. .dwattr $C$DW$68, DW_AT_TI_begin_column(0x0c)
  499. .dwpsn file "mat_lib.c",line 617,column 1,is_stmt,address _v_scale_shl
  500. .dwfde $C$DW$CIE, _v_scale_shl
  501. ;******************************************************************************
  502. ;* FUNCTION NAME: v_scale_shl                                                 *
  503. ;*                                                                            *
  504. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  505. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,   *
  506. ;*                           A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
  507. ;*                           B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
  508. ;*                           B28,B29,B30,B31                                  *
  509. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  510. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,   *
  511. ;*                           A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
  512. ;*                           B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
  513. ;*                           B28,B29,B30,B31                                  *
  514. ;*   Local Frame Size  : 0 Args + 0 Auto + 24 Save = 24 byte                  *
  515. ;******************************************************************************
  516. ;******************************************************************************
  517. ;*                                                                            *
  518. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  519. ;*                                                                            *
  520. ;******************************************************************************
  521. _v_scale_shl:
  522. ;** --------------------------------------------------------------------------*
  523. .dwcfi cfa_offset, 0
  524. .dwcfi save_reg_to_reg, 228, 19
  525.            STW     .D2T2   B3,*SP--(24)      ; |617| 
  526. .dwcfi cfa_offset, 24
  527. .dwcfi save_reg_to_mem, 19, 0
  528.            STW     .D2T1   A14,*+SP(20)      ; |617| 
  529. .dwcfi save_reg_to_mem, 14, -4
  530.            STW     .D2T1   A13,*+SP(16)      ; |617| 
  531. .dwcfi save_reg_to_mem, 13, -8
  532.            STW     .D2T1   A12,*+SP(12)      ; |617| 
  533. .dwcfi save_reg_to_mem, 12, -12
  534.            STW     .D2T1   A11,*+SP(8)       ; |617| 
  535. .dwcfi save_reg_to_mem, 11, -16
  536.            STW     .D2T1   A10,*+SP(4)       ; |617| 
  537. .dwcfi save_reg_to_mem, 10, -20
  538. $C$DW$69 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  539. .dwattr $C$DW$69, DW_AT_TI_symbol_name("_vec1")
  540. .dwattr $C$DW$69, DW_AT_type(*$C$DW$T$29)
  541. .dwattr $C$DW$69, DW_AT_location[DW_OP_reg4]
  542. $C$DW$70 .dwtag  DW_TAG_formal_parameter, DW_AT_name("scale")
  543. .dwattr $C$DW$70, DW_AT_TI_symbol_name("_scale")
  544. .dwattr $C$DW$70, DW_AT_type(*$C$DW$T$24)
  545. .dwattr $C$DW$70, DW_AT_location[DW_OP_reg20]
  546. $C$DW$71 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  547. .dwattr $C$DW$71, DW_AT_TI_symbol_name("_n")
  548. .dwattr $C$DW$71, DW_AT_type(*$C$DW$T$24)
  549. .dwattr $C$DW$71, DW_AT_location[DW_OP_reg6]
  550. $C$DW$72 .dwtag  DW_TAG_formal_parameter, DW_AT_name("shift")
  551. .dwattr $C$DW$72, DW_AT_TI_symbol_name("_shift")
  552. .dwattr $C$DW$72, DW_AT_type(*$C$DW$T$24)
  553. .dwattr $C$DW$72, DW_AT_location[DW_OP_reg22]
  554. $C$DW$73 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  555. .dwattr $C$DW$73, DW_AT_TI_symbol_name("_vec1")
  556. .dwattr $C$DW$73, DW_AT_type(*$C$DW$T$35)
  557. .dwattr $C$DW$73, DW_AT_location[DW_OP_reg11]
  558. $C$DW$74 .dwtag  DW_TAG_variable, DW_AT_name("scale")
  559. .dwattr $C$DW$74, DW_AT_TI_symbol_name("_scale")
  560. .dwattr $C$DW$74, DW_AT_type(*$C$DW$T$38)
  561. .dwattr $C$DW$74, DW_AT_location[DW_OP_reg12]
  562. $C$DW$75 .dwtag  DW_TAG_variable, DW_AT_name("n")
  563. .dwattr $C$DW$75, DW_AT_TI_symbol_name("_n")
  564. .dwattr $C$DW$75, DW_AT_type(*$C$DW$T$38)
  565. .dwattr $C$DW$75, DW_AT_location[DW_OP_reg6]
  566. $C$DW$76 .dwtag  DW_TAG_variable, DW_AT_name("shift")
  567. .dwattr $C$DW$76, DW_AT_TI_symbol_name("_shift")
  568. .dwattr $C$DW$76, DW_AT_type(*$C$DW$T$38)
  569. .dwattr $C$DW$76, DW_AT_location[DW_OP_reg13]
  570.            MV      .L1X    B6,A13            ; |617| 
  571. ||         MV      .S1     A4,A11            ; |617| 
  572.            MV      .L1X    B4,A12            ; |617| 
  573. .dwpsn file "mat_lib.c",line 620,column 14,is_stmt
  574.            CMPGT   .L1     A6,0,A0           ; |620| 
  575.    [!A0]   BNOP    .S1     $C$L9,5           ; |620| 
  576. || [ A0]   MV      .L1     A11,A10
  577.            ; BRANCHCC OCCURS {$C$L9}         ; |620| 
  578. ;** --------------------------------------------------------------------------*
  579. .dwpsn file "mat_lib.c",line 621,column 9,is_stmt
  580.            CALL    .S1     _L_mult           ; |621| 
  581.            LDH     .D1T1   *A10,A4           ; |621| 
  582.            MV      .L1     A6,A14            ; |621| 
  583.            NOP             2
  584. ;*----------------------------------------------------------------------------*
  585. ;*   SOFTWARE PIPELINE INFORMATION
  586. ;*      Disqualified loop: Loop contains a call
  587. ;*----------------------------------------------------------------------------*
  588. $C$L8:    
  589. $C$DW$L$_v_scale_shl$3$B:
  590.            MV      .L2X    A12,B4            ; |621| 
  591. ||         ADDKPC  .S2     $C$RL2,B3,0       ; |621| 
  592. $C$RL2:    ; CALL OCCURS {_L_mult}           ; |621| 
  593. $C$DW$L$_v_scale_shl$3$E:
  594. ;** --------------------------------------------------------------------------*
  595. $C$DW$L$_v_scale_shl$4$B:
  596.            CALL    .S1     _L_shl            ; |621| 
  597.            ADDKPC  .S2     $C$RL3,B3,3       ; |621| 
  598.            MV      .L2X    A13,B4            ; |621| 
  599. $C$RL3:    ; CALL OCCURS {_L_shl}            ; |621| 
  600.            CALL    .S1     _extract_h        ; |621| 
  601.            ADDKPC  .S2     $C$RL4,B3,4       ; |621| 
  602. $C$RL4:    ; CALL OCCURS {_extract_h}        ; |621| 
  603. $C$DW$L$_v_scale_shl$4$E:
  604. ;** --------------------------------------------------------------------------*
  605. $C$DW$L$_v_scale_shl$5$B:
  606.            STH     .D1T1   A4,*A10++         ; |621| 
  607. .dwpsn file "mat_lib.c",line 620,column 14,is_stmt
  608.            SUB     .L1     A14,1,A0          ; |620| 
  609.    [ A0]   B       .S1     $C$L8             ; |620| 
  610.    [ A0]   CALL    .S1     _L_mult           ; |621| 
  611.    [ A0]   LDH     .D1T1   *A10,A4           ; |621| 
  612.            SUB     .L1     A14,1,A14         ; |620| 
  613.            NOP             2
  614.            ; BRANCHCC OCCURS {$C$L8}         ; |620| 
  615. $C$DW$L$_v_scale_shl$5$E:
  616. ;** --------------------------------------------------------------------------*
  617. $C$L9:    
  618. .dwpsn file "mat_lib.c",line 622,column 5,is_stmt
  619.            MV      .L1     A11,A4            ; |622| 
  620. .dwpsn file "mat_lib.c",line 623,column 1,is_stmt
  621.            LDW     .D2T1   *+SP(20),A14      ; |623| 
  622. .dwcfi restore_reg, 14
  623.            LDW     .D2T1   *+SP(16),A13      ; |623| 
  624. .dwcfi restore_reg, 13
  625.            LDW     .D2T1   *+SP(12),A12      ; |623| 
  626. .dwcfi restore_reg, 12
  627.            LDW     .D2T1   *+SP(8),A11       ; |623| 
  628. .dwcfi restore_reg, 11
  629.            LDW     .D2T1   *+SP(4),A10       ; |623| 
  630. .dwcfi restore_reg, 10
  631.            LDW     .D2T2   *++SP(24),B3      ; |623| 
  632.            NOP             4
  633. .dwcfi cfa_offset, 0
  634. .dwcfi restore_reg, 19
  635. .dwcfi cfa_offset, 0
  636.            RETNOP  .S2     B3,5              ; |623| 
  637.            ; BRANCH OCCURS {B3}              ; |623| 
  638. $C$DW$77 .dwtag  DW_TAG_TI_loop
  639. .dwattr $C$DW$77, DW_AT_name("D:melp429mat_lib.asm:$C$L8:1:1246674193")
  640. .dwattr $C$DW$77, DW_AT_TI_begin_file("mat_lib.c")
  641. .dwattr $C$DW$77, DW_AT_TI_begin_line(0x26c)
  642. .dwattr $C$DW$77, DW_AT_TI_end_line(0x26d)
  643. $C$DW$78 .dwtag  DW_TAG_TI_loop_range
  644. .dwattr $C$DW$78, DW_AT_low_pc($C$DW$L$_v_scale_shl$3$B)
  645. .dwattr $C$DW$78, DW_AT_high_pc($C$DW$L$_v_scale_shl$3$E)
  646. $C$DW$79 .dwtag  DW_TAG_TI_loop_range
  647. .dwattr $C$DW$79, DW_AT_low_pc($C$DW$L$_v_scale_shl$4$B)
  648. .dwattr $C$DW$79, DW_AT_high_pc($C$DW$L$_v_scale_shl$4$E)
  649. $C$DW$80 .dwtag  DW_TAG_TI_loop_range
  650. .dwattr $C$DW$80, DW_AT_low_pc($C$DW$L$_v_scale_shl$5$B)
  651. .dwattr $C$DW$80, DW_AT_high_pc($C$DW$L$_v_scale_shl$5$E)
  652. .dwendtag $C$DW$77
  653. .dwattr $C$DW$68, DW_AT_TI_end_file("mat_lib.c")
  654. .dwattr $C$DW$68, DW_AT_TI_end_line(0x26f)
  655. .dwattr $C$DW$68, DW_AT_TI_end_column(0x01)
  656. .dwendentry
  657. .dwendtag $C$DW$68
  658. .sect ".text"
  659. .global _v_scale
  660. $C$DW$81 .dwtag  DW_TAG_subprogram, DW_AT_name("v_scale")
  661. .dwattr $C$DW$81, DW_AT_low_pc(_v_scale)
  662. .dwattr $C$DW$81, DW_AT_high_pc(0x00)
  663. .dwattr $C$DW$81, DW_AT_TI_symbol_name("_v_scale")
  664. .dwattr $C$DW$81, DW_AT_external
  665. .dwattr $C$DW$81, DW_AT_type(*$C$DW$T$29)
  666. .dwattr $C$DW$81, DW_AT_TI_begin_file("mat_lib.c")
  667. .dwattr $C$DW$81, DW_AT_TI_begin_line(0x233)
  668. .dwattr $C$DW$81, DW_AT_TI_begin_column(0x0c)
  669. .dwpsn file "mat_lib.c",line 564,column 1,is_stmt,address _v_scale
  670. .dwfde $C$DW$CIE, _v_scale
  671. ;******************************************************************************
  672. ;* FUNCTION NAME: v_scale                                                     *
  673. ;*                                                                            *
  674. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
  675. ;*                           B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,A20,  *
  676. ;*                           A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
  677. ;*                           B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
  678. ;*                           B29,B30,B31                                      *
  679. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
  680. ;*                           B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,A20,  *
  681. ;*                           A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
  682. ;*                           B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
  683. ;*                           B29,B30,B31                                      *
  684. ;*   Local Frame Size  : 0 Args + 0 Auto + 20 Save = 20 byte                  *
  685. ;******************************************************************************
  686. ;******************************************************************************
  687. ;*                                                                            *
  688. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  689. ;*                                                                            *
  690. ;******************************************************************************
  691. _v_scale:
  692. ;** --------------------------------------------------------------------------*
  693. .dwcfi cfa_offset, 0
  694. .dwcfi save_reg_to_reg, 228, 19
  695.            STW     .D2T2   B3,*SP--(24)      ; |564| 
  696. .dwcfi cfa_offset, 24
  697. .dwcfi save_reg_to_mem, 19, 0
  698.            STDW    .D2T1   A13:A12,*+SP(16)  ; |564| 
  699. .dwcfi save_reg_to_mem, 13, -4
  700. .dwcfi save_reg_to_mem, 12, -8
  701.            STDW    .D2T1   A11:A10,*+SP(8)   ; |564| 
  702. .dwcfi save_reg_to_mem, 11, -12
  703. .dwcfi save_reg_to_mem, 10, -16
  704. $C$DW$82 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  705. .dwattr $C$DW$82, DW_AT_TI_symbol_name("_vec1")
  706. .dwattr $C$DW$82, DW_AT_type(*$C$DW$T$29)
  707. .dwattr $C$DW$82, DW_AT_location[DW_OP_reg4]
  708. $C$DW$83 .dwtag  DW_TAG_formal_parameter, DW_AT_name("scale")
  709. .dwattr $C$DW$83, DW_AT_TI_symbol_name("_scale")
  710. .dwattr $C$DW$83, DW_AT_type(*$C$DW$T$24)
  711. .dwattr $C$DW$83, DW_AT_location[DW_OP_reg20]
  712. $C$DW$84 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  713. .dwattr $C$DW$84, DW_AT_TI_symbol_name("_n")
  714. .dwattr $C$DW$84, DW_AT_type(*$C$DW$T$24)
  715. .dwattr $C$DW$84, DW_AT_location[DW_OP_reg6]
  716. $C$DW$85 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  717. .dwattr $C$DW$85, DW_AT_TI_symbol_name("_vec1")
  718. .dwattr $C$DW$85, DW_AT_type(*$C$DW$T$35)
  719. .dwattr $C$DW$85, DW_AT_location[DW_OP_reg10]
  720. $C$DW$86 .dwtag  DW_TAG_variable, DW_AT_name("scale")
  721. .dwattr $C$DW$86, DW_AT_TI_symbol_name("_scale")
  722. .dwattr $C$DW$86, DW_AT_type(*$C$DW$T$38)
  723. .dwattr $C$DW$86, DW_AT_location[DW_OP_reg11]
  724. $C$DW$87 .dwtag  DW_TAG_variable, DW_AT_name("n")
  725. .dwattr $C$DW$87, DW_AT_TI_symbol_name("_n")
  726. .dwattr $C$DW$87, DW_AT_type(*$C$DW$T$38)
  727. .dwattr $C$DW$87, DW_AT_location[DW_OP_reg6]
  728.            MV      .L1     A4,A10            ; |564| 
  729. ||         MV      .S1X    B4,A11            ; |564| 
  730. .dwpsn file "mat_lib.c",line 567,column 14,is_stmt
  731.            CMPGT   .L1     A6,0,A0           ; |567| 
  732.    [!A0]   BNOP    .S1     $C$L11,5          ; |567| 
  733. || [ A0]   MV      .L1     A10,A13
  734.            ; BRANCHCC OCCURS {$C$L11}        ; |567| 
  735. ;** --------------------------------------------------------------------------*
  736. .dwpsn file "mat_lib.c",line 568,column 9,is_stmt
  737.            CALL    .S1     _mult             ; |568| 
  738.            LDH     .D1T1   *A13,A4           ; |568| 
  739.            MV      .L1     A6,A12            ; |568| 
  740.            NOP             2
  741. ;*----------------------------------------------------------------------------*
  742. ;*   SOFTWARE PIPELINE INFORMATION
  743. ;*      Disqualified loop: Loop contains a call
  744. ;*----------------------------------------------------------------------------*
  745. $C$L10:    
  746. $C$DW$L$_v_scale$3$B:
  747.            MV      .L2X    A11,B4            ; |568| 
  748. ||         ADDKPC  .S2     $C$RL5,B3,0       ; |568| 
  749. $C$RL5:    ; CALL OCCURS {_mult}             ; |568| 
  750. $C$DW$L$_v_scale$3$E:
  751. ;** --------------------------------------------------------------------------*
  752. $C$DW$L$_v_scale$4$B:
  753.            STH     .D1T1   A4,*A13++         ; |568| 
  754. .dwpsn file "mat_lib.c",line 567,column 14,is_stmt
  755.            SUB     .L1     A12,1,A0          ; |567| 
  756.    [ A0]   B       .S1     $C$L10            ; |567| 
  757.    [ A0]   CALL    .S1     _mult             ; |568| 
  758.    [ A0]   LDH     .D1T1   *A13,A4           ; |568| 
  759.            SUB     .L1     A12,1,A12         ; |567| 
  760.            NOP             2
  761.            ; BRANCHCC OCCURS {$C$L10}        ; |567| 
  762. $C$DW$L$_v_scale$4$E:
  763. ;** --------------------------------------------------------------------------*
  764. $C$L11:    
  765. .dwpsn file "mat_lib.c",line 570,column 5,is_stmt
  766.            MV      .L1     A10,A4            ; |570| 
  767. .dwpsn file "mat_lib.c",line 571,column 1,is_stmt
  768.            LDDW    .D2T1   *+SP(16),A13:A12  ; |571| 
  769. .dwcfi restore_reg, 13
  770. .dwcfi restore_reg, 12
  771.            LDDW    .D2T1   *+SP(8),A11:A10   ; |571| 
  772. .dwcfi restore_reg, 11
  773. .dwcfi restore_reg, 10
  774.            LDW     .D2T2   *++SP(24),B3      ; |571| 
  775.            NOP             4
  776. .dwcfi cfa_offset, 0
  777. .dwcfi restore_reg, 19
  778. .dwcfi cfa_offset, 0
  779.            RETNOP  .S2     B3,5              ; |571| 
  780.            ; BRANCH OCCURS {B3}              ; |571| 
  781. $C$DW$88 .dwtag  DW_TAG_TI_loop
  782. .dwattr $C$DW$88, DW_AT_name("D:melp429mat_lib.asm:$C$L10:1:1246674193")
  783. .dwattr $C$DW$88, DW_AT_TI_begin_file("mat_lib.c")
  784. .dwattr $C$DW$88, DW_AT_TI_begin_line(0x237)
  785. .dwattr $C$DW$88, DW_AT_TI_end_line(0x239)
  786. $C$DW$89 .dwtag  DW_TAG_TI_loop_range
  787. .dwattr $C$DW$89, DW_AT_low_pc($C$DW$L$_v_scale$3$B)
  788. .dwattr $C$DW$89, DW_AT_high_pc($C$DW$L$_v_scale$3$E)
  789. $C$DW$90 .dwtag  DW_TAG_TI_loop_range
  790. .dwattr $C$DW$90, DW_AT_low_pc($C$DW$L$_v_scale$4$B)
  791. .dwattr $C$DW$90, DW_AT_high_pc($C$DW$L$_v_scale$4$E)
  792. .dwendtag $C$DW$88
  793. .dwattr $C$DW$81, DW_AT_TI_end_file("mat_lib.c")
  794. .dwattr $C$DW$81, DW_AT_TI_end_line(0x23b)
  795. .dwattr $C$DW$81, DW_AT_TI_end_column(0x01)
  796. .dwendentry
  797. .dwendtag $C$DW$81
  798. .sect ".text"
  799. .global _v_magsq
  800. $C$DW$91 .dwtag  DW_TAG_subprogram, DW_AT_name("v_magsq")
  801. .dwattr $C$DW$91, DW_AT_low_pc(_v_magsq)
  802. .dwattr $C$DW$91, DW_AT_high_pc(0x00)
  803. .dwattr $C$DW$91, DW_AT_TI_symbol_name("_v_magsq")
  804. .dwattr $C$DW$91, DW_AT_external
  805. .dwattr $C$DW$91, DW_AT_type(*$C$DW$T$24)
  806. .dwattr $C$DW$91, DW_AT_TI_begin_file("mat_lib.c")
  807. .dwattr $C$DW$91, DW_AT_TI_begin_line(0x1ba)
  808. .dwattr $C$DW$91, DW_AT_TI_begin_column(0x0b)
  809. .dwpsn file "mat_lib.c",line 443,column 1,is_stmt,address _v_magsq
  810. .dwfde $C$DW$CIE, _v_magsq
  811. ;******************************************************************************
  812. ;* FUNCTION NAME: v_magsq                                                     *
  813. ;*                                                                            *
  814. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  815. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,   *
  816. ;*                           A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
  817. ;*                           B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
  818. ;*                           B28,B29,B30,B31                                  *
  819. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  820. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,   *
  821. ;*                           A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
  822. ;*                           B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
  823. ;*                           B28,B29,B30,B31                                  *
  824. ;*   Local Frame Size  : 0 Args + 0 Auto + 24 Save = 24 byte                  *
  825. ;******************************************************************************
  826. ;******************************************************************************
  827. ;*                                                                            *
  828. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  829. ;*                                                                            *
  830. ;******************************************************************************
  831. _v_magsq:
  832. ;** --------------------------------------------------------------------------*
  833. .dwcfi cfa_offset, 0
  834. .dwcfi save_reg_to_reg, 228, 19
  835.            STW     .D2T2   B3,*SP--(24)      ; |443| 
  836. .dwcfi cfa_offset, 24
  837. .dwcfi save_reg_to_mem, 19, 0
  838.            STW     .D2T1   A14,*+SP(20)      ; |443| 
  839. .dwcfi save_reg_to_mem, 14, -4
  840.            STW     .D2T1   A13,*+SP(16)      ; |443| 
  841. .dwcfi save_reg_to_mem, 13, -8
  842.            STW     .D2T1   A12,*+SP(12)      ; |443| 
  843. .dwcfi save_reg_to_mem, 12, -12
  844.            STW     .D2T1   A11,*+SP(8)       ; |443| 
  845. .dwcfi save_reg_to_mem, 11, -16
  846.            STW     .D2T1   A10,*+SP(4)       ; |443| 
  847. .dwcfi save_reg_to_mem, 10, -20
  848. $C$DW$92 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  849. .dwattr $C$DW$92, DW_AT_TI_symbol_name("_vec1")
  850. .dwattr $C$DW$92, DW_AT_type(*$C$DW$T$29)
  851. .dwattr $C$DW$92, DW_AT_location[DW_OP_reg4]
  852. $C$DW$93 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  853. .dwattr $C$DW$93, DW_AT_TI_symbol_name("_n")
  854. .dwattr $C$DW$93, DW_AT_type(*$C$DW$T$24)
  855. .dwattr $C$DW$93, DW_AT_location[DW_OP_reg20]
  856. $C$DW$94 .dwtag  DW_TAG_formal_parameter, DW_AT_name("qvec1")
  857. .dwattr $C$DW$94, DW_AT_TI_symbol_name("_qvec1")
  858. .dwattr $C$DW$94, DW_AT_type(*$C$DW$T$24)
  859. .dwattr $C$DW$94, DW_AT_location[DW_OP_reg6]
  860. $C$DW$95 .dwtag  DW_TAG_formal_parameter, DW_AT_name("qout")
  861. .dwattr $C$DW$95, DW_AT_TI_symbol_name("_qout")
  862. .dwattr $C$DW$95, DW_AT_type(*$C$DW$T$24)
  863. .dwattr $C$DW$95, DW_AT_location[DW_OP_reg22]
  864. $C$DW$96 .dwtag  DW_TAG_variable, DW_AT_name("L_temp")
  865. .dwattr $C$DW$96, DW_AT_TI_symbol_name("_L_temp")
  866. .dwattr $C$DW$96, DW_AT_type(*$C$DW$T$27)
  867. .dwattr $C$DW$96, DW_AT_location[DW_OP_reg11]
  868. $C$DW$97 .dwtag  DW_TAG_variable, DW_AT_name("shift")
  869. .dwattr $C$DW$97, DW_AT_TI_symbol_name("_shift")
  870. .dwattr $C$DW$97, DW_AT_type(*$C$DW$T$24)
  871. .dwattr $C$DW$97, DW_AT_location[DW_OP_reg20]
  872. $C$DW$98 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  873. .dwattr $C$DW$98, DW_AT_TI_symbol_name("_vec1")
  874. .dwattr $C$DW$98, DW_AT_type(*$C$DW$T$35)
  875. .dwattr $C$DW$98, DW_AT_location[DW_OP_reg4]
  876. $C$DW$99 .dwtag  DW_TAG_variable, DW_AT_name("n")
  877. .dwattr $C$DW$99, DW_AT_TI_symbol_name("_n")
  878. .dwattr $C$DW$99, DW_AT_type(*$C$DW$T$38)
  879. .dwattr $C$DW$99, DW_AT_location[DW_OP_reg20]
  880. $C$DW$100 .dwtag  DW_TAG_variable, DW_AT_name("qvec1")
  881. .dwattr $C$DW$100, DW_AT_TI_symbol_name("_qvec1")
  882. .dwattr $C$DW$100, DW_AT_type(*$C$DW$T$38)
  883. .dwattr $C$DW$100, DW_AT_location[DW_OP_reg14]
  884. $C$DW$101 .dwtag  DW_TAG_variable, DW_AT_name("qout")
  885. .dwattr $C$DW$101, DW_AT_TI_symbol_name("_qout")
  886. .dwattr $C$DW$101, DW_AT_type(*$C$DW$T$38)
  887. .dwattr $C$DW$101, DW_AT_location[DW_OP_reg13]
  888.            MV      .L1     A6,A14            ; |443| 
  889. ||         MV      .S1X    B6,A13            ; |443| 
  890. .dwpsn file "mat_lib.c",line 448,column 5,is_stmt
  891.            ZERO    .L1     A11               ; |448| 
  892. .dwpsn file "mat_lib.c",line 449,column 16,is_stmt
  893.            CMPGT   .L2     B4,0,B0           ; |449| 
  894.    [!B0]   BNOP    .S1     $C$L13,5          ; |449| 
  895. || [ B0]   MV      .L1     A4,A10
  896.            ; BRANCHCC OCCURS {$C$L13}        ; |449| 
  897. ;** --------------------------------------------------------------------------*
  898. .dwpsn file "mat_lib.c",line 450,column 9,is_stmt
  899.            LDH     .D1T1   *A10++,A6         ; |450| 
  900. ||         CALL    .S1     _L_mac            ; |450| 
  901.            MV      .L1X    B4,A12            ; |450| 
  902.            NOP             3
  903. ;*----------------------------------------------------------------------------*
  904. ;*   SOFTWARE PIPELINE INFORMATION
  905. ;*      Disqualified loop: Loop contains a call
  906. ;*----------------------------------------------------------------------------*
  907. $C$L12:    
  908. $C$DW$L$_v_magsq$3$B:
  909.            MV      .L1     A11,A4            ; |450| 
  910. ||         MV      .L2X    A6,B4             ; |450| 
  911. ||         ADDKPC  .S2     $C$RL6,B3,0       ; |450| 
  912. $C$RL6:    ; CALL OCCURS {_L_mac}            ; |450| 
  913. $C$DW$L$_v_magsq$3$E:
  914. ;** --------------------------------------------------------------------------*
  915. $C$DW$L$_v_magsq$4$B:
  916.            MV      .L1     A4,A11            ; |450| 
  917. .dwpsn file "mat_lib.c",line 449,column 16,is_stmt
  918.            SUB     .L1     A12,1,A0          ; |449| 
  919.    [ A0]   B       .S1     $C$L12            ; |449| 
  920. || [ A0]   LDH     .D1T1   *A10++,A6         ; |450| 
  921.    [ A0]   CALL    .S1     _L_mac            ; |450| 
  922.            SUB     .L1     A12,1,A12         ; |449| 
  923.            NOP             3
  924.            ; BRANCHCC OCCURS {$C$L12}        ; |449| 
  925. $C$DW$L$_v_magsq$4$E:
  926. ;** --------------------------------------------------------------------------*
  927. $C$L13:    
  928. .dwpsn file "mat_lib.c",line 452,column 5,is_stmt
  929.            CALL    .S1     _shl              ; |452| 
  930.            ADDKPC  .S2     $C$RL7,B3,3       ; |452| 
  931.            MV      .L1     A14,A4            ; |452| 
  932. ||         MVK     .L2     0x1,B4            ; |452| 
  933. $C$RL7:    ; CALL OCCURS {_shl}              ; |452| 
  934. ;** --------------------------------------------------------------------------*
  935.            CALL    .S1     _add              ; |452| 
  936.            ADDKPC  .S2     $C$RL8,B3,3       ; |452| 
  937.            MVK     .L2     0x1,B4            ; |452| 
  938. $C$RL8:    ; CALL OCCURS {_add}              ; |452| 
  939.            CALL    .S1     _sub              ; |452| 
  940.            MVK     .S2     0x10,B4           ; |452| 
  941.            ADDKPC  .S2     $C$RL9,B3,3       ; |452| 
  942. $C$RL9:    ; CALL OCCURS {_sub}              ; |452| 
  943.            CALL    .S1     _sub              ; |452| 
  944.            MV      .L2X    A4,B4             ; |452| 
  945.            MV      .L1     A13,A4            ; |452| 
  946.            ADDKPC  .S2     $C$RL10,B3,2      ; |452| 
  947. $C$RL10:   ; CALL OCCURS {_sub}              ; |452| 
  948.            MV      .L2X    A4,B4             ; |452| 
  949. .dwpsn file "mat_lib.c",line 453,column 5,is_stmt
  950.            CALL    .S1     _L_shl            ; |453| 
  951.            ADDKPC  .S2     $C$RL11,B3,3      ; |453| 
  952.            MV      .L1     A11,A4            ; |453| 
  953. $C$RL11:   ; CALL OCCURS {_L_shl}            ; |453| 
  954.            CALL    .S1     _extract_h        ; |453| 
  955.            ADDKPC  .S2     $C$RL12,B3,4      ; |453| 
  956. $C$RL12:   ; CALL OCCURS {_extract_h}        ; |453| 
  957. ;** --------------------------------------------------------------------------*
  958. .dwpsn file "mat_lib.c",line 454,column 5,is_stmt
  959. .dwpsn file "mat_lib.c",line 455,column 1,is_stmt
  960.            LDW     .D2T1   *+SP(20),A14      ; |455| 
  961. .dwcfi restore_reg, 14
  962.            LDW     .D2T1   *+SP(16),A13      ; |455| 
  963. .dwcfi restore_reg, 13
  964.            LDW     .D2T1   *+SP(12),A12      ; |455| 
  965. .dwcfi restore_reg, 12
  966.            LDW     .D2T1   *+SP(8),A11       ; |455| 
  967. .dwcfi restore_reg, 11
  968.            LDW     .D2T1   *+SP(4),A10       ; |455| 
  969. .dwcfi restore_reg, 10
  970.            LDW     .D2T2   *++SP(24),B3      ; |455| 
  971.            NOP             4
  972. .dwcfi cfa_offset, 0
  973. .dwcfi restore_reg, 19
  974. .dwcfi cfa_offset, 0
  975.            RETNOP  .S2     B3,5              ; |455| 
  976.            ; BRANCH OCCURS {B3}              ; |455| 
  977. $C$DW$102 .dwtag  DW_TAG_TI_loop
  978. .dwattr $C$DW$102, DW_AT_name("D:melp429mat_lib.asm:$C$L12:1:1246674193")
  979. .dwattr $C$DW$102, DW_AT_TI_begin_file("mat_lib.c")
  980. .dwattr $C$DW$102, DW_AT_TI_begin_line(0x1c1)
  981. .dwattr $C$DW$102, DW_AT_TI_end_line(0x1c2)
  982. $C$DW$103 .dwtag  DW_TAG_TI_loop_range
  983. .dwattr $C$DW$103, DW_AT_low_pc($C$DW$L$_v_magsq$3$B)
  984. .dwattr $C$DW$103, DW_AT_high_pc($C$DW$L$_v_magsq$3$E)
  985. $C$DW$104 .dwtag  DW_TAG_TI_loop_range
  986. .dwattr $C$DW$104, DW_AT_low_pc($C$DW$L$_v_magsq$4$B)
  987. .dwattr $C$DW$104, DW_AT_high_pc($C$DW$L$_v_magsq$4$E)
  988. .dwendtag $C$DW$102
  989. .dwattr $C$DW$91, DW_AT_TI_end_file("mat_lib.c")
  990. .dwattr $C$DW$91, DW_AT_TI_end_line(0x1c7)
  991. .dwattr $C$DW$91, DW_AT_TI_end_column(0x01)
  992. .dwendentry
  993. .dwendtag $C$DW$91
  994. .sect ".text"
  995. .global _v_inner
  996. $C$DW$105 .dwtag  DW_TAG_subprogram, DW_AT_name("v_inner")
  997. .dwattr $C$DW$105, DW_AT_low_pc(_v_inner)
  998. .dwattr $C$DW$105, DW_AT_high_pc(0x00)
  999. .dwattr $C$DW$105, DW_AT_TI_symbol_name("_v_inner")
  1000. .dwattr $C$DW$105, DW_AT_external
  1001. .dwattr $C$DW$105, DW_AT_type(*$C$DW$T$24)
  1002. .dwattr $C$DW$105, DW_AT_TI_begin_file("mat_lib.c")
  1003. .dwattr $C$DW$105, DW_AT_TI_begin_line(0x13c)
  1004. .dwattr $C$DW$105, DW_AT_TI_begin_column(0x0b)
  1005. .dwpsn file "mat_lib.c",line 318,column 1,is_stmt,address _v_inner
  1006. .dwfde $C$DW$CIE, _v_inner
  1007. ;******************************************************************************
  1008. ;* FUNCTION NAME: v_inner                                                     *
  1009. ;*                                                                            *
  1010. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  1011. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,SP,A16,A17,A18,   *
  1012. ;*                           A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
  1013. ;*                           A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
  1014. ;*                           B27,B28,B29,B30,B31                              *
  1015. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  1016. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,SP,A16,A17,A18,   *
  1017. ;*                           A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
  1018. ;*                           A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
  1019. ;*                           B27,B28,B29,B30,B31                              *
  1020. ;*   Local Frame Size  : 0 Args + 0 Auto + 28 Save = 28 byte                  *
  1021. ;******************************************************************************
  1022. ;******************************************************************************
  1023. ;*                                                                            *
  1024. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  1025. ;*                                                                            *
  1026. ;******************************************************************************
  1027. _v_inner:
  1028. ;** --------------------------------------------------------------------------*
  1029. .dwcfi cfa_offset, 0
  1030. .dwcfi save_reg_to_reg, 228, 19
  1031.            MV      .L1X    SP,A31            ; |318| 
  1032. ||         STW     .D2T2   B10,*SP--(32)     ; |318| 
  1033. .dwcfi cfa_offset, 32
  1034. .dwcfi save_reg_to_mem, 26, 0
  1035.            STW     .D2T2   B3,*+SP(28)       ; |318| 
  1036. .dwcfi save_reg_to_mem, 19, -4
  1037.            STW     .D1T1   A14,*-A31(8)      ; |318| 
  1038. .dwcfi save_reg_to_mem, 14, -8
  1039.            STDW    .D1T1   A13:A12,*-A31(16) ; |318| 
  1040. .dwcfi save_reg_to_mem, 13, -12
  1041. .dwcfi save_reg_to_mem, 12, -16
  1042.            STDW    .D1T1   A11:A10,*-A31(24) ; |318| 
  1043. .dwcfi save_reg_to_mem, 11, -20
  1044. .dwcfi save_reg_to_mem, 10, -24
  1045. $C$DW$106 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  1046. .dwattr $C$DW$106, DW_AT_TI_symbol_name("_vec1")
  1047. .dwattr $C$DW$106, DW_AT_type(*$C$DW$T$29)
  1048. .dwattr $C$DW$106, DW_AT_location[DW_OP_reg4]
  1049. $C$DW$107 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec2")
  1050. .dwattr $C$DW$107, DW_AT_TI_symbol_name("_vec2")
  1051. .dwattr $C$DW$107, DW_AT_type(*$C$DW$T$29)
  1052. .dwattr $C$DW$107, DW_AT_location[DW_OP_reg20]
  1053. $C$DW$108 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  1054. .dwattr $C$DW$108, DW_AT_TI_symbol_name("_n")
  1055. .dwattr $C$DW$108, DW_AT_type(*$C$DW$T$24)
  1056. .dwattr $C$DW$108, DW_AT_location[DW_OP_reg6]
  1057. $C$DW$109 .dwtag  DW_TAG_formal_parameter, DW_AT_name("qvec1")
  1058. .dwattr $C$DW$109, DW_AT_TI_symbol_name("_qvec1")
  1059. .dwattr $C$DW$109, DW_AT_type(*$C$DW$T$24)
  1060. .dwattr $C$DW$109, DW_AT_location[DW_OP_reg22]
  1061. $C$DW$110 .dwtag  DW_TAG_formal_parameter, DW_AT_name("qvec2")
  1062. .dwattr $C$DW$110, DW_AT_TI_symbol_name("_qvec2")
  1063. .dwattr $C$DW$110, DW_AT_type(*$C$DW$T$24)
  1064. .dwattr $C$DW$110, DW_AT_location[DW_OP_reg8]
  1065. $C$DW$111 .dwtag  DW_TAG_formal_parameter, DW_AT_name("qout")
  1066. .dwattr $C$DW$111, DW_AT_TI_symbol_name("_qout")
  1067. .dwattr $C$DW$111, DW_AT_type(*$C$DW$T$24)
  1068. .dwattr $C$DW$111, DW_AT_location[DW_OP_reg24]
  1069. $C$DW$112 .dwtag  DW_TAG_variable, DW_AT_name("L_temp")
  1070. .dwattr $C$DW$112, DW_AT_TI_symbol_name("_L_temp")
  1071. .dwattr $C$DW$112, DW_AT_type(*$C$DW$T$27)
  1072. .dwattr $C$DW$112, DW_AT_location[DW_OP_reg4]
  1073. $C$DW$113 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  1074. .dwattr $C$DW$113, DW_AT_TI_symbol_name("_vec1")
  1075. .dwattr $C$DW$113, DW_AT_type(*$C$DW$T$35)
  1076. .dwattr $C$DW$113, DW_AT_location[DW_OP_reg26]
  1077. $C$DW$114 .dwtag  DW_TAG_variable, DW_AT_name("vec2")
  1078. .dwattr $C$DW$114, DW_AT_TI_symbol_name("_vec2")
  1079. .dwattr $C$DW$114, DW_AT_type(*$C$DW$T$35)
  1080. .dwattr $C$DW$114, DW_AT_location[DW_OP_reg20]
  1081. $C$DW$115 .dwtag  DW_TAG_variable, DW_AT_name("n")
  1082. .dwattr $C$DW$115, DW_AT_TI_symbol_name("_n")
  1083. .dwattr $C$DW$115, DW_AT_type(*$C$DW$T$38)
  1084. .dwattr $C$DW$115, DW_AT_location[DW_OP_reg6]
  1085. $C$DW$116 .dwtag  DW_TAG_variable, DW_AT_name("qvec1")
  1086. .dwattr $C$DW$116, DW_AT_TI_symbol_name("_qvec1")
  1087. .dwattr $C$DW$116, DW_AT_type(*$C$DW$T$38)
  1088. .dwattr $C$DW$116, DW_AT_location[DW_OP_reg11]
  1089. $C$DW$117 .dwtag  DW_TAG_variable, DW_AT_name("qvec2")
  1090. .dwattr $C$DW$117, DW_AT_TI_symbol_name("_qvec2")
  1091. .dwattr $C$DW$117, DW_AT_type(*$C$DW$T$38)
  1092. .dwattr $C$DW$117, DW_AT_location[DW_OP_reg13]
  1093. $C$DW$118 .dwtag  DW_TAG_variable, DW_AT_name("qout")
  1094. .dwattr $C$DW$118, DW_AT_TI_symbol_name("_qout")
  1095. .dwattr $C$DW$118, DW_AT_type(*$C$DW$T$38)
  1096. .dwattr $C$DW$118, DW_AT_location[DW_OP_reg10]
  1097.            MV      .L2X    A4,B10            ; |318| 
  1098. ||         MV      .L1     A8,A13            ; |318| 
  1099. ||         MV      .S1X    B8,A10            ; |318| 
  1100.            MV      .L1X    B6,A11            ; |318| 
  1101. .dwpsn file "mat_lib.c",line 323,column 5,is_stmt
  1102.            ZERO    .L1     A4                ; |323| 
  1103. .dwpsn file "mat_lib.c",line 324,column 16,is_stmt
  1104.            CMPGT   .L1     A6,0,A0           ; |324| 
  1105.    [!A0]   BNOP    .S1     $C$L15,5          ; |324| 
  1106. || [ A0]   MV      .L1X    B4,A14
  1107.            ; BRANCHCC OCCURS {$C$L15}        ; |324| 
  1108. ;** --------------------------------------------------------------------------*
  1109. .dwpsn file "mat_lib.c",line 325,column 9,is_stmt
  1110.            MV      .L1     A6,A12            ; |325| 
  1111. ||         LDH     .D1T1   *A14++,A6         ; |325| 
  1112. ||         CALL    .S1     _L_mac            ; |325| 
  1113.            LDH     .D2T2   *B10++,B4         ; |325| 
  1114.            NOP             3
  1115. ;*----------------------------------------------------------------------------*
  1116. ;*   SOFTWARE PIPELINE INFORMATION
  1117. ;*      Disqualified loop: Loop contains a call
  1118. ;*----------------------------------------------------------------------------*
  1119. $C$L14:    
  1120. $C$DW$L$_v_inner$3$B:
  1121.            ADDKPC  .S2     $C$RL13,B3,0      ; |325| 
  1122. $C$RL13:   ; CALL OCCURS {_L_mac}            ; |325| 
  1123. $C$DW$L$_v_inner$3$E:
  1124. ;** --------------------------------------------------------------------------*
  1125. $C$DW$L$_v_inner$4$B:
  1126. .dwpsn file "mat_lib.c",line 324,column 16,is_stmt
  1127.            SUB     .L1     A12,1,A0          ; |324| 
  1128.    [ A0]   LDH     .D2T2   *B10++,B4         ; |325| 
  1129. || [ A0]   B       .S1     $C$L14            ; |324| 
  1130.    [ A0]   CALL    .S1     _L_mac            ; |325| 
  1131.    [ A0]   LDH     .D1T1   *A14++,A6         ; |325| 
  1132.            SUB     .L1     A12,1,A12         ; |324| 
  1133.            NOP             2
  1134.            ; BRANCHCC OCCURS {$C$L14}        ; |324| 
  1135. $C$DW$L$_v_inner$4$E:
  1136. ;** --------------------------------------------------------------------------*
  1137. $C$L15:    
  1138. .dwpsn file "mat_lib.c",line 326,column 5,is_stmt
  1139.            SUB     .L1     A10,A11,A3        ; |326| 
  1140. ||         CALL    .S1     _L_shl            ; |326| 
  1141.            SUB     .L1     A3,A13,A3         ; |326| 
  1142.            ADD     .L1     15,A3,A3          ; |326| 
  1143.            EXT     .S1     A3,16,16,A3       ; |326| 
  1144.            ADDKPC  .S2     $C$RL14,B3,0      ; |326| 
  1145.            MV      .L2X    A3,B4             ; |326| 
  1146. $C$RL14:   ; CALL OCCURS {_L_shl}            ; |326| 
  1147. ;** --------------------------------------------------------------------------*
  1148.            CALL    .S1     _extract_h        ; |326| 
  1149.            ADDKPC  .S2     $C$RL15,B3,4      ; |326| 
  1150. $C$RL15:   ; CALL OCCURS {_extract_h}        ; |326| 
  1151. ;** --------------------------------------------------------------------------*
  1152. .dwpsn file "mat_lib.c",line 327,column 5,is_stmt
  1153. .dwpsn file "mat_lib.c",line 328,column 1,is_stmt
  1154.            LDW     .D2T2   *+SP(28),B3       ; |328| 
  1155. ||         MV      .L1X    SP,A31            ; |328| 
  1156. .dwcfi restore_reg, 19
  1157.            LDW     .D1T1   *+A31(24),A14     ; |328| 
  1158. .dwcfi restore_reg, 14
  1159.            LDDW    .D1T1   *+A31(16),A13:A12 ; |328| 
  1160. .dwcfi restore_reg, 13
  1161. .dwcfi restore_reg, 12
  1162.            LDDW    .D1T1   *+A31(8),A11:A10  ; |328| 
  1163. .dwcfi restore_reg, 11
  1164. .dwcfi restore_reg, 10
  1165.            LDW     .D2T2   *++SP(32),B10     ; |328| 
  1166. .dwcfi cfa_offset, 0
  1167. .dwcfi restore_reg, 26
  1168. .dwcfi cfa_offset, 0
  1169.            RETNOP  .S2     B3,5              ; |328| 
  1170.            ; BRANCH OCCURS {B3}              ; |328| 
  1171. $C$DW$119 .dwtag  DW_TAG_TI_loop
  1172. .dwattr $C$DW$119, DW_AT_name("D:melp429mat_lib.asm:$C$L14:1:1246674193")
  1173. .dwattr $C$DW$119, DW_AT_TI_begin_file("mat_lib.c")
  1174. .dwattr $C$DW$119, DW_AT_TI_begin_line(0x144)
  1175. .dwattr $C$DW$119, DW_AT_TI_end_line(0x145)
  1176. $C$DW$120 .dwtag  DW_TAG_TI_loop_range
  1177. .dwattr $C$DW$120, DW_AT_low_pc($C$DW$L$_v_inner$3$B)
  1178. .dwattr $C$DW$120, DW_AT_high_pc($C$DW$L$_v_inner$3$E)
  1179. $C$DW$121 .dwtag  DW_TAG_TI_loop_range
  1180. .dwattr $C$DW$121, DW_AT_low_pc($C$DW$L$_v_inner$4$B)
  1181. .dwattr $C$DW$121, DW_AT_high_pc($C$DW$L$_v_inner$4$E)
  1182. .dwendtag $C$DW$119
  1183. .dwattr $C$DW$105, DW_AT_TI_end_file("mat_lib.c")
  1184. .dwattr $C$DW$105, DW_AT_TI_end_line(0x148)
  1185. .dwattr $C$DW$105, DW_AT_TI_end_column(0x01)
  1186. .dwendentry
  1187. .dwendtag $C$DW$105
  1188. .sect ".text"
  1189. .global _v_equ_shr
  1190. $C$DW$122 .dwtag  DW_TAG_subprogram, DW_AT_name("v_equ_shr")
  1191. .dwattr $C$DW$122, DW_AT_low_pc(_v_equ_shr)
  1192. .dwattr $C$DW$122, DW_AT_high_pc(0x00)
  1193. .dwattr $C$DW$122, DW_AT_TI_symbol_name("_v_equ_shr")
  1194. .dwattr $C$DW$122, DW_AT_external
  1195. .dwattr $C$DW$122, DW_AT_type(*$C$DW$T$29)
  1196. .dwattr $C$DW$122, DW_AT_TI_begin_file("mat_lib.c")
  1197. .dwattr $C$DW$122, DW_AT_TI_begin_line(0xd2)
  1198. .dwattr $C$DW$122, DW_AT_TI_begin_column(0x0c)
  1199. .dwpsn file "mat_lib.c",line 212,column 1,is_stmt,address _v_equ_shr
  1200. .dwfde $C$DW$CIE, _v_equ_shr
  1201. ;******************************************************************************
  1202. ;* FUNCTION NAME: v_equ_shr                                                   *
  1203. ;*                                                                            *
  1204. ;*   Regs Modified     : A0,A1,A3,A4,A5,A7,B0,B1,B4,B5,B6,B7                  *
  1205. ;*   Regs Used         : A0,A1,A3,A4,A5,A6,A7,B0,B1,B3,B4,B5,B6,B7,DP,SP      *
  1206. ;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
  1207. ;******************************************************************************
  1208. ;******************************************************************************
  1209. ;*                                                                            *
  1210. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  1211. ;*                                                                            *
  1212. ;******************************************************************************
  1213. _v_equ_shr:
  1214. ;** --------------------------------------------------------------------------*
  1215. .dwcfi cfa_offset, 0
  1216. .dwcfi save_reg_to_reg, 228, 19
  1217. $C$DW$123 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  1218. .dwattr $C$DW$123, DW_AT_TI_symbol_name("_vec1")
  1219. .dwattr $C$DW$123, DW_AT_type(*$C$DW$T$29)
  1220. .dwattr $C$DW$123, DW_AT_location[DW_OP_reg4]
  1221. $C$DW$124 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec2")
  1222. .dwattr $C$DW$124, DW_AT_TI_symbol_name("_vec2")
  1223. .dwattr $C$DW$124, DW_AT_type(*$C$DW$T$29)
  1224. .dwattr $C$DW$124, DW_AT_location[DW_OP_reg20]
  1225. $C$DW$125 .dwtag  DW_TAG_formal_parameter, DW_AT_name("scale")
  1226. .dwattr $C$DW$125, DW_AT_TI_symbol_name("_scale")
  1227. .dwattr $C$DW$125, DW_AT_type(*$C$DW$T$24)
  1228. .dwattr $C$DW$125, DW_AT_location[DW_OP_reg6]
  1229. $C$DW$126 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  1230. .dwattr $C$DW$126, DW_AT_TI_symbol_name("_n")
  1231. .dwattr $C$DW$126, DW_AT_type(*$C$DW$T$24)
  1232. .dwattr $C$DW$126, DW_AT_location[DW_OP_reg22]
  1233. $C$DW$127 .dwtag  DW_TAG_variable, DW_AT_name("n")
  1234. .dwattr $C$DW$127, DW_AT_TI_symbol_name("_n")
  1235. .dwattr $C$DW$127, DW_AT_type(*$C$DW$T$38)
  1236. .dwattr $C$DW$127, DW_AT_location[DW_OP_reg22]
  1237. $C$DW$128 .dwtag  DW_TAG_variable, DW_AT_name("scale")
  1238. .dwattr $C$DW$128, DW_AT_TI_symbol_name("_scale")
  1239. .dwattr $C$DW$128, DW_AT_type(*$C$DW$T$38)
  1240. .dwattr $C$DW$128, DW_AT_location[DW_OP_reg6]
  1241. $C$DW$129 .dwtag  DW_TAG_variable, DW_AT_name("vec2")
  1242. .dwattr $C$DW$129, DW_AT_TI_symbol_name("_vec2")
  1243. .dwattr $C$DW$129, DW_AT_type(*$C$DW$T$35)
  1244. .dwattr $C$DW$129, DW_AT_location[DW_OP_reg20]
  1245. $C$DW$130 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  1246. .dwattr $C$DW$130, DW_AT_TI_symbol_name("_vec1")
  1247. .dwattr $C$DW$130, DW_AT_type(*$C$DW$T$35)
  1248. .dwattr $C$DW$130, DW_AT_location[DW_OP_reg5]
  1249.            MV      .L1     A4,A5             ; |212| 
  1250. .dwpsn file "mat_lib.c",line 215,column 14,is_stmt
  1251.            CMPGT   .L2     B6,0,B1           ; |215| 
  1252.    [!B1]   BNOP    .S1     $C$L25,5          ; |215| 
  1253.            ; BRANCHCC OCCURS {$C$L25}        ; |215| 
  1254. ;** --------------------------------------------------------------------------*
  1255. .dwpsn file "mat_lib.c",line 217,column 3,is_stmt
  1256.            SUB     .L2X    B4,A5,B7          ; |217| 
  1257. ||         ADD     .S2     B6,B6,B5          ; |217| 
  1258. ||         SUB     .L1X    A5,B4,A3          ; |217| 
  1259. ||         MV      .D2     B6,B0
  1260. ||         MV      .S1     A5,A7
  1261.            CMPGT   .L2     B5,B7,B7          ; |217| 
  1262. ||         MV      .L1X    B4,A4
  1263.            CMPGT   .L1X    B5,A3,A3          ; |217| 
  1264. ||         CMPGT   .L2     B0,6,B1
  1265.            AND     .L1X    A3,B7,A1
  1266.    [!A1]   BNOP    .S1     $C$L19,5          ; |217| 
  1267.            ; BRANCHCC OCCURS {$C$L19}        ; |217| 
  1268. ;** --------------------------------------------------------------------------*
  1269.            MVC     .S2     CSR,B7
  1270. ||         SUB     .L1X    B6,1,A0
  1271. ||         MV      .L2X    A5,B6
  1272.            AND     .L2     -2,B7,B5
  1273. ||         MV      .S2X    A6,B4
  1274.            MVC     .S2     B5,CSR            ; interrupts off
  1275. ;*----------------------------------------------------------------------------*
  1276. ;*   SOFTWARE PIPELINE INFORMATION
  1277. ;*
  1278. ;*      Loop source line                 : 215
  1279. ;*      Loop opening brace source line   : 215
  1280. ;*      Loop closing brace source line   : 220
  1281. ;*      Known Minimum Trip Count         : 1                    
  1282. ;*      Known Maximum Trip Count         : 65536                    
  1283. ;*      Known Max Trip Count Factor      : 1
  1284. ;*      Loop Carried Dependency Bound(^) : 8
  1285. ;*      Unpartitioned Resource Bound     : 1
  1286. ;*      Partitioned Resource Bound(*)    : 1
  1287. ;*      Resource Partition:
  1288. ;*                                A-side   B-side
  1289. ;*      .L units                     0        0     
  1290. ;*      .S units                     0        1*    
  1291. ;*      .D units                     1*       1*    
  1292. ;*      .M units                     1*       0     
  1293. ;*      .X cross paths               1*       0     
  1294. ;*      .T address paths             1*       1*    
  1295. ;*      Long read paths              0        0     
  1296. ;*      Long write paths             0        0     
  1297. ;*      Logical  ops (.LS)           0        0     (.L or .S unit)
  1298. ;*      Addition ops (.LSD)          0        0     (.L or .S or .D unit)
  1299. ;*      Bound(.L .S .LS)             0        1*    
  1300. ;*      Bound(.L .S .D .LS .LSD)     1*       1*    
  1301. ;*
  1302. ;*      Searching for software pipeline schedule at ...
  1303. ;*         ii = 8  Schedule found with 1 iterations in parallel
  1304. ;*      Done
  1305. ;*
  1306. ;*      Collapsed epilog stages     : 0
  1307. ;*      Collapsed prolog stages     : 0
  1308. ;*
  1309. ;*      Minimum safe trip count     : 1
  1310. ;*----------------------------------------------------------------------------*
  1311. $C$L16:    ; PIPED LOOP PROLOG
  1312. ;** --------------------------------------------------------------------------*
  1313. $C$L17:    ; PIPED LOOP KERNEL
  1314. $C$DW$L$_v_equ_shr$5$B:
  1315.            LDH     .D1T1   *A4++,A3          ; |217| <0,0>  ^ 
  1316.            NOP             1
  1317.    [ A0]   BDEC    .S1     $C$L17,A0         ; |215| <0,2> 
  1318.            NOP             2
  1319.            SSHVR   .M2X    A3,B4,B5          ; |217| <0,5>  ^ 
  1320.            NOP             1
  1321.            STH     .D2T2   B5,*B6++          ; |217| <0,7>  ^ 
  1322. $C$DW$L$_v_equ_shr$5$E:
  1323. ;** --------------------------------------------------------------------------*
  1324. $C$L18:    ; PIPED LOOP EPILOG
  1325. ;** --------------------------------------------------------------------------*
  1326.            BNOP    .S1     $C$L25,5          ; |215| 
  1327. ||         MVC     .S2     B7,CSR            ; interrupts on
  1328.            ; BRANCH OCCURS {$C$L25}          ; |215| 
  1329. ;** --------------------------------------------------------------------------*
  1330. $C$L19:    
  1331.    [ B1]   BNOP    .S1     $C$L21,5
  1332.            ; BRANCHCC OCCURS {$C$L21} 
  1333. ;** --------------------------------------------------------------------------*
  1334. ;**   BEGIN LOOP $C$L20
  1335. ;** --------------------------------------------------------------------------*
  1336. $C$L20:    
  1337. $C$DW$L$_v_equ_shr$9$B:
  1338.            LDH     .D1T1   *A4++,A3          ; |217| 
  1339.            NOP             4
  1340.            SSHVR   .M1     A3,A6,A3          ; |217| 
  1341.            NOP             1
  1342.            STH     .D1T1   A3,*A7++          ; |217| 
  1343. .dwpsn file "mat_lib.c",line 215,column 14,is_stmt
  1344.            SUB     .L2     B0,1,B0           ; |215| 
  1345.    [ B0]   B       .S1     $C$L20            ; |215| 
  1346.    [!B0]   BNOP    .S1     $C$L25,4
  1347.            ; BRANCHCC OCCURS {$C$L20}        ; |215| 
  1348. $C$DW$L$_v_equ_shr$9$E:
  1349. ;** --------------------------------------------------------------------------*
  1350.            NOP             1
  1351.            ; BRANCH OCCURS {$C$L25} 
  1352. ;** --------------------------------------------------------------------------*
  1353. $C$L21:    
  1354.            MVC     .S2     CSR,B7
  1355. ||         SUB     .L1X    B0,6,A0
  1356.            AND     .L2     -2,B7,B4
  1357.            MVC     .S2     B4,CSR            ; interrupts off
  1358. ;*----------------------------------------------------------------------------*
  1359. ;*   SOFTWARE PIPELINE INFORMATION
  1360. ;*
  1361. ;*      Loop source line                 : 215
  1362. ;*      Loop opening brace source line   : 215
  1363. ;*      Loop closing brace source line   : 220
  1364. ;*      Known Minimum Trip Count         : 1                    
  1365. ;*      Known Maximum Trip Count         : 65536                    
  1366. ;*      Known Max Trip Count Factor      : 1
  1367. ;*      Loop Carried Dependency Bound(^) : 0
  1368. ;*      Unpartitioned Resource Bound     : 1
  1369. ;*      Partitioned Resource Bound(*)    : 1
  1370. ;*      Resource Partition:
  1371. ;*                                A-side   B-side
  1372. ;*      .L units                     0        0     
  1373. ;*      .S units                     1*       0     
  1374. ;*      .D units                     1*       1*    
  1375. ;*      .M units                     0        1*    
  1376. ;*      .X cross paths               0        1*    
  1377. ;*      .T address paths             1*       1*    
  1378. ;*      Long read paths              0        0     
  1379. ;*      Long write paths             0        0     
  1380. ;*      Logical  ops (.LS)           0        0     (.L or .S unit)
  1381. ;*      Addition ops (.LSD)          0        0     (.L or .S or .D unit)
  1382. ;*      Bound(.L .S .LS)             1*       0     
  1383. ;*      Bound(.L .S .D .LS .LSD)     1*       1*    
  1384. ;*
  1385. ;*      Searching for software pipeline schedule at ...
  1386. ;*         ii = 1  Schedule found with 8 iterations in parallel
  1387. ;*      Done
  1388. ;*
  1389. ;*      Epilog not removed
  1390. ;*      Collapsed epilog stages     : 0
  1391. ;*
  1392. ;*      Prolog not entirely removed
  1393. ;*      Collapsed prolog stages     : 2
  1394. ;*
  1395. ;*      Minimum required memory pad : 0 bytes
  1396. ;*
  1397. ;*      For further improvement on this loop, try option -mh14
  1398. ;*
  1399. ;*      Minimum safe trip count     : 7
  1400. ;*----------------------------------------------------------------------------*
  1401. $C$L22:    ; PIPED LOOP PROLOG
  1402.            LDH     .D1T1   *A4++,A3          ; |217| (P) <0,0> 
  1403. || [ A0]   BDEC    .S1     $C$L23,A0         ; |215| (P) <0,2> 
  1404.    [ A0]   BDEC    .S1     $C$L23,A0         ; |215| (P) <1,2> 
  1405. ||         LDH     .D1T1   *A4++,A3          ; |217| (P) <1,0> 
  1406.            LDH     .D1T1   *A4++,A3          ; |217| (P) <2,0> 
  1407. || [ A0]   BDEC    .S1     $C$L23,A0         ; |215| (P) <2,2> 
  1408.            MV      .L2X    A6,B6
  1409. || [ A0]   BDEC    .S1     $C$L23,A0         ; |215| (P) <3,2> 
  1410. ||         LDH     .D1T1   *A4++,A3          ; |217| (P) <3,0> 
  1411.            MVK     .L1     0x2,A1            ; init prolog collapse predicate
  1412. ||         MV      .L2X    A7,B5
  1413. ||         LDH     .D1T1   *A4++,A3          ; |217| (P) <4,0> 
  1414. || [ A0]   BDEC    .S1     $C$L23,A0         ; |215| (P) <4,2> 
  1415. ;** --------------------------------------------------------------------------*
  1416. $C$L23:    ; PIPED LOOP KERNEL
  1417. $C$DW$L$_v_equ_shr$13$B:
  1418.    [ A1]   SUB     .L1     A1,1,A1           ; <0,7> 
  1419. || [!A1]   STH     .D2T2   B4,*B5++          ; |217| <0,7> 
  1420. ||         SSHVR   .M2X    A3,B6,B4          ; |217| <2,5> 
  1421. || [ A0]   BDEC    .S1     $C$L23,A0         ; |215| <5,2> 
  1422. ||         LDH     .D1T1   *A4++,A3          ; |217| <7,0> 
  1423. $C$DW$L$_v_equ_shr$13$E:
  1424. ;** --------------------------------------------------------------------------*
  1425. $C$L24:    ; PIPED LOOP EPILOG
  1426.            SSHVR   .M2X    A3,B6,B4          ; |217| (E) <3,5> 
  1427. ||         STH     .D2T2   B4,*B5++          ; |217| (E) <1,7> 
  1428.            STH     .D2T2   B4,*B5++          ; |217| (E) <2,7> 
  1429. ||         SSHVR   .M2X    A3,B6,B4          ; |217| (E) <4,5> 
  1430.            SSHVR   .M2X    A3,B6,B4          ; |217| (E) <5,5> 
  1431. ||         STH     .D2T2   B4,*B5++          ; |217| (E) <3,7> 
  1432.            STH     .D2T2   B4,*B5++          ; |217| (E) <4,7> 
  1433. ||         SSHVR   .M2X    A3,B6,B4          ; |217| (E) <6,5> 
  1434.            SSHVR   .M2X    A3,B6,B4          ; |217| (E) <7,5> 
  1435. ||         STH     .D2T2   B4,*B5++          ; |217| (E) <5,7> 
  1436.            MVC     .S2     B7,CSR            ; interrupts on
  1437. ||         STH     .D2T2   B4,*B5++          ; |217| (E) <6,7> 
  1438. ;** --------------------------------------------------------------------------*
  1439.            STH     .D2T2   B4,*B5++          ; |217| (E) <7,7> 
  1440. ;** --------------------------------------------------------------------------*
  1441. $C$L25:    
  1442. .dwpsn file "mat_lib.c",line 221,column 5,is_stmt
  1443.            MV      .L1     A5,A4             ; |221| 
  1444. .dwpsn file "mat_lib.c",line 222,column 1,is_stmt
  1445. .dwcfi cfa_offset, 0
  1446.            RETNOP  .S2     B3,5              ; |222| 
  1447.            ; BRANCH OCCURS {B3}              ; |222| 
  1448. $C$DW$131 .dwtag  DW_TAG_TI_loop
  1449. .dwattr $C$DW$131, DW_AT_name("D:melp429mat_lib.asm:$C$L23:1:1246674193")
  1450. .dwattr $C$DW$131, DW_AT_TI_begin_file("mat_lib.c")
  1451. .dwattr $C$DW$131, DW_AT_TI_begin_line(0xd7)
  1452. .dwattr $C$DW$131, DW_AT_TI_end_line(0xdc)
  1453. $C$DW$132 .dwtag  DW_TAG_TI_loop_range
  1454. .dwattr $C$DW$132, DW_AT_low_pc($C$DW$L$_v_equ_shr$13$B)
  1455. .dwattr $C$DW$132, DW_AT_high_pc($C$DW$L$_v_equ_shr$13$E)
  1456. .dwendtag $C$DW$131
  1457. $C$DW$133 .dwtag  DW_TAG_TI_loop
  1458. .dwattr $C$DW$133, DW_AT_name("D:melp429mat_lib.asm:$C$L20:1:1246674193")
  1459. .dwattr $C$DW$133, DW_AT_TI_begin_file("mat_lib.c")
  1460. .dwattr $C$DW$133, DW_AT_TI_begin_line(0xd7)
  1461. .dwattr $C$DW$133, DW_AT_TI_end_line(0xdc)
  1462. $C$DW$134 .dwtag  DW_TAG_TI_loop_range
  1463. .dwattr $C$DW$134, DW_AT_low_pc($C$DW$L$_v_equ_shr$9$B)
  1464. .dwattr $C$DW$134, DW_AT_high_pc($C$DW$L$_v_equ_shr$9$E)
  1465. .dwendtag $C$DW$133
  1466. $C$DW$135 .dwtag  DW_TAG_TI_loop
  1467. .dwattr $C$DW$135, DW_AT_name("D:melp429mat_lib.asm:$C$L17:1:1246674193")
  1468. .dwattr $C$DW$135, DW_AT_TI_begin_file("mat_lib.c")
  1469. .dwattr $C$DW$135, DW_AT_TI_begin_line(0xd7)
  1470. .dwattr $C$DW$135, DW_AT_TI_end_line(0xdc)
  1471. $C$DW$136 .dwtag  DW_TAG_TI_loop_range
  1472. .dwattr $C$DW$136, DW_AT_low_pc($C$DW$L$_v_equ_shr$5$B)
  1473. .dwattr $C$DW$136, DW_AT_high_pc($C$DW$L$_v_equ_shr$5$E)
  1474. .dwendtag $C$DW$135
  1475. .dwattr $C$DW$122, DW_AT_TI_end_file("mat_lib.c")
  1476. .dwattr $C$DW$122, DW_AT_TI_end_line(0xde)
  1477. .dwattr $C$DW$122, DW_AT_TI_end_column(0x01)
  1478. .dwendentry
  1479. .dwendtag $C$DW$122
  1480. .sect ".text"
  1481. .global _v_equ
  1482. $C$DW$137 .dwtag  DW_TAG_subprogram, DW_AT_name("v_equ")
  1483. .dwattr $C$DW$137, DW_AT_low_pc(_v_equ)
  1484. .dwattr $C$DW$137, DW_AT_high_pc(0x00)
  1485. .dwattr $C$DW$137, DW_AT_TI_symbol_name("_v_equ")
  1486. .dwattr $C$DW$137, DW_AT_external
  1487. .dwattr $C$DW$137, DW_AT_type(*$C$DW$T$29)
  1488. .dwattr $C$DW$137, DW_AT_TI_begin_file("mat_lib.c")
  1489. .dwattr $C$DW$137, DW_AT_TI_begin_line(0xa2)
  1490. .dwattr $C$DW$137, DW_AT_TI_begin_column(0x0c)
  1491. .dwpsn file "mat_lib.c",line 163,column 1,is_stmt,address _v_equ
  1492. .dwfde $C$DW$CIE, _v_equ
  1493. ;******************************************************************************
  1494. ;* FUNCTION NAME: v_equ                                                       *
  1495. ;*                                                                            *
  1496. ;*   Regs Modified     : A0,A1,A3,A4,A5,A7,B0,B1,B4,B5,B6,B7                  *
  1497. ;*   Regs Used         : A0,A1,A3,A4,A5,A6,A7,B0,B1,B3,B4,B5,B6,B7,DP,SP      *
  1498. ;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
  1499. ;******************************************************************************
  1500. ;******************************************************************************
  1501. ;*                                                                            *
  1502. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  1503. ;*                                                                            *
  1504. ;******************************************************************************
  1505. _v_equ:
  1506. ;** --------------------------------------------------------------------------*
  1507. .dwcfi cfa_offset, 0
  1508. .dwcfi save_reg_to_reg, 228, 19
  1509. $C$DW$138 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  1510. .dwattr $C$DW$138, DW_AT_TI_symbol_name("_vec1")
  1511. .dwattr $C$DW$138, DW_AT_type(*$C$DW$T$29)
  1512. .dwattr $C$DW$138, DW_AT_location[DW_OP_reg4]
  1513. $C$DW$139 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec2")
  1514. .dwattr $C$DW$139, DW_AT_TI_symbol_name("_vec2")
  1515. .dwattr $C$DW$139, DW_AT_type(*$C$DW$T$29)
  1516. .dwattr $C$DW$139, DW_AT_location[DW_OP_reg20]
  1517. $C$DW$140 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  1518. .dwattr $C$DW$140, DW_AT_TI_symbol_name("_n")
  1519. .dwattr $C$DW$140, DW_AT_type(*$C$DW$T$24)
  1520. .dwattr $C$DW$140, DW_AT_location[DW_OP_reg6]
  1521. $C$DW$141 .dwtag  DW_TAG_variable, DW_AT_name("n")
  1522. .dwattr $C$DW$141, DW_AT_TI_symbol_name("_n")
  1523. .dwattr $C$DW$141, DW_AT_type(*$C$DW$T$38)
  1524. .dwattr $C$DW$141, DW_AT_location[DW_OP_reg6]
  1525. $C$DW$142 .dwtag  DW_TAG_variable, DW_AT_name("vec2")
  1526. .dwattr $C$DW$142, DW_AT_TI_symbol_name("_vec2")
  1527. .dwattr $C$DW$142, DW_AT_type(*$C$DW$T$35)
  1528. .dwattr $C$DW$142, DW_AT_location[DW_OP_reg20]
  1529. $C$DW$143 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  1530. .dwattr $C$DW$143, DW_AT_TI_symbol_name("_vec1")
  1531. .dwattr $C$DW$143, DW_AT_type(*$C$DW$T$35)
  1532. .dwattr $C$DW$143, DW_AT_location[DW_OP_reg5]
  1533.            MV      .L1     A4,A5             ; |163| 
  1534. .dwpsn file "mat_lib.c",line 166,column 14,is_stmt
  1535.            CMPGT   .L1     A6,0,A1           ; |166| 
  1536.    [!A1]   BNOP    .S1     $C$L35,5          ; |166| 
  1537.            ; BRANCHCC OCCURS {$C$L35}        ; |166| 
  1538. ;** --------------------------------------------------------------------------*
  1539. .dwpsn file "mat_lib.c",line 167,column 7,is_stmt
  1540.            SUB     .L1X    B4,A5,A4          ; |167| 
  1541. ||         ADD     .S1     A6,A6,A3          ; |167| 
  1542. ||         SUB     .L2X    A5,B4,B5          ; |167| 
  1543. ||         MV      .D1     A6,A0
  1544.            CMPGT   .L1     A3,A4,A4          ; |167| 
  1545. ||         MV      .L2X    A6,B0
  1546. ||         MV      .S1     A5,A7
  1547.            CMPGT   .L2X    A3,B5,B5          ; |167| 
  1548.            AND     .L2X    B5,A4,B1
  1549. ||         MV      .L1X    B4,A4
  1550.    [!B1]   BNOP    .S1     $C$L29,5          ; |167| 
  1551. ||         CMPGT   .L2     B0,5,B1
  1552.            ; BRANCHCC OCCURS {$C$L29}        ; |167| 
  1553. ;** --------------------------------------------------------------------------*
  1554.            MVC     .S2     CSR,B7
  1555. ||         MV      .L2     B4,B5
  1556. ||         MV      .D2X    A5,B4
  1557. ||         SUB     .L1     A0,1,A0
  1558.            AND     .L2     -2,B7,B6
  1559.            MVC     .S2     B6,CSR            ; interrupts off
  1560. ;*----------------------------------------------------------------------------*
  1561. ;*   SOFTWARE PIPELINE INFORMATION
  1562. ;*
  1563. ;*      Loop source line                 : 166
  1564. ;*      Loop opening brace source line   : 166
  1565. ;*      Loop closing brace source line   : 168
  1566. ;*      Known Minimum Trip Count         : 1                    
  1567. ;*      Known Maximum Trip Count         : 65536                    
  1568. ;*      Known Max Trip Count Factor      : 1
  1569. ;*      Loop Carried Dependency Bound(^) : 6
  1570. ;*      Unpartitioned Resource Bound     : 1
  1571. ;*      Partitioned Resource Bound(*)    : 2
  1572. ;*      Resource Partition:
  1573. ;*                                A-side   B-side
  1574. ;*      .L units                     0        0     
  1575. ;*      .S units                     1        0     
  1576. ;*      .D units                     0        2*    
  1577. ;*      .M units                     0        0     
  1578. ;*      .X cross paths               0        0     
  1579. ;*      .T address paths             0        2*    
  1580. ;*      Long read paths              0        0     
  1581. ;*      Long write paths             0        0     
  1582. ;*      Logical  ops (.LS)           0        0     (.L or .S unit)
  1583. ;*      Addition ops (.LSD)          0        0     (.L or .S or .D unit)
  1584. ;*      Bound(.L .S .LS)             1        0     
  1585. ;*      Bound(.L .S .D .LS .LSD)     1        1     
  1586. ;*
  1587. ;*      Searching for software pipeline schedule at ...
  1588. ;*         ii = 6  Schedule found with 1 iterations in parallel
  1589. ;*      Done
  1590. ;*
  1591. ;*      Collapsed epilog stages     : 0
  1592. ;*      Collapsed prolog stages     : 0
  1593. ;*
  1594. ;*      Minimum safe trip count     : 1
  1595. ;*----------------------------------------------------------------------------*
  1596. $C$L26:    ; PIPED LOOP PROLOG
  1597. ;** --------------------------------------------------------------------------*
  1598. $C$L27:    ; PIPED LOOP KERNEL
  1599. $C$DW$L$_v_equ$5$B:
  1600.    [ A0]   BDEC    .S1     $C$L27,A0         ; |166| <0,0> 
  1601. ||         LDH     .D2T2   *B5++,B6          ; |167| <0,0>  ^ 
  1602.            NOP             4
  1603.            STH     .D2T2   B6,*B4++          ; |167| <0,5>  ^ 
  1604. $C$DW$L$_v_equ$5$E:
  1605. ;** --------------------------------------------------------------------------*
  1606. $C$L28:    ; PIPED LOOP EPILOG
  1607. ;** --------------------------------------------------------------------------*
  1608.            BNOP    .S1     $C$L35,5          ; |166| 
  1609. ||         MVC     .S2     B7,CSR            ; interrupts on
  1610.            ; BRANCH OCCURS {$C$L35}          ; |166| 
  1611. ;** --------------------------------------------------------------------------*
  1612. $C$L29:    
  1613.    [ B1]   BNOP    .S1     $C$L31,5
  1614.            ; BRANCHCC OCCURS {$C$L31} 
  1615. ;** --------------------------------------------------------------------------*
  1616. ;**   BEGIN LOOP $C$L30
  1617. ;** --------------------------------------------------------------------------*
  1618. $C$L30:    
  1619. $C$DW$L$_v_equ$9$B:
  1620.            LDH     .D1T1   *A4++,A3          ; |167| 
  1621.            NOP             4
  1622.            STH     .D1T1   A3,*A7++          ; |167| 
  1623. .dwpsn file "mat_lib.c",line 166,column 14,is_stmt
  1624.            SUB     .L2     B0,1,B0           ; |166| 
  1625.    [ B0]   B       .S1     $C$L30            ; |166| 
  1626.    [!B0]   BNOP    .S1     $C$L35,4
  1627.            ; BRANCHCC OCCURS {$C$L30}        ; |166| 
  1628. $C$DW$L$_v_equ$9$E:
  1629. ;** --------------------------------------------------------------------------*
  1630.            NOP             1
  1631.            ; BRANCH OCCURS {$C$L35} 
  1632. ;** --------------------------------------------------------------------------*
  1633. $C$L31:    
  1634.            MVC     .S2     CSR,B6
  1635. ||         SUB     .L1X    B0,6,A0
  1636.            AND     .L2     -2,B6,B4
  1637.            MVC     .S2     B4,CSR            ; interrupts off
  1638. ;*----------------------------------------------------------------------------*
  1639. ;*   SOFTWARE PIPELINE INFORMATION
  1640. ;*
  1641. ;*      Loop source line                 : 166
  1642. ;*      Loop opening brace source line   : 166
  1643. ;*      Loop closing brace source line   : 168
  1644. ;*      Known Minimum Trip Count         : 1                    
  1645. ;*      Known Maximum Trip Count         : 65536                    
  1646. ;*      Known Max Trip Count Factor      : 1
  1647. ;*      Loop Carried Dependency Bound(^) : 0
  1648. ;*      Unpartitioned Resource Bound     : 1
  1649. ;*      Partitioned Resource Bound(*)    : 1
  1650. ;*      Resource Partition:
  1651. ;*                                A-side   B-side
  1652. ;*      .L units                     0        0     
  1653. ;*      .S units                     1*       0     
  1654. ;*      .D units                     1*       1*    
  1655. ;*      .M units                     0        0     
  1656. ;*      .X cross paths               0        1*    
  1657. ;*      .T address paths             1*       1*    
  1658. ;*      Long read paths              0        0     
  1659. ;*      Long write paths             0        0     
  1660. ;*      Logical  ops (.LS)           0        0     (.L or .S unit)
  1661. ;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
  1662. ;*      Bound(.L .S .LS)             1*       0     
  1663. ;*      Bound(.L .S .D .LS .LSD)     1*       1*    
  1664. ;*
  1665. ;*      Searching for software pipeline schedule at ...
  1666. ;*         ii = 1  Schedule found with 7 iterations in parallel
  1667. ;*      Done
  1668. ;*
  1669. ;*      Epilog not removed
  1670. ;*      Collapsed epilog stages     : 0
  1671. ;*
  1672. ;*      Prolog not entirely removed
  1673. ;*      Collapsed prolog stages     : 1
  1674. ;*
  1675. ;*      Minimum required memory pad : 0 bytes
  1676. ;*
  1677. ;*      For further improvement on this loop, try option -mh12
  1678. ;*
  1679. ;*      Minimum safe trip count     : 6
  1680. ;*----------------------------------------------------------------------------*
  1681. $C$L32:    ; PIPED LOOP PROLOG
  1682.            LDH     .D1T1   *A4++,A3          ; |167| (P) <0,0> 
  1683. || [ A0]   BDEC    .S1     $C$L33,A0         ; |166| (P) <0,1> 
  1684.    [ A0]   BDEC    .S1     $C$L33,A0         ; |166| (P) <1,1> 
  1685. ||         LDH     .D1T1   *A4++,A3          ; |167| (P) <1,0> 
  1686.            LDH     .D1T1   *A4++,A3          ; |167| (P) <2,0> 
  1687. || [ A0]   BDEC    .S1     $C$L33,A0         ; |166| (P) <2,1> 
  1688.    [ A0]   BDEC    .S1     $C$L33,A0         ; |166| (P) <3,1> 
  1689. ||         LDH     .D1T1   *A4++,A3          ; |167| (P) <3,0> 
  1690.            MV      .L2X    A7,B5
  1691. ||         MVK     .L1     0x1,A1            ; init prolog collapse predicate
  1692. ||         LDH     .D1T1   *A4++,A3          ; |167| (P) <4,0> 
  1693. || [ A0]   BDEC    .S1     $C$L33,A0         ; |166| (P) <4,1> 
  1694. ;** --------------------------------------------------------------------------*
  1695. $C$L33:    ; PIPED LOOP KERNEL
  1696. $C$DW$L$_v_equ$13$B:
  1697.    [ A1]   SUB     .L1     A1,1,A1           ; <0,6> 
  1698. || [!A1]   STH     .D2T2   B4,*B5++          ; |167| <0,6> 
  1699. ||         MV      .L2X    A3,B4             ; |167| <1,5> Define a twin register
  1700. || [ A0]   BDEC    .S1     $C$L33,A0         ; |166| <5,1> 
  1701. ||         LDH     .D1T1   *A4++,A3          ; |167| <6,0> 
  1702. $C$DW$L$_v_equ$13$E:
  1703. ;** --------------------------------------------------------------------------*
  1704. $C$L34:    ; PIPED LOOP EPILOG
  1705.            MV      .L2X    A3,B4             ; |167| (E) <2,5> Define a twin register
  1706. ||         STH     .D2T2   B4,*B5++          ; |167| (E) <1,6> 
  1707.            MV      .L2X    A3,B4             ; |167| (E) <3,5> Define a twin register
  1708. ||         STH     .D2T2   B4,*B5++          ; |167| (E) <2,6> 
  1709.            MV      .L2X    A3,B4             ; |167| (E) <4,5> Define a twin register
  1710. ||         STH     .D2T2   B4,*B5++          ; |167| (E) <3,6> 
  1711.            MVC     .S2     B6,CSR            ; interrupts on
  1712. ||         MV      .L2X    A3,B4             ; |167| (E) <5,5> Define a twin register
  1713. ||         STH     .D2T2   B4,*B5++          ; |167| (E) <4,6> 
  1714. ;** --------------------------------------------------------------------------*
  1715.            MV      .L2X    A3,B4             ; |167| (E) <6,5> Define a twin register
  1716. ||         STH     .D2T2   B4,*B5++          ; |167| (E) <5,6> 
  1717.            STH     .D2T2   B4,*B5++          ; |167| (E) <6,6> 
  1718. ;** --------------------------------------------------------------------------*
  1719. $C$L35:    
  1720. .dwpsn file "mat_lib.c",line 169,column 5,is_stmt
  1721.            MV      .L1     A5,A4             ; |169| 
  1722. .dwpsn file "mat_lib.c",line 170,column 1,is_stmt
  1723. .dwcfi cfa_offset, 0
  1724.            RETNOP  .S2     B3,5              ; |170| 
  1725.            ; BRANCH OCCURS {B3}              ; |170| 
  1726. $C$DW$144 .dwtag  DW_TAG_TI_loop
  1727. .dwattr $C$DW$144, DW_AT_name("D:melp429mat_lib.asm:$C$L33:1:1246674193")
  1728. .dwattr $C$DW$144, DW_AT_TI_begin_file("mat_lib.c")
  1729. .dwattr $C$DW$144, DW_AT_TI_begin_line(0xa6)
  1730. .dwattr $C$DW$144, DW_AT_TI_end_line(0xa8)
  1731. $C$DW$145 .dwtag  DW_TAG_TI_loop_range
  1732. .dwattr $C$DW$145, DW_AT_low_pc($C$DW$L$_v_equ$13$B)
  1733. .dwattr $C$DW$145, DW_AT_high_pc($C$DW$L$_v_equ$13$E)
  1734. .dwendtag $C$DW$144
  1735. $C$DW$146 .dwtag  DW_TAG_TI_loop
  1736. .dwattr $C$DW$146, DW_AT_name("D:melp429mat_lib.asm:$C$L30:1:1246674193")
  1737. .dwattr $C$DW$146, DW_AT_TI_begin_file("mat_lib.c")
  1738. .dwattr $C$DW$146, DW_AT_TI_begin_line(0xa6)
  1739. .dwattr $C$DW$146, DW_AT_TI_end_line(0xa8)
  1740. $C$DW$147 .dwtag  DW_TAG_TI_loop_range
  1741. .dwattr $C$DW$147, DW_AT_low_pc($C$DW$L$_v_equ$9$B)
  1742. .dwattr $C$DW$147, DW_AT_high_pc($C$DW$L$_v_equ$9$E)
  1743. .dwendtag $C$DW$146
  1744. $C$DW$148 .dwtag  DW_TAG_TI_loop
  1745. .dwattr $C$DW$148, DW_AT_name("D:melp429mat_lib.asm:$C$L27:1:1246674193")
  1746. .dwattr $C$DW$148, DW_AT_TI_begin_file("mat_lib.c")
  1747. .dwattr $C$DW$148, DW_AT_TI_begin_line(0xa6)
  1748. .dwattr $C$DW$148, DW_AT_TI_end_line(0xa8)
  1749. $C$DW$149 .dwtag  DW_TAG_TI_loop_range
  1750. .dwattr $C$DW$149, DW_AT_low_pc($C$DW$L$_v_equ$5$B)
  1751. .dwattr $C$DW$149, DW_AT_high_pc($C$DW$L$_v_equ$5$E)
  1752. .dwendtag $C$DW$148
  1753. .dwattr $C$DW$137, DW_AT_TI_end_file("mat_lib.c")
  1754. .dwattr $C$DW$137, DW_AT_TI_end_line(0xaa)
  1755. .dwattr $C$DW$137, DW_AT_TI_end_column(0x01)
  1756. .dwendentry
  1757. .dwendtag $C$DW$137
  1758. .sect ".text"
  1759. .global _v_add
  1760. $C$DW$150 .dwtag  DW_TAG_subprogram, DW_AT_name("v_add")
  1761. .dwattr $C$DW$150, DW_AT_low_pc(_v_add)
  1762. .dwattr $C$DW$150, DW_AT_high_pc(0x00)
  1763. .dwattr $C$DW$150, DW_AT_TI_symbol_name("_v_add")
  1764. .dwattr $C$DW$150, DW_AT_external
  1765. .dwattr $C$DW$150, DW_AT_type(*$C$DW$T$29)
  1766. .dwattr $C$DW$150, DW_AT_TI_begin_file("mat_lib.c")
  1767. .dwattr $C$DW$150, DW_AT_TI_begin_line(0x3a)
  1768. .dwattr $C$DW$150, DW_AT_TI_begin_column(0x0c)
  1769. .dwpsn file "mat_lib.c",line 59,column 1,is_stmt,address _v_add
  1770. .dwfde $C$DW$CIE, _v_add
  1771. ;******************************************************************************
  1772. ;* FUNCTION NAME: v_add                                                       *
  1773. ;*                                                                            *
  1774. ;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  1775. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17,   *
  1776. ;*                           A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
  1777. ;*                           A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
  1778. ;*                           B26,B27,B28,B29,B30,B31                          *
  1779. ;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
  1780. ;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17,   *
  1781. ;*                           A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
  1782. ;*                           A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
  1783. ;*                           B26,B27,B28,B29,B30,B31                          *
  1784. ;*   Local Frame Size  : 0 Args + 0 Auto + 32 Save = 32 byte                  *
  1785. ;******************************************************************************
  1786. ;******************************************************************************
  1787. ;*                                                                            *
  1788. ;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
  1789. ;*                                                                            *
  1790. ;******************************************************************************
  1791. _v_add:
  1792. ;** --------------------------------------------------------------------------*
  1793. .dwcfi cfa_offset, 0
  1794. .dwcfi save_reg_to_reg, 228, 19
  1795.            MV      .L1X    SP,A31            ; |59| 
  1796. ||         STW     .D2T2   B11,*SP--(32)     ; |59| 
  1797. .dwcfi cfa_offset, 32
  1798. .dwcfi save_reg_to_mem, 27, 0
  1799.            STW     .D2T2   B10,*+SP(28)      ; |59| 
  1800. .dwcfi save_reg_to_mem, 26, -4
  1801.            STW     .D2T2   B3,*+SP(24)       ; |59| 
  1802. .dwcfi save_reg_to_mem, 19, -8
  1803.            STW     .D1T1   A14,*-A31(12)     ; |59| 
  1804. .dwcfi save_reg_to_mem, 14, -12
  1805.            STW     .D1T1   A13,*-A31(16)     ; |59| 
  1806. .dwcfi save_reg_to_mem, 13, -16
  1807.            STW     .D1T1   A12,*-A31(20)     ; |59| 
  1808. .dwcfi save_reg_to_mem, 12, -20
  1809.            STW     .D1T1   A11,*-A31(24)     ; |59| 
  1810. .dwcfi save_reg_to_mem, 11, -24
  1811.            STW     .D1T1   A10,*-A31(28)     ; |59| 
  1812. .dwcfi save_reg_to_mem, 10, -28
  1813. $C$DW$151 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec1")
  1814. .dwattr $C$DW$151, DW_AT_TI_symbol_name("_vec1")
  1815. .dwattr $C$DW$151, DW_AT_type(*$C$DW$T$29)
  1816. .dwattr $C$DW$151, DW_AT_location[DW_OP_reg4]
  1817. $C$DW$152 .dwtag  DW_TAG_formal_parameter, DW_AT_name("vec2")
  1818. .dwattr $C$DW$152, DW_AT_TI_symbol_name("_vec2")
  1819. .dwattr $C$DW$152, DW_AT_type(*$C$DW$T$29)
  1820. .dwattr $C$DW$152, DW_AT_location[DW_OP_reg20]
  1821. $C$DW$153 .dwtag  DW_TAG_formal_parameter, DW_AT_name("n")
  1822. .dwattr $C$DW$153, DW_AT_TI_symbol_name("_n")
  1823. .dwattr $C$DW$153, DW_AT_type(*$C$DW$T$24)
  1824. .dwattr $C$DW$153, DW_AT_location[DW_OP_reg6]
  1825. $C$DW$154 .dwtag  DW_TAG_variable, DW_AT_name("n")
  1826. .dwattr $C$DW$154, DW_AT_TI_symbol_name("_n")
  1827. .dwattr $C$DW$154, DW_AT_type(*$C$DW$T$38)
  1828. .dwattr $C$DW$154, DW_AT_location[DW_OP_reg6]
  1829. $C$DW$155 .dwtag  DW_TAG_variable, DW_AT_name("vec2")
  1830. .dwattr $C$DW$155, DW_AT_TI_symbol_name("_vec2")
  1831. .dwattr $C$DW$155, DW_AT_type(*$C$DW$T$35)
  1832. .dwattr $C$DW$155, DW_AT_location[DW_OP_reg20]
  1833. $C$DW$156 .dwtag  DW_TAG_variable, DW_AT_name("vec1")
  1834. .dwattr $C$DW$156, DW_AT_TI_symbol_name("_vec1")
  1835. .dwattr $C$DW$156, DW_AT_type(*$C$DW$T$35)
  1836. .dwattr $C$DW$156, DW_AT_location[DW_OP_reg10]
  1837.            MV      .L1     A4,A10            ; |59| 
  1838. .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
  1839.            CMPGT   .L1     A6,0,A0           ; |62| 
  1840.    [!A0]   BNOP    .S1     $C$L38,5          ; |62| 
  1841.            ; BRANCHCC OCCURS {$C$L38}        ; |62| 
  1842. ;** --------------------------------------------------------------------------*
  1843. .dwpsn file "mat_lib.c",line 63,column 7,is_stmt
  1844.            SUB     .L1X    B4,A10,A4         ; |63| 
  1845. ||         ADD     .S1     A6,A6,A3          ; |63| 
  1846. ||         SUB     .L2X    A10,B4,B5         ; |63| 
  1847. ||         MV      .S2     B4,B11
  1848. ||         MV      .D2     B4,B10
  1849. ||         MV      .D1     A6,A11
  1850.            CMPGT   .L1     A3,A4,A4          ; |63| 
  1851. ||         MV      .S1     A10,A13
  1852. ||         MV      .D1     A6,A12
  1853.            CMPGT   .L2X    A3,B5,B5          ; |63| 
  1854. ||         MV      .L1     A10,A14
  1855.            AND     .L2X    B5,A4,B0
  1856.    [!B0]   BNOP    .S1     $C$L37,5          ; |63| 
  1857.            ; BRANCHCC OCCURS {$C$L37}        ; |63| 
  1858. ;** --------------------------------------------------------------------------*
  1859.            LDH     .D2T2   *B11++,B4         ; |63| 
  1860. ||         CALL    .S1     _add              ; |63| 
  1861.            LDH     .D1T1   *A14,A4           ; |63| 
  1862.            NOP             3
  1863. ;*----------------------------------------------------------------------------*
  1864. ;*   SOFTWARE PIPELINE INFORMATION
  1865. ;*      Disqualified loop: Loop contains a call
  1866. ;*----------------------------------------------------------------------------*
  1867. $C$L36:    
  1868. $C$DW$L$_v_add$4$B:
  1869.            ADDKPC  .S2     $C$RL16,B3,0      ; |63| 
  1870. $C$RL16:   ; CALL OCCURS {_add}              ; |63| 
  1871. $C$DW$L$_v_add$4$E:
  1872. ;** --------------------------------------------------------------------------*
  1873. $C$DW$L$_v_add$5$B:
  1874.            STH     .D1T1   A4,*A14++         ; |63| 
  1875. .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
  1876.            SUB     .L1     A12,1,A0          ; |62| 
  1877. ||         SUB     .S1     A12,1,A12         ; |62| 
  1878.    [ A0]   B       .S1     $C$L36            ; |62| 
  1879. || [ A0]   LDH     .D1T1   *A14,A4           ; |63| 
  1880. || [ A0]   LDH     .D2T2   *B11++,B4         ; |63| 
  1881.    [ A0]   CALL    .S1     _add              ; |63| 
  1882.    [!A0]   BNOP    .S1     $C$L38,3          ; |62| 
  1883.            ; BRANCHCC OCCURS {$C$L36}        ; |62| 
  1884. $C$DW$L$_v_add$5$E:
  1885. ;** --------------------------------------------------------------------------*
  1886.            NOP             2
  1887.            ; BRANCH OCCURS {$C$L38}          ; |62| 
  1888. ;*----------------------------------------------------------------------------*
  1889. ;*   SOFTWARE PIPELINE INFORMATION
  1890. ;*      Disqualified loop: Loop contains a call
  1891. ;*----------------------------------------------------------------------------*
  1892. $C$L37:    
  1893. $C$DW$L$_v_add$7$B:
  1894. .dwpsn file "mat_lib.c",line 63,column 7,is_stmt
  1895.            CALL    .S1     _add              ; |63| 
  1896.            LDH     .D2T2   *B10++,B4         ; |63| 
  1897. ||         LDH     .D1T1   *A13,A4           ; |63| 
  1898.            ADDKPC  .S2     $C$RL17,B3,3      ; |63| 
  1899. $C$RL17:   ; CALL OCCURS {_add}              ; |63| 
  1900. $C$DW$L$_v_add$7$E:
  1901. ;** --------------------------------------------------------------------------*
  1902. $C$DW$L$_v_add$8$B:
  1903.            STH     .D1T1   A4,*A13++         ; |63| 
  1904. .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
  1905.            SUB     .L1     A11,1,A0          ; |62| 
  1906. ||         SUB     .S1     A11,1,A11         ; |62| 
  1907.    [ A0]   BNOP    .S1     $C$L37,5          ; |62| 
  1908.            ; BRANCHCC OCCURS {$C$L37}        ; |62| 
  1909. $C$DW$L$_v_add$8$E:
  1910. ;** --------------------------------------------------------------------------*
  1911. $C$L38:    
  1912. .dwpsn file "mat_lib.c",line 65,column 5,is_stmt
  1913.            MV      .L1     A10,A4            ; |65| 
  1914. .dwpsn file "mat_lib.c",line 66,column 1,is_stmt