mat_lib.asm
资源名称:melp.rar [点击查看]
上传用户:csczyc
上传日期:2021-02-19
资源大小:1051k
文件大小:189k
源码类别:
语音压缩
开发平台:
C/C++
- ;******************************************************************************
- ;* TMS320C6x C/C++ Codegen PC v6.0.8 *
- ;* Date/Time created: Sat Jul 04 10:23:13 2009 *
- ;******************************************************************************
- .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
- ;******************************************************************************
- ;* GLOBAL FILE PARAMETERS *
- ;* *
- ;* Architecture : TMS320C64xx *
- ;* Optimization : Enabled at level 3 *
- ;* Optimizing for : Speed *
- ;* Based on options: -o3, no -ms *
- ;* Endian : Little *
- ;* Interrupt Thrshld : Disabled *
- ;* Data Access Model : Far Aggregate Data *
- ;* Pipelining : Enabled *
- ;* Speculate Loads : Disabled *
- ;* Memory Aliases : Presume are aliases (pessimistic) *
- ;* Debug Info : DWARF Debug *
- ;* *
- ;******************************************************************************
- .asg A15, FP
- .asg B14, DP
- .asg B15, SP
- .global $bss
- $C$DW$CU .dwtag DW_TAG_compile_unit
- .dwattr $C$DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated")
- .dwattr $C$DW$CU, DW_AT_TI_version(0x01)
- $C$DW$1 .dwtag DW_TAG_subprogram, DW_AT_name("_sadd")
- .dwattr $C$DW$1, DW_AT_TI_symbol_name("__sadd")
- .dwattr $C$DW$1, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$1, DW_AT_declaration
- .dwattr $C$DW$1, DW_AT_external
- $C$DW$2 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$3 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$1
- $C$DW$4 .dwtag DW_TAG_subprogram, DW_AT_name("_sshl")
- .dwattr $C$DW$4, DW_AT_TI_symbol_name("__sshl")
- .dwattr $C$DW$4, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$4, DW_AT_declaration
- .dwattr $C$DW$4, DW_AT_external
- $C$DW$5 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$11)
- .dwendtag $C$DW$4
- $C$DW$7 .dwtag DW_TAG_subprogram, DW_AT_name("_smpy")
- .dwattr $C$DW$7, DW_AT_TI_symbol_name("__smpy")
- .dwattr $C$DW$7, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$7, DW_AT_declaration
- .dwattr $C$DW$7, DW_AT_external
- $C$DW$8 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$9 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$7
- $C$DW$10 .dwtag DW_TAG_subprogram, DW_AT_name("_sub2")
- .dwattr $C$DW$10, DW_AT_TI_symbol_name("__sub2")
- .dwattr $C$DW$10, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$10, DW_AT_declaration
- .dwattr $C$DW$10, DW_AT_external
- $C$DW$11 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$12 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$10
- $C$DW$13 .dwtag DW_TAG_subprogram, DW_AT_name("_sadd2")
- .dwattr $C$DW$13, DW_AT_TI_symbol_name("__sadd2")
- .dwattr $C$DW$13, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$13, DW_AT_declaration
- .dwattr $C$DW$13, DW_AT_external
- $C$DW$14 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$15 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$13
- $C$DW$16 .dwtag DW_TAG_subprogram, DW_AT_name("_sshvl")
- .dwattr $C$DW$16, DW_AT_TI_symbol_name("__sshvl")
- .dwattr $C$DW$16, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$16, DW_AT_declaration
- .dwattr $C$DW$16, DW_AT_external
- $C$DW$17 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$18 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$16
- $C$DW$19 .dwtag DW_TAG_subprogram, DW_AT_name("_sshvr")
- .dwattr $C$DW$19, DW_AT_TI_symbol_name("__sshvr")
- .dwattr $C$DW$19, DW_AT_type(*$C$DW$T$10)
- .dwattr $C$DW$19, DW_AT_declaration
- .dwattr $C$DW$19, DW_AT_external
- $C$DW$20 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- $C$DW$21 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
- .dwendtag $C$DW$19
- $C$DW$22 .dwtag DW_TAG_subprogram, DW_AT_name("add")
- .dwattr $C$DW$22, DW_AT_TI_symbol_name("_add")
- .dwattr $C$DW$22, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$22, DW_AT_declaration
- .dwattr $C$DW$22, DW_AT_external
- $C$DW$23 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$24 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$22
- $C$DW$25 .dwtag DW_TAG_subprogram, DW_AT_name("sub")
- .dwattr $C$DW$25, DW_AT_TI_symbol_name("_sub")
- .dwattr $C$DW$25, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$25, DW_AT_declaration
- .dwattr $C$DW$25, DW_AT_external
- $C$DW$26 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$27 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$25
- $C$DW$28 .dwtag DW_TAG_subprogram, DW_AT_name("L_add")
- .dwattr $C$DW$28, DW_AT_TI_symbol_name("_L_add")
- .dwattr $C$DW$28, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$28, DW_AT_declaration
- .dwattr $C$DW$28, DW_AT_external
- $C$DW$29 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
- $C$DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
- .dwendtag $C$DW$28
- $C$DW$31 .dwtag DW_TAG_subprogram, DW_AT_name("mult")
- .dwattr $C$DW$31, DW_AT_TI_symbol_name("_mult")
- .dwattr $C$DW$31, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$31, DW_AT_declaration
- .dwattr $C$DW$31, DW_AT_external
- $C$DW$32 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$33 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$31
- $C$DW$34 .dwtag DW_TAG_subprogram, DW_AT_name("L_mult")
- .dwattr $C$DW$34, DW_AT_TI_symbol_name("_L_mult")
- .dwattr $C$DW$34, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$34, DW_AT_declaration
- .dwattr $C$DW$34, DW_AT_external
- $C$DW$35 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$34
- $C$DW$37 .dwtag DW_TAG_subprogram, DW_AT_name("shl")
- .dwattr $C$DW$37, DW_AT_TI_symbol_name("_shl")
- .dwattr $C$DW$37, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$37, DW_AT_declaration
- .dwattr $C$DW$37, DW_AT_external
- $C$DW$38 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$39 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$37
- $C$DW$40 .dwtag DW_TAG_subprogram, DW_AT_name("L_shl")
- .dwattr $C$DW$40, DW_AT_TI_symbol_name("_L_shl")
- .dwattr $C$DW$40, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$40, DW_AT_declaration
- .dwattr $C$DW$40, DW_AT_external
- $C$DW$41 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
- $C$DW$42 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$40
- $C$DW$43 .dwtag DW_TAG_subprogram, DW_AT_name("L_mac")
- .dwattr $C$DW$43, DW_AT_TI_symbol_name("_L_mac")
- .dwattr $C$DW$43, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$43, DW_AT_declaration
- .dwattr $C$DW$43, DW_AT_external
- $C$DW$44 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
- $C$DW$45 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- $C$DW$46 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
- .dwendtag $C$DW$43
- $C$DW$47 .dwtag DW_TAG_subprogram, DW_AT_name("extract_h")
- .dwattr $C$DW$47, DW_AT_TI_symbol_name("_extract_h")
- .dwattr $C$DW$47, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$47, DW_AT_declaration
- .dwattr $C$DW$47, DW_AT_external
- $C$DW$48 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$27)
- .dwendtag $C$DW$47
- ; D:CCStudio_v3.3C6000cgtoolsbinopt6x.exe C:\DOCUME~1\vigorguo\LOCALS~1\Temp\0163610 C:\DOCUME~1\vigorguo\LOCALS~1\Temp\016364
- .sect ".text"
- .global _v_zap
- $C$DW$49 .dwtag DW_TAG_subprogram, DW_AT_name("v_zap")
- .dwattr $C$DW$49, DW_AT_low_pc(_v_zap)
- .dwattr $C$DW$49, DW_AT_high_pc(0x00)
- .dwattr $C$DW$49, DW_AT_TI_symbol_name("_v_zap")
- .dwattr $C$DW$49, DW_AT_external
- .dwattr $C$DW$49, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$49, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$49, DW_AT_TI_begin_line(0x2cd)
- .dwattr $C$DW$49, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 718,column 1,is_stmt,address _v_zap
- .dwfde $C$DW$CIE, _v_zap
- ;******************************************************************************
- ;* FUNCTION NAME: v_zap *
- ;* *
- ;* Regs Modified : A0,B0,B4,B5 *
- ;* Regs Used : A0,A4,B0,B3,B4,B5 *
- ;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_zap:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- $C$DW$50 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$50, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$50, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$50, DW_AT_location[DW_OP_reg4]
- $C$DW$51 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$51, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$51, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$51, DW_AT_location[DW_OP_reg20]
- $C$DW$52 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$52, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$52, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$52, DW_AT_location[DW_OP_reg21]
- MV .L2 B4,B5 ; |718|
- .dwpsn file "mat_lib.c",line 721,column 16,is_stmt
- CMPGT .L2 B5,0,B0 ; |721|
- [!B0] BNOP .S1 $C$L4,5 ; |721|
- || [ B0] ZERO .L2 B4
- ; BRANCHCC OCCURS {$C$L4} ; |721|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 722,column 9,is_stmt
- SUB .L1X B5,1,A0
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;*
- ;* Loop source line : 721
- ;* Loop opening brace source line : 721
- ;* Loop closing brace source line : 723
- ;* Known Minimum Trip Count : 1
- ;* Known Maximum Trip Count : 65536
- ;* Known Max Trip Count Factor : 1
- ;* Loop Carried Dependency Bound(^) : 0
- ;* Unpartitioned Resource Bound : 1
- ;* Partitioned Resource Bound(*) : 1
- ;* Resource Partition:
- ;* A-side B-side
- ;* .L units 0 0
- ;* .S units 1* 0
- ;* .D units 0 1*
- ;* .M units 0 0
- ;* .X cross paths 0 0
- ;* .T address paths 0 1*
- ;* Long read paths 0 0
- ;* Long write paths 0 0
- ;* Logical ops (.LS) 0 0 (.L or .S unit)
- ;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
- ;* Bound(.L .S .LS) 1* 0
- ;* Bound(.L .S .D .LS .LSD) 1* 1*
- ;*
- ;* Searching for software pipeline schedule at ...
- ;* ii = 1 Schedule found with 6 iterations in parallel
- ;* Done
- ;*
- ;* Collapsed epilog stages : 5
- ;* Collapsed prolog stages : 0
- ;* Minimum required memory pad : 0 bytes
- ;*
- ;* Minimum safe trip count : 1
- ;*----------------------------------------------------------------------------*
- $C$L1: ; PIPED LOOP PROLOG
- [ A0] BDEC .S1 $C$L2,A0 ; |721| (P) <0,0>
- [ A0] BDEC .S1 $C$L2,A0 ; |721| (P) <1,0>
- [ A0] BDEC .S1 $C$L2,A0 ; |721| (P) <2,0>
- [ A0] BDEC .S1 $C$L2,A0 ; |721| (P) <3,0>
- MV .L2X A4,B5
- || [ A0] BDEC .S1 $C$L2,A0 ; |721| (P) <4,0>
- ;** --------------------------------------------------------------------------*
- $C$L2: ; PIPED LOOP KERNEL
- $C$DW$L$_v_zap$4$B:
- STH .D2T2 B4,*B5++ ; |722| <0,5>
- || [ A0] BDEC .S1 $C$L2,A0 ; |721| <5,0>
- $C$DW$L$_v_zap$4$E:
- ;** --------------------------------------------------------------------------*
- $C$L3: ; PIPED LOOP EPILOG
- ;** --------------------------------------------------------------------------*
- $C$L4:
- .dwpsn file "mat_lib.c",line 725,column 5,is_stmt
- .dwpsn file "mat_lib.c",line 726,column 1,is_stmt
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |726|
- ; BRANCH OCCURS {B3} ; |726|
- $C$DW$53 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$53, DW_AT_name("D:melp429mat_lib.asm:$C$L2:1:1246674193")
- .dwattr $C$DW$53, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$53, DW_AT_TI_begin_line(0x2d1)
- .dwattr $C$DW$53, DW_AT_TI_end_line(0x2d3)
- $C$DW$54 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$54, DW_AT_low_pc($C$DW$L$_v_zap$4$B)
- .dwattr $C$DW$54, DW_AT_high_pc($C$DW$L$_v_zap$4$E)
- .dwendtag $C$DW$53
- .dwattr $C$DW$49, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$49, DW_AT_TI_end_line(0x2d6)
- .dwattr $C$DW$49, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$49
- .sect ".text"
- .global _v_sub
- $C$DW$55 .dwtag DW_TAG_subprogram, DW_AT_name("v_sub")
- .dwattr $C$DW$55, DW_AT_low_pc(_v_sub)
- .dwattr $C$DW$55, DW_AT_high_pc(0x00)
- .dwattr $C$DW$55, DW_AT_TI_symbol_name("_v_sub")
- .dwattr $C$DW$55, DW_AT_external
- .dwattr $C$DW$55, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$55, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$55, DW_AT_TI_begin_line(0x29f)
- .dwattr $C$DW$55, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 672,column 1,is_stmt,address _v_sub
- .dwfde $C$DW$CIE, _v_sub
- ;******************************************************************************
- ;* FUNCTION NAME: v_sub *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17, *
- ;* A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
- ;* A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
- ;* B26,B27,B28,B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17, *
- ;* A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
- ;* A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
- ;* B26,B27,B28,B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 32 Save = 32 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_sub:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- MV .L1X SP,A31 ; |672|
- || STW .D2T2 B11,*SP--(32) ; |672|
- .dwcfi cfa_offset, 32
- .dwcfi save_reg_to_mem, 27, 0
- STW .D2T2 B10,*+SP(28) ; |672|
- .dwcfi save_reg_to_mem, 26, -4
- STW .D2T2 B3,*+SP(24) ; |672|
- .dwcfi save_reg_to_mem, 19, -8
- STW .D1T1 A14,*-A31(12) ; |672|
- .dwcfi save_reg_to_mem, 14, -12
- STW .D1T1 A13,*-A31(16) ; |672|
- .dwcfi save_reg_to_mem, 13, -16
- STW .D1T1 A12,*-A31(20) ; |672|
- .dwcfi save_reg_to_mem, 12, -20
- STW .D1T1 A11,*-A31(24) ; |672|
- .dwcfi save_reg_to_mem, 11, -24
- STW .D1T1 A10,*-A31(28) ; |672|
- .dwcfi save_reg_to_mem, 10, -28
- $C$DW$56 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$56, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$56, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$56, DW_AT_location[DW_OP_reg4]
- $C$DW$57 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec2")
- .dwattr $C$DW$57, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$57, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$57, DW_AT_location[DW_OP_reg20]
- $C$DW$58 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$58, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$58, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$58, DW_AT_location[DW_OP_reg6]
- $C$DW$59 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$59, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$59, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$59, DW_AT_location[DW_OP_reg6]
- $C$DW$60 .dwtag DW_TAG_variable, DW_AT_name("vec2")
- .dwattr $C$DW$60, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$60, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$60, DW_AT_location[DW_OP_reg20]
- $C$DW$61 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$61, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$61, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$61, DW_AT_location[DW_OP_reg10]
- MV .L1 A4,A10 ; |672|
- .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
- CMPGT .L1 A6,0,A0 ; |675|
- [!A0] BNOP .S1 $C$L7,5 ; |675|
- ; BRANCHCC OCCURS {$C$L7} ; |675|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 676,column 9,is_stmt
- SUB .L1X B4,A10,A4 ; |676|
- || ADD .S1 A6,A6,A3 ; |676|
- || SUB .L2X A10,B4,B5 ; |676|
- || MV .S2 B4,B11
- || MV .D2 B4,B10
- || MV .D1 A6,A11
- CMPGT .L1 A3,A4,A4 ; |676|
- || MV .S1 A10,A13
- || MV .D1 A6,A12
- CMPGT .L2X A3,B5,B5 ; |676|
- || MV .L1 A10,A14
- AND .L2X B5,A4,B0
- [!B0] BNOP .S1 $C$L6,5 ; |676|
- ; BRANCHCC OCCURS {$C$L6} ; |676|
- ;** --------------------------------------------------------------------------*
- LDH .D2T2 *B11++,B4 ; |676|
- || CALL .S1 _sub ; |676|
- LDH .D1T1 *A14,A4 ; |676|
- NOP 3
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L5:
- $C$DW$L$_v_sub$4$B:
- ADDKPC .S2 $C$RL0,B3,0 ; |676|
- $C$RL0: ; CALL OCCURS {_sub} ; |676|
- $C$DW$L$_v_sub$4$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_sub$5$B:
- STH .D1T1 A4,*A14++ ; |676|
- .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
- SUB .L1 A12,1,A0 ; |675|
- || SUB .S1 A12,1,A12 ; |675|
- [ A0] B .S1 $C$L5 ; |675|
- || [ A0] LDH .D1T1 *A14,A4 ; |676|
- || [ A0] LDH .D2T2 *B11++,B4 ; |676|
- [ A0] CALL .S1 _sub ; |676|
- [!A0] BNOP .S1 $C$L7,3 ; |675|
- ; BRANCHCC OCCURS {$C$L5} ; |675|
- $C$DW$L$_v_sub$5$E:
- ;** --------------------------------------------------------------------------*
- NOP 2
- ; BRANCH OCCURS {$C$L7} ; |675|
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L6:
- $C$DW$L$_v_sub$7$B:
- .dwpsn file "mat_lib.c",line 676,column 9,is_stmt
- CALL .S1 _sub ; |676|
- LDH .D2T2 *B10++,B4 ; |676|
- || LDH .D1T1 *A13,A4 ; |676|
- ADDKPC .S2 $C$RL1,B3,3 ; |676|
- $C$RL1: ; CALL OCCURS {_sub} ; |676|
- $C$DW$L$_v_sub$7$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_sub$8$B:
- STH .D1T1 A4,*A13++ ; |676|
- .dwpsn file "mat_lib.c",line 675,column 14,is_stmt
- SUB .L1 A11,1,A0 ; |675|
- || SUB .S1 A11,1,A11 ; |675|
- [ A0] BNOP .S1 $C$L6,5 ; |675|
- ; BRANCHCC OCCURS {$C$L6} ; |675|
- $C$DW$L$_v_sub$8$E:
- ;** --------------------------------------------------------------------------*
- $C$L7:
- .dwpsn file "mat_lib.c",line 679,column 5,is_stmt
- MV .L1 A10,A4 ; |679|
- .dwpsn file "mat_lib.c",line 680,column 1,is_stmt
- LDW .D2T2 *+SP(28),B10 ; |680|
- || MV .L1X SP,A31 ; |680|
- .dwcfi restore_reg, 26
- LDW .D2T2 *+SP(24),B3 ; |680|
- .dwcfi restore_reg, 19
- LDW .D1T1 *+A31(20),A14 ; |680|
- .dwcfi restore_reg, 14
- LDW .D1T1 *+A31(16),A13 ; |680|
- .dwcfi restore_reg, 13
- LDW .D1T1 *+A31(12),A12 ; |680|
- .dwcfi restore_reg, 12
- LDW .D1T1 *+A31(8),A11 ; |680|
- .dwcfi restore_reg, 11
- LDW .D1T1 *+A31(4),A10 ; |680|
- .dwcfi restore_reg, 10
- LDW .D2T2 *++SP(32),B11 ; |680|
- .dwcfi cfa_offset, 0
- .dwcfi restore_reg, 27
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |680|
- ; BRANCH OCCURS {B3} ; |680|
- $C$DW$62 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$62, DW_AT_name("D:melp429mat_lib.asm:$C$L6:1:1246674193")
- .dwattr $C$DW$62, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$62, DW_AT_TI_begin_line(0x2a3)
- .dwattr $C$DW$62, DW_AT_TI_end_line(0x2a5)
- $C$DW$63 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$63, DW_AT_low_pc($C$DW$L$_v_sub$7$B)
- .dwattr $C$DW$63, DW_AT_high_pc($C$DW$L$_v_sub$7$E)
- $C$DW$64 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$64, DW_AT_low_pc($C$DW$L$_v_sub$8$B)
- .dwattr $C$DW$64, DW_AT_high_pc($C$DW$L$_v_sub$8$E)
- .dwendtag $C$DW$62
- $C$DW$65 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$65, DW_AT_name("D:melp429mat_lib.asm:$C$L5:1:1246674193")
- .dwattr $C$DW$65, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$65, DW_AT_TI_begin_line(0x2a3)
- .dwattr $C$DW$65, DW_AT_TI_end_line(0x2a5)
- $C$DW$66 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$66, DW_AT_low_pc($C$DW$L$_v_sub$4$B)
- .dwattr $C$DW$66, DW_AT_high_pc($C$DW$L$_v_sub$4$E)
- $C$DW$67 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$67, DW_AT_low_pc($C$DW$L$_v_sub$5$B)
- .dwattr $C$DW$67, DW_AT_high_pc($C$DW$L$_v_sub$5$E)
- .dwendtag $C$DW$65
- .dwattr $C$DW$55, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$55, DW_AT_TI_end_line(0x2a8)
- .dwattr $C$DW$55, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$55
- .sect ".text"
- .global _v_scale_shl
- $C$DW$68 .dwtag DW_TAG_subprogram, DW_AT_name("v_scale_shl")
- .dwattr $C$DW$68, DW_AT_low_pc(_v_scale_shl)
- .dwattr $C$DW$68, DW_AT_high_pc(0x00)
- .dwattr $C$DW$68, DW_AT_TI_symbol_name("_v_scale_shl")
- .dwattr $C$DW$68, DW_AT_external
- .dwattr $C$DW$68, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$68, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$68, DW_AT_TI_begin_line(0x267)
- .dwattr $C$DW$68, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 617,column 1,is_stmt,address _v_scale_shl
- .dwfde $C$DW$CIE, _v_scale_shl
- ;******************************************************************************
- ;* FUNCTION NAME: v_scale_shl *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19, *
- ;* A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
- ;* B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
- ;* B28,B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19, *
- ;* A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
- ;* B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
- ;* B28,B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 24 Save = 24 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_scale_shl:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- STW .D2T2 B3,*SP--(24) ; |617|
- .dwcfi cfa_offset, 24
- .dwcfi save_reg_to_mem, 19, 0
- STW .D2T1 A14,*+SP(20) ; |617|
- .dwcfi save_reg_to_mem, 14, -4
- STW .D2T1 A13,*+SP(16) ; |617|
- .dwcfi save_reg_to_mem, 13, -8
- STW .D2T1 A12,*+SP(12) ; |617|
- .dwcfi save_reg_to_mem, 12, -12
- STW .D2T1 A11,*+SP(8) ; |617|
- .dwcfi save_reg_to_mem, 11, -16
- STW .D2T1 A10,*+SP(4) ; |617|
- .dwcfi save_reg_to_mem, 10, -20
- $C$DW$69 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$69, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$69, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$69, DW_AT_location[DW_OP_reg4]
- $C$DW$70 .dwtag DW_TAG_formal_parameter, DW_AT_name("scale")
- .dwattr $C$DW$70, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$70, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$70, DW_AT_location[DW_OP_reg20]
- $C$DW$71 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$71, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$71, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$71, DW_AT_location[DW_OP_reg6]
- $C$DW$72 .dwtag DW_TAG_formal_parameter, DW_AT_name("shift")
- .dwattr $C$DW$72, DW_AT_TI_symbol_name("_shift")
- .dwattr $C$DW$72, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$72, DW_AT_location[DW_OP_reg22]
- $C$DW$73 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$73, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$73, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$73, DW_AT_location[DW_OP_reg11]
- $C$DW$74 .dwtag DW_TAG_variable, DW_AT_name("scale")
- .dwattr $C$DW$74, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$74, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$74, DW_AT_location[DW_OP_reg12]
- $C$DW$75 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$75, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$75, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$75, DW_AT_location[DW_OP_reg6]
- $C$DW$76 .dwtag DW_TAG_variable, DW_AT_name("shift")
- .dwattr $C$DW$76, DW_AT_TI_symbol_name("_shift")
- .dwattr $C$DW$76, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$76, DW_AT_location[DW_OP_reg13]
- MV .L1X B6,A13 ; |617|
- || MV .S1 A4,A11 ; |617|
- MV .L1X B4,A12 ; |617|
- .dwpsn file "mat_lib.c",line 620,column 14,is_stmt
- CMPGT .L1 A6,0,A0 ; |620|
- [!A0] BNOP .S1 $C$L9,5 ; |620|
- || [ A0] MV .L1 A11,A10
- ; BRANCHCC OCCURS {$C$L9} ; |620|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 621,column 9,is_stmt
- CALL .S1 _L_mult ; |621|
- LDH .D1T1 *A10,A4 ; |621|
- MV .L1 A6,A14 ; |621|
- NOP 2
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L8:
- $C$DW$L$_v_scale_shl$3$B:
- MV .L2X A12,B4 ; |621|
- || ADDKPC .S2 $C$RL2,B3,0 ; |621|
- $C$RL2: ; CALL OCCURS {_L_mult} ; |621|
- $C$DW$L$_v_scale_shl$3$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_scale_shl$4$B:
- CALL .S1 _L_shl ; |621|
- ADDKPC .S2 $C$RL3,B3,3 ; |621|
- MV .L2X A13,B4 ; |621|
- $C$RL3: ; CALL OCCURS {_L_shl} ; |621|
- CALL .S1 _extract_h ; |621|
- ADDKPC .S2 $C$RL4,B3,4 ; |621|
- $C$RL4: ; CALL OCCURS {_extract_h} ; |621|
- $C$DW$L$_v_scale_shl$4$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_scale_shl$5$B:
- STH .D1T1 A4,*A10++ ; |621|
- .dwpsn file "mat_lib.c",line 620,column 14,is_stmt
- SUB .L1 A14,1,A0 ; |620|
- [ A0] B .S1 $C$L8 ; |620|
- [ A0] CALL .S1 _L_mult ; |621|
- [ A0] LDH .D1T1 *A10,A4 ; |621|
- SUB .L1 A14,1,A14 ; |620|
- NOP 2
- ; BRANCHCC OCCURS {$C$L8} ; |620|
- $C$DW$L$_v_scale_shl$5$E:
- ;** --------------------------------------------------------------------------*
- $C$L9:
- .dwpsn file "mat_lib.c",line 622,column 5,is_stmt
- MV .L1 A11,A4 ; |622|
- .dwpsn file "mat_lib.c",line 623,column 1,is_stmt
- LDW .D2T1 *+SP(20),A14 ; |623|
- .dwcfi restore_reg, 14
- LDW .D2T1 *+SP(16),A13 ; |623|
- .dwcfi restore_reg, 13
- LDW .D2T1 *+SP(12),A12 ; |623|
- .dwcfi restore_reg, 12
- LDW .D2T1 *+SP(8),A11 ; |623|
- .dwcfi restore_reg, 11
- LDW .D2T1 *+SP(4),A10 ; |623|
- .dwcfi restore_reg, 10
- LDW .D2T2 *++SP(24),B3 ; |623|
- NOP 4
- .dwcfi cfa_offset, 0
- .dwcfi restore_reg, 19
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |623|
- ; BRANCH OCCURS {B3} ; |623|
- $C$DW$77 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$77, DW_AT_name("D:melp429mat_lib.asm:$C$L8:1:1246674193")
- .dwattr $C$DW$77, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$77, DW_AT_TI_begin_line(0x26c)
- .dwattr $C$DW$77, DW_AT_TI_end_line(0x26d)
- $C$DW$78 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$78, DW_AT_low_pc($C$DW$L$_v_scale_shl$3$B)
- .dwattr $C$DW$78, DW_AT_high_pc($C$DW$L$_v_scale_shl$3$E)
- $C$DW$79 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$79, DW_AT_low_pc($C$DW$L$_v_scale_shl$4$B)
- .dwattr $C$DW$79, DW_AT_high_pc($C$DW$L$_v_scale_shl$4$E)
- $C$DW$80 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$80, DW_AT_low_pc($C$DW$L$_v_scale_shl$5$B)
- .dwattr $C$DW$80, DW_AT_high_pc($C$DW$L$_v_scale_shl$5$E)
- .dwendtag $C$DW$77
- .dwattr $C$DW$68, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$68, DW_AT_TI_end_line(0x26f)
- .dwattr $C$DW$68, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$68
- .sect ".text"
- .global _v_scale
- $C$DW$81 .dwtag DW_TAG_subprogram, DW_AT_name("v_scale")
- .dwattr $C$DW$81, DW_AT_low_pc(_v_scale)
- .dwattr $C$DW$81, DW_AT_high_pc(0x00)
- .dwattr $C$DW$81, DW_AT_TI_symbol_name("_v_scale")
- .dwattr $C$DW$81, DW_AT_external
- .dwattr $C$DW$81, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$81, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$81, DW_AT_TI_begin_line(0x233)
- .dwattr $C$DW$81, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 564,column 1,is_stmt,address _v_scale
- .dwfde $C$DW$CIE, _v_scale
- ;******************************************************************************
- ;* FUNCTION NAME: v_scale *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
- ;* B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,A20, *
- ;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
- ;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
- ;* B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
- ;* B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19,A20, *
- ;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
- ;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
- ;* B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 20 Save = 20 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_scale:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- STW .D2T2 B3,*SP--(24) ; |564|
- .dwcfi cfa_offset, 24
- .dwcfi save_reg_to_mem, 19, 0
- STDW .D2T1 A13:A12,*+SP(16) ; |564|
- .dwcfi save_reg_to_mem, 13, -4
- .dwcfi save_reg_to_mem, 12, -8
- STDW .D2T1 A11:A10,*+SP(8) ; |564|
- .dwcfi save_reg_to_mem, 11, -12
- .dwcfi save_reg_to_mem, 10, -16
- $C$DW$82 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$82, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$82, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$82, DW_AT_location[DW_OP_reg4]
- $C$DW$83 .dwtag DW_TAG_formal_parameter, DW_AT_name("scale")
- .dwattr $C$DW$83, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$83, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$83, DW_AT_location[DW_OP_reg20]
- $C$DW$84 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$84, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$84, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$84, DW_AT_location[DW_OP_reg6]
- $C$DW$85 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$85, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$85, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$85, DW_AT_location[DW_OP_reg10]
- $C$DW$86 .dwtag DW_TAG_variable, DW_AT_name("scale")
- .dwattr $C$DW$86, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$86, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$86, DW_AT_location[DW_OP_reg11]
- $C$DW$87 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$87, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$87, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$87, DW_AT_location[DW_OP_reg6]
- MV .L1 A4,A10 ; |564|
- || MV .S1X B4,A11 ; |564|
- .dwpsn file "mat_lib.c",line 567,column 14,is_stmt
- CMPGT .L1 A6,0,A0 ; |567|
- [!A0] BNOP .S1 $C$L11,5 ; |567|
- || [ A0] MV .L1 A10,A13
- ; BRANCHCC OCCURS {$C$L11} ; |567|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 568,column 9,is_stmt
- CALL .S1 _mult ; |568|
- LDH .D1T1 *A13,A4 ; |568|
- MV .L1 A6,A12 ; |568|
- NOP 2
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L10:
- $C$DW$L$_v_scale$3$B:
- MV .L2X A11,B4 ; |568|
- || ADDKPC .S2 $C$RL5,B3,0 ; |568|
- $C$RL5: ; CALL OCCURS {_mult} ; |568|
- $C$DW$L$_v_scale$3$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_scale$4$B:
- STH .D1T1 A4,*A13++ ; |568|
- .dwpsn file "mat_lib.c",line 567,column 14,is_stmt
- SUB .L1 A12,1,A0 ; |567|
- [ A0] B .S1 $C$L10 ; |567|
- [ A0] CALL .S1 _mult ; |568|
- [ A0] LDH .D1T1 *A13,A4 ; |568|
- SUB .L1 A12,1,A12 ; |567|
- NOP 2
- ; BRANCHCC OCCURS {$C$L10} ; |567|
- $C$DW$L$_v_scale$4$E:
- ;** --------------------------------------------------------------------------*
- $C$L11:
- .dwpsn file "mat_lib.c",line 570,column 5,is_stmt
- MV .L1 A10,A4 ; |570|
- .dwpsn file "mat_lib.c",line 571,column 1,is_stmt
- LDDW .D2T1 *+SP(16),A13:A12 ; |571|
- .dwcfi restore_reg, 13
- .dwcfi restore_reg, 12
- LDDW .D2T1 *+SP(8),A11:A10 ; |571|
- .dwcfi restore_reg, 11
- .dwcfi restore_reg, 10
- LDW .D2T2 *++SP(24),B3 ; |571|
- NOP 4
- .dwcfi cfa_offset, 0
- .dwcfi restore_reg, 19
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |571|
- ; BRANCH OCCURS {B3} ; |571|
- $C$DW$88 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$88, DW_AT_name("D:melp429mat_lib.asm:$C$L10:1:1246674193")
- .dwattr $C$DW$88, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$88, DW_AT_TI_begin_line(0x237)
- .dwattr $C$DW$88, DW_AT_TI_end_line(0x239)
- $C$DW$89 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$89, DW_AT_low_pc($C$DW$L$_v_scale$3$B)
- .dwattr $C$DW$89, DW_AT_high_pc($C$DW$L$_v_scale$3$E)
- $C$DW$90 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$90, DW_AT_low_pc($C$DW$L$_v_scale$4$B)
- .dwattr $C$DW$90, DW_AT_high_pc($C$DW$L$_v_scale$4$E)
- .dwendtag $C$DW$88
- .dwattr $C$DW$81, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$81, DW_AT_TI_end_line(0x23b)
- .dwattr $C$DW$81, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$81
- .sect ".text"
- .global _v_magsq
- $C$DW$91 .dwtag DW_TAG_subprogram, DW_AT_name("v_magsq")
- .dwattr $C$DW$91, DW_AT_low_pc(_v_magsq)
- .dwattr $C$DW$91, DW_AT_high_pc(0x00)
- .dwattr $C$DW$91, DW_AT_TI_symbol_name("_v_magsq")
- .dwattr $C$DW$91, DW_AT_external
- .dwattr $C$DW$91, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$91, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$91, DW_AT_TI_begin_line(0x1ba)
- .dwattr $C$DW$91, DW_AT_TI_begin_column(0x0b)
- .dwpsn file "mat_lib.c",line 443,column 1,is_stmt,address _v_magsq
- .dwfde $C$DW$CIE, _v_magsq
- ;******************************************************************************
- ;* FUNCTION NAME: v_magsq *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19, *
- ;* A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
- ;* B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
- ;* B28,B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,SP,A16,A17,A18,A19, *
- ;* A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31, *
- ;* B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27, *
- ;* B28,B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 24 Save = 24 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_magsq:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- STW .D2T2 B3,*SP--(24) ; |443|
- .dwcfi cfa_offset, 24
- .dwcfi save_reg_to_mem, 19, 0
- STW .D2T1 A14,*+SP(20) ; |443|
- .dwcfi save_reg_to_mem, 14, -4
- STW .D2T1 A13,*+SP(16) ; |443|
- .dwcfi save_reg_to_mem, 13, -8
- STW .D2T1 A12,*+SP(12) ; |443|
- .dwcfi save_reg_to_mem, 12, -12
- STW .D2T1 A11,*+SP(8) ; |443|
- .dwcfi save_reg_to_mem, 11, -16
- STW .D2T1 A10,*+SP(4) ; |443|
- .dwcfi save_reg_to_mem, 10, -20
- $C$DW$92 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$92, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$92, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$92, DW_AT_location[DW_OP_reg4]
- $C$DW$93 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$93, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$93, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$93, DW_AT_location[DW_OP_reg20]
- $C$DW$94 .dwtag DW_TAG_formal_parameter, DW_AT_name("qvec1")
- .dwattr $C$DW$94, DW_AT_TI_symbol_name("_qvec1")
- .dwattr $C$DW$94, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$94, DW_AT_location[DW_OP_reg6]
- $C$DW$95 .dwtag DW_TAG_formal_parameter, DW_AT_name("qout")
- .dwattr $C$DW$95, DW_AT_TI_symbol_name("_qout")
- .dwattr $C$DW$95, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$95, DW_AT_location[DW_OP_reg22]
- $C$DW$96 .dwtag DW_TAG_variable, DW_AT_name("L_temp")
- .dwattr $C$DW$96, DW_AT_TI_symbol_name("_L_temp")
- .dwattr $C$DW$96, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$96, DW_AT_location[DW_OP_reg11]
- $C$DW$97 .dwtag DW_TAG_variable, DW_AT_name("shift")
- .dwattr $C$DW$97, DW_AT_TI_symbol_name("_shift")
- .dwattr $C$DW$97, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$97, DW_AT_location[DW_OP_reg20]
- $C$DW$98 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$98, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$98, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$98, DW_AT_location[DW_OP_reg4]
- $C$DW$99 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$99, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$99, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$99, DW_AT_location[DW_OP_reg20]
- $C$DW$100 .dwtag DW_TAG_variable, DW_AT_name("qvec1")
- .dwattr $C$DW$100, DW_AT_TI_symbol_name("_qvec1")
- .dwattr $C$DW$100, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$100, DW_AT_location[DW_OP_reg14]
- $C$DW$101 .dwtag DW_TAG_variable, DW_AT_name("qout")
- .dwattr $C$DW$101, DW_AT_TI_symbol_name("_qout")
- .dwattr $C$DW$101, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$101, DW_AT_location[DW_OP_reg13]
- MV .L1 A6,A14 ; |443|
- || MV .S1X B6,A13 ; |443|
- .dwpsn file "mat_lib.c",line 448,column 5,is_stmt
- ZERO .L1 A11 ; |448|
- .dwpsn file "mat_lib.c",line 449,column 16,is_stmt
- CMPGT .L2 B4,0,B0 ; |449|
- [!B0] BNOP .S1 $C$L13,5 ; |449|
- || [ B0] MV .L1 A4,A10
- ; BRANCHCC OCCURS {$C$L13} ; |449|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 450,column 9,is_stmt
- LDH .D1T1 *A10++,A6 ; |450|
- || CALL .S1 _L_mac ; |450|
- MV .L1X B4,A12 ; |450|
- NOP 3
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L12:
- $C$DW$L$_v_magsq$3$B:
- MV .L1 A11,A4 ; |450|
- || MV .L2X A6,B4 ; |450|
- || ADDKPC .S2 $C$RL6,B3,0 ; |450|
- $C$RL6: ; CALL OCCURS {_L_mac} ; |450|
- $C$DW$L$_v_magsq$3$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_magsq$4$B:
- MV .L1 A4,A11 ; |450|
- .dwpsn file "mat_lib.c",line 449,column 16,is_stmt
- SUB .L1 A12,1,A0 ; |449|
- [ A0] B .S1 $C$L12 ; |449|
- || [ A0] LDH .D1T1 *A10++,A6 ; |450|
- [ A0] CALL .S1 _L_mac ; |450|
- SUB .L1 A12,1,A12 ; |449|
- NOP 3
- ; BRANCHCC OCCURS {$C$L12} ; |449|
- $C$DW$L$_v_magsq$4$E:
- ;** --------------------------------------------------------------------------*
- $C$L13:
- .dwpsn file "mat_lib.c",line 452,column 5,is_stmt
- CALL .S1 _shl ; |452|
- ADDKPC .S2 $C$RL7,B3,3 ; |452|
- MV .L1 A14,A4 ; |452|
- || MVK .L2 0x1,B4 ; |452|
- $C$RL7: ; CALL OCCURS {_shl} ; |452|
- ;** --------------------------------------------------------------------------*
- CALL .S1 _add ; |452|
- ADDKPC .S2 $C$RL8,B3,3 ; |452|
- MVK .L2 0x1,B4 ; |452|
- $C$RL8: ; CALL OCCURS {_add} ; |452|
- CALL .S1 _sub ; |452|
- MVK .S2 0x10,B4 ; |452|
- ADDKPC .S2 $C$RL9,B3,3 ; |452|
- $C$RL9: ; CALL OCCURS {_sub} ; |452|
- CALL .S1 _sub ; |452|
- MV .L2X A4,B4 ; |452|
- MV .L1 A13,A4 ; |452|
- ADDKPC .S2 $C$RL10,B3,2 ; |452|
- $C$RL10: ; CALL OCCURS {_sub} ; |452|
- MV .L2X A4,B4 ; |452|
- .dwpsn file "mat_lib.c",line 453,column 5,is_stmt
- CALL .S1 _L_shl ; |453|
- ADDKPC .S2 $C$RL11,B3,3 ; |453|
- MV .L1 A11,A4 ; |453|
- $C$RL11: ; CALL OCCURS {_L_shl} ; |453|
- CALL .S1 _extract_h ; |453|
- ADDKPC .S2 $C$RL12,B3,4 ; |453|
- $C$RL12: ; CALL OCCURS {_extract_h} ; |453|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 454,column 5,is_stmt
- .dwpsn file "mat_lib.c",line 455,column 1,is_stmt
- LDW .D2T1 *+SP(20),A14 ; |455|
- .dwcfi restore_reg, 14
- LDW .D2T1 *+SP(16),A13 ; |455|
- .dwcfi restore_reg, 13
- LDW .D2T1 *+SP(12),A12 ; |455|
- .dwcfi restore_reg, 12
- LDW .D2T1 *+SP(8),A11 ; |455|
- .dwcfi restore_reg, 11
- LDW .D2T1 *+SP(4),A10 ; |455|
- .dwcfi restore_reg, 10
- LDW .D2T2 *++SP(24),B3 ; |455|
- NOP 4
- .dwcfi cfa_offset, 0
- .dwcfi restore_reg, 19
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |455|
- ; BRANCH OCCURS {B3} ; |455|
- $C$DW$102 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$102, DW_AT_name("D:melp429mat_lib.asm:$C$L12:1:1246674193")
- .dwattr $C$DW$102, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$102, DW_AT_TI_begin_line(0x1c1)
- .dwattr $C$DW$102, DW_AT_TI_end_line(0x1c2)
- $C$DW$103 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$103, DW_AT_low_pc($C$DW$L$_v_magsq$3$B)
- .dwattr $C$DW$103, DW_AT_high_pc($C$DW$L$_v_magsq$3$E)
- $C$DW$104 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$104, DW_AT_low_pc($C$DW$L$_v_magsq$4$B)
- .dwattr $C$DW$104, DW_AT_high_pc($C$DW$L$_v_magsq$4$E)
- .dwendtag $C$DW$102
- .dwattr $C$DW$91, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$91, DW_AT_TI_end_line(0x1c7)
- .dwattr $C$DW$91, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$91
- .sect ".text"
- .global _v_inner
- $C$DW$105 .dwtag DW_TAG_subprogram, DW_AT_name("v_inner")
- .dwattr $C$DW$105, DW_AT_low_pc(_v_inner)
- .dwattr $C$DW$105, DW_AT_high_pc(0x00)
- .dwattr $C$DW$105, DW_AT_TI_symbol_name("_v_inner")
- .dwattr $C$DW$105, DW_AT_external
- .dwattr $C$DW$105, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$105, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$105, DW_AT_TI_begin_line(0x13c)
- .dwattr $C$DW$105, DW_AT_TI_begin_column(0x0b)
- .dwpsn file "mat_lib.c",line 318,column 1,is_stmt,address _v_inner
- .dwfde $C$DW$CIE, _v_inner
- ;******************************************************************************
- ;* FUNCTION NAME: v_inner *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,SP,A16,A17,A18, *
- ;* A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
- ;* A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
- ;* B27,B28,B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,SP,A16,A17,A18, *
- ;* A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
- ;* A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
- ;* B27,B28,B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 28 Save = 28 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_inner:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- MV .L1X SP,A31 ; |318|
- || STW .D2T2 B10,*SP--(32) ; |318|
- .dwcfi cfa_offset, 32
- .dwcfi save_reg_to_mem, 26, 0
- STW .D2T2 B3,*+SP(28) ; |318|
- .dwcfi save_reg_to_mem, 19, -4
- STW .D1T1 A14,*-A31(8) ; |318|
- .dwcfi save_reg_to_mem, 14, -8
- STDW .D1T1 A13:A12,*-A31(16) ; |318|
- .dwcfi save_reg_to_mem, 13, -12
- .dwcfi save_reg_to_mem, 12, -16
- STDW .D1T1 A11:A10,*-A31(24) ; |318|
- .dwcfi save_reg_to_mem, 11, -20
- .dwcfi save_reg_to_mem, 10, -24
- $C$DW$106 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$106, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$106, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$106, DW_AT_location[DW_OP_reg4]
- $C$DW$107 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec2")
- .dwattr $C$DW$107, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$107, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$107, DW_AT_location[DW_OP_reg20]
- $C$DW$108 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$108, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$108, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$108, DW_AT_location[DW_OP_reg6]
- $C$DW$109 .dwtag DW_TAG_formal_parameter, DW_AT_name("qvec1")
- .dwattr $C$DW$109, DW_AT_TI_symbol_name("_qvec1")
- .dwattr $C$DW$109, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$109, DW_AT_location[DW_OP_reg22]
- $C$DW$110 .dwtag DW_TAG_formal_parameter, DW_AT_name("qvec2")
- .dwattr $C$DW$110, DW_AT_TI_symbol_name("_qvec2")
- .dwattr $C$DW$110, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$110, DW_AT_location[DW_OP_reg8]
- $C$DW$111 .dwtag DW_TAG_formal_parameter, DW_AT_name("qout")
- .dwattr $C$DW$111, DW_AT_TI_symbol_name("_qout")
- .dwattr $C$DW$111, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$111, DW_AT_location[DW_OP_reg24]
- $C$DW$112 .dwtag DW_TAG_variable, DW_AT_name("L_temp")
- .dwattr $C$DW$112, DW_AT_TI_symbol_name("_L_temp")
- .dwattr $C$DW$112, DW_AT_type(*$C$DW$T$27)
- .dwattr $C$DW$112, DW_AT_location[DW_OP_reg4]
- $C$DW$113 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$113, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$113, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$113, DW_AT_location[DW_OP_reg26]
- $C$DW$114 .dwtag DW_TAG_variable, DW_AT_name("vec2")
- .dwattr $C$DW$114, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$114, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$114, DW_AT_location[DW_OP_reg20]
- $C$DW$115 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$115, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$115, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$115, DW_AT_location[DW_OP_reg6]
- $C$DW$116 .dwtag DW_TAG_variable, DW_AT_name("qvec1")
- .dwattr $C$DW$116, DW_AT_TI_symbol_name("_qvec1")
- .dwattr $C$DW$116, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$116, DW_AT_location[DW_OP_reg11]
- $C$DW$117 .dwtag DW_TAG_variable, DW_AT_name("qvec2")
- .dwattr $C$DW$117, DW_AT_TI_symbol_name("_qvec2")
- .dwattr $C$DW$117, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$117, DW_AT_location[DW_OP_reg13]
- $C$DW$118 .dwtag DW_TAG_variable, DW_AT_name("qout")
- .dwattr $C$DW$118, DW_AT_TI_symbol_name("_qout")
- .dwattr $C$DW$118, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$118, DW_AT_location[DW_OP_reg10]
- MV .L2X A4,B10 ; |318|
- || MV .L1 A8,A13 ; |318|
- || MV .S1X B8,A10 ; |318|
- MV .L1X B6,A11 ; |318|
- .dwpsn file "mat_lib.c",line 323,column 5,is_stmt
- ZERO .L1 A4 ; |323|
- .dwpsn file "mat_lib.c",line 324,column 16,is_stmt
- CMPGT .L1 A6,0,A0 ; |324|
- [!A0] BNOP .S1 $C$L15,5 ; |324|
- || [ A0] MV .L1X B4,A14
- ; BRANCHCC OCCURS {$C$L15} ; |324|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 325,column 9,is_stmt
- MV .L1 A6,A12 ; |325|
- || LDH .D1T1 *A14++,A6 ; |325|
- || CALL .S1 _L_mac ; |325|
- LDH .D2T2 *B10++,B4 ; |325|
- NOP 3
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L14:
- $C$DW$L$_v_inner$3$B:
- ADDKPC .S2 $C$RL13,B3,0 ; |325|
- $C$RL13: ; CALL OCCURS {_L_mac} ; |325|
- $C$DW$L$_v_inner$3$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_inner$4$B:
- .dwpsn file "mat_lib.c",line 324,column 16,is_stmt
- SUB .L1 A12,1,A0 ; |324|
- [ A0] LDH .D2T2 *B10++,B4 ; |325|
- || [ A0] B .S1 $C$L14 ; |324|
- [ A0] CALL .S1 _L_mac ; |325|
- [ A0] LDH .D1T1 *A14++,A6 ; |325|
- SUB .L1 A12,1,A12 ; |324|
- NOP 2
- ; BRANCHCC OCCURS {$C$L14} ; |324|
- $C$DW$L$_v_inner$4$E:
- ;** --------------------------------------------------------------------------*
- $C$L15:
- .dwpsn file "mat_lib.c",line 326,column 5,is_stmt
- SUB .L1 A10,A11,A3 ; |326|
- || CALL .S1 _L_shl ; |326|
- SUB .L1 A3,A13,A3 ; |326|
- ADD .L1 15,A3,A3 ; |326|
- EXT .S1 A3,16,16,A3 ; |326|
- ADDKPC .S2 $C$RL14,B3,0 ; |326|
- MV .L2X A3,B4 ; |326|
- $C$RL14: ; CALL OCCURS {_L_shl} ; |326|
- ;** --------------------------------------------------------------------------*
- CALL .S1 _extract_h ; |326|
- ADDKPC .S2 $C$RL15,B3,4 ; |326|
- $C$RL15: ; CALL OCCURS {_extract_h} ; |326|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 327,column 5,is_stmt
- .dwpsn file "mat_lib.c",line 328,column 1,is_stmt
- LDW .D2T2 *+SP(28),B3 ; |328|
- || MV .L1X SP,A31 ; |328|
- .dwcfi restore_reg, 19
- LDW .D1T1 *+A31(24),A14 ; |328|
- .dwcfi restore_reg, 14
- LDDW .D1T1 *+A31(16),A13:A12 ; |328|
- .dwcfi restore_reg, 13
- .dwcfi restore_reg, 12
- LDDW .D1T1 *+A31(8),A11:A10 ; |328|
- .dwcfi restore_reg, 11
- .dwcfi restore_reg, 10
- LDW .D2T2 *++SP(32),B10 ; |328|
- .dwcfi cfa_offset, 0
- .dwcfi restore_reg, 26
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |328|
- ; BRANCH OCCURS {B3} ; |328|
- $C$DW$119 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$119, DW_AT_name("D:melp429mat_lib.asm:$C$L14:1:1246674193")
- .dwattr $C$DW$119, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$119, DW_AT_TI_begin_line(0x144)
- .dwattr $C$DW$119, DW_AT_TI_end_line(0x145)
- $C$DW$120 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$120, DW_AT_low_pc($C$DW$L$_v_inner$3$B)
- .dwattr $C$DW$120, DW_AT_high_pc($C$DW$L$_v_inner$3$E)
- $C$DW$121 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$121, DW_AT_low_pc($C$DW$L$_v_inner$4$B)
- .dwattr $C$DW$121, DW_AT_high_pc($C$DW$L$_v_inner$4$E)
- .dwendtag $C$DW$119
- .dwattr $C$DW$105, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$105, DW_AT_TI_end_line(0x148)
- .dwattr $C$DW$105, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$105
- .sect ".text"
- .global _v_equ_shr
- $C$DW$122 .dwtag DW_TAG_subprogram, DW_AT_name("v_equ_shr")
- .dwattr $C$DW$122, DW_AT_low_pc(_v_equ_shr)
- .dwattr $C$DW$122, DW_AT_high_pc(0x00)
- .dwattr $C$DW$122, DW_AT_TI_symbol_name("_v_equ_shr")
- .dwattr $C$DW$122, DW_AT_external
- .dwattr $C$DW$122, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$122, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$122, DW_AT_TI_begin_line(0xd2)
- .dwattr $C$DW$122, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 212,column 1,is_stmt,address _v_equ_shr
- .dwfde $C$DW$CIE, _v_equ_shr
- ;******************************************************************************
- ;* FUNCTION NAME: v_equ_shr *
- ;* *
- ;* Regs Modified : A0,A1,A3,A4,A5,A7,B0,B1,B4,B5,B6,B7 *
- ;* Regs Used : A0,A1,A3,A4,A5,A6,A7,B0,B1,B3,B4,B5,B6,B7,DP,SP *
- ;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_equ_shr:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- $C$DW$123 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$123, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$123, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$123, DW_AT_location[DW_OP_reg4]
- $C$DW$124 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec2")
- .dwattr $C$DW$124, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$124, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$124, DW_AT_location[DW_OP_reg20]
- $C$DW$125 .dwtag DW_TAG_formal_parameter, DW_AT_name("scale")
- .dwattr $C$DW$125, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$125, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$125, DW_AT_location[DW_OP_reg6]
- $C$DW$126 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$126, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$126, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$126, DW_AT_location[DW_OP_reg22]
- $C$DW$127 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$127, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$127, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$127, DW_AT_location[DW_OP_reg22]
- $C$DW$128 .dwtag DW_TAG_variable, DW_AT_name("scale")
- .dwattr $C$DW$128, DW_AT_TI_symbol_name("_scale")
- .dwattr $C$DW$128, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$128, DW_AT_location[DW_OP_reg6]
- $C$DW$129 .dwtag DW_TAG_variable, DW_AT_name("vec2")
- .dwattr $C$DW$129, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$129, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$129, DW_AT_location[DW_OP_reg20]
- $C$DW$130 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$130, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$130, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$130, DW_AT_location[DW_OP_reg5]
- MV .L1 A4,A5 ; |212|
- .dwpsn file "mat_lib.c",line 215,column 14,is_stmt
- CMPGT .L2 B6,0,B1 ; |215|
- [!B1] BNOP .S1 $C$L25,5 ; |215|
- ; BRANCHCC OCCURS {$C$L25} ; |215|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 217,column 3,is_stmt
- SUB .L2X B4,A5,B7 ; |217|
- || ADD .S2 B6,B6,B5 ; |217|
- || SUB .L1X A5,B4,A3 ; |217|
- || MV .D2 B6,B0
- || MV .S1 A5,A7
- CMPGT .L2 B5,B7,B7 ; |217|
- || MV .L1X B4,A4
- CMPGT .L1X B5,A3,A3 ; |217|
- || CMPGT .L2 B0,6,B1
- AND .L1X A3,B7,A1
- [!A1] BNOP .S1 $C$L19,5 ; |217|
- ; BRANCHCC OCCURS {$C$L19} ; |217|
- ;** --------------------------------------------------------------------------*
- MVC .S2 CSR,B7
- || SUB .L1X B6,1,A0
- || MV .L2X A5,B6
- AND .L2 -2,B7,B5
- || MV .S2X A6,B4
- MVC .S2 B5,CSR ; interrupts off
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;*
- ;* Loop source line : 215
- ;* Loop opening brace source line : 215
- ;* Loop closing brace source line : 220
- ;* Known Minimum Trip Count : 1
- ;* Known Maximum Trip Count : 65536
- ;* Known Max Trip Count Factor : 1
- ;* Loop Carried Dependency Bound(^) : 8
- ;* Unpartitioned Resource Bound : 1
- ;* Partitioned Resource Bound(*) : 1
- ;* Resource Partition:
- ;* A-side B-side
- ;* .L units 0 0
- ;* .S units 0 1*
- ;* .D units 1* 1*
- ;* .M units 1* 0
- ;* .X cross paths 1* 0
- ;* .T address paths 1* 1*
- ;* Long read paths 0 0
- ;* Long write paths 0 0
- ;* Logical ops (.LS) 0 0 (.L or .S unit)
- ;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
- ;* Bound(.L .S .LS) 0 1*
- ;* Bound(.L .S .D .LS .LSD) 1* 1*
- ;*
- ;* Searching for software pipeline schedule at ...
- ;* ii = 8 Schedule found with 1 iterations in parallel
- ;* Done
- ;*
- ;* Collapsed epilog stages : 0
- ;* Collapsed prolog stages : 0
- ;*
- ;* Minimum safe trip count : 1
- ;*----------------------------------------------------------------------------*
- $C$L16: ; PIPED LOOP PROLOG
- ;** --------------------------------------------------------------------------*
- $C$L17: ; PIPED LOOP KERNEL
- $C$DW$L$_v_equ_shr$5$B:
- LDH .D1T1 *A4++,A3 ; |217| <0,0> ^
- NOP 1
- [ A0] BDEC .S1 $C$L17,A0 ; |215| <0,2>
- NOP 2
- SSHVR .M2X A3,B4,B5 ; |217| <0,5> ^
- NOP 1
- STH .D2T2 B5,*B6++ ; |217| <0,7> ^
- $C$DW$L$_v_equ_shr$5$E:
- ;** --------------------------------------------------------------------------*
- $C$L18: ; PIPED LOOP EPILOG
- ;** --------------------------------------------------------------------------*
- BNOP .S1 $C$L25,5 ; |215|
- || MVC .S2 B7,CSR ; interrupts on
- ; BRANCH OCCURS {$C$L25} ; |215|
- ;** --------------------------------------------------------------------------*
- $C$L19:
- [ B1] BNOP .S1 $C$L21,5
- ; BRANCHCC OCCURS {$C$L21}
- ;** --------------------------------------------------------------------------*
- ;** BEGIN LOOP $C$L20
- ;** --------------------------------------------------------------------------*
- $C$L20:
- $C$DW$L$_v_equ_shr$9$B:
- LDH .D1T1 *A4++,A3 ; |217|
- NOP 4
- SSHVR .M1 A3,A6,A3 ; |217|
- NOP 1
- STH .D1T1 A3,*A7++ ; |217|
- .dwpsn file "mat_lib.c",line 215,column 14,is_stmt
- SUB .L2 B0,1,B0 ; |215|
- [ B0] B .S1 $C$L20 ; |215|
- [!B0] BNOP .S1 $C$L25,4
- ; BRANCHCC OCCURS {$C$L20} ; |215|
- $C$DW$L$_v_equ_shr$9$E:
- ;** --------------------------------------------------------------------------*
- NOP 1
- ; BRANCH OCCURS {$C$L25}
- ;** --------------------------------------------------------------------------*
- $C$L21:
- MVC .S2 CSR,B7
- || SUB .L1X B0,6,A0
- AND .L2 -2,B7,B4
- MVC .S2 B4,CSR ; interrupts off
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;*
- ;* Loop source line : 215
- ;* Loop opening brace source line : 215
- ;* Loop closing brace source line : 220
- ;* Known Minimum Trip Count : 1
- ;* Known Maximum Trip Count : 65536
- ;* Known Max Trip Count Factor : 1
- ;* Loop Carried Dependency Bound(^) : 0
- ;* Unpartitioned Resource Bound : 1
- ;* Partitioned Resource Bound(*) : 1
- ;* Resource Partition:
- ;* A-side B-side
- ;* .L units 0 0
- ;* .S units 1* 0
- ;* .D units 1* 1*
- ;* .M units 0 1*
- ;* .X cross paths 0 1*
- ;* .T address paths 1* 1*
- ;* Long read paths 0 0
- ;* Long write paths 0 0
- ;* Logical ops (.LS) 0 0 (.L or .S unit)
- ;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
- ;* Bound(.L .S .LS) 1* 0
- ;* Bound(.L .S .D .LS .LSD) 1* 1*
- ;*
- ;* Searching for software pipeline schedule at ...
- ;* ii = 1 Schedule found with 8 iterations in parallel
- ;* Done
- ;*
- ;* Epilog not removed
- ;* Collapsed epilog stages : 0
- ;*
- ;* Prolog not entirely removed
- ;* Collapsed prolog stages : 2
- ;*
- ;* Minimum required memory pad : 0 bytes
- ;*
- ;* For further improvement on this loop, try option -mh14
- ;*
- ;* Minimum safe trip count : 7
- ;*----------------------------------------------------------------------------*
- $C$L22: ; PIPED LOOP PROLOG
- LDH .D1T1 *A4++,A3 ; |217| (P) <0,0>
- || [ A0] BDEC .S1 $C$L23,A0 ; |215| (P) <0,2>
- [ A0] BDEC .S1 $C$L23,A0 ; |215| (P) <1,2>
- || LDH .D1T1 *A4++,A3 ; |217| (P) <1,0>
- LDH .D1T1 *A4++,A3 ; |217| (P) <2,0>
- || [ A0] BDEC .S1 $C$L23,A0 ; |215| (P) <2,2>
- MV .L2X A6,B6
- || [ A0] BDEC .S1 $C$L23,A0 ; |215| (P) <3,2>
- || LDH .D1T1 *A4++,A3 ; |217| (P) <3,0>
- MVK .L1 0x2,A1 ; init prolog collapse predicate
- || MV .L2X A7,B5
- || LDH .D1T1 *A4++,A3 ; |217| (P) <4,0>
- || [ A0] BDEC .S1 $C$L23,A0 ; |215| (P) <4,2>
- ;** --------------------------------------------------------------------------*
- $C$L23: ; PIPED LOOP KERNEL
- $C$DW$L$_v_equ_shr$13$B:
- [ A1] SUB .L1 A1,1,A1 ; <0,7>
- || [!A1] STH .D2T2 B4,*B5++ ; |217| <0,7>
- || SSHVR .M2X A3,B6,B4 ; |217| <2,5>
- || [ A0] BDEC .S1 $C$L23,A0 ; |215| <5,2>
- || LDH .D1T1 *A4++,A3 ; |217| <7,0>
- $C$DW$L$_v_equ_shr$13$E:
- ;** --------------------------------------------------------------------------*
- $C$L24: ; PIPED LOOP EPILOG
- SSHVR .M2X A3,B6,B4 ; |217| (E) <3,5>
- || STH .D2T2 B4,*B5++ ; |217| (E) <1,7>
- STH .D2T2 B4,*B5++ ; |217| (E) <2,7>
- || SSHVR .M2X A3,B6,B4 ; |217| (E) <4,5>
- SSHVR .M2X A3,B6,B4 ; |217| (E) <5,5>
- || STH .D2T2 B4,*B5++ ; |217| (E) <3,7>
- STH .D2T2 B4,*B5++ ; |217| (E) <4,7>
- || SSHVR .M2X A3,B6,B4 ; |217| (E) <6,5>
- SSHVR .M2X A3,B6,B4 ; |217| (E) <7,5>
- || STH .D2T2 B4,*B5++ ; |217| (E) <5,7>
- MVC .S2 B7,CSR ; interrupts on
- || STH .D2T2 B4,*B5++ ; |217| (E) <6,7>
- ;** --------------------------------------------------------------------------*
- STH .D2T2 B4,*B5++ ; |217| (E) <7,7>
- ;** --------------------------------------------------------------------------*
- $C$L25:
- .dwpsn file "mat_lib.c",line 221,column 5,is_stmt
- MV .L1 A5,A4 ; |221|
- .dwpsn file "mat_lib.c",line 222,column 1,is_stmt
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |222|
- ; BRANCH OCCURS {B3} ; |222|
- $C$DW$131 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$131, DW_AT_name("D:melp429mat_lib.asm:$C$L23:1:1246674193")
- .dwattr $C$DW$131, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$131, DW_AT_TI_begin_line(0xd7)
- .dwattr $C$DW$131, DW_AT_TI_end_line(0xdc)
- $C$DW$132 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$132, DW_AT_low_pc($C$DW$L$_v_equ_shr$13$B)
- .dwattr $C$DW$132, DW_AT_high_pc($C$DW$L$_v_equ_shr$13$E)
- .dwendtag $C$DW$131
- $C$DW$133 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$133, DW_AT_name("D:melp429mat_lib.asm:$C$L20:1:1246674193")
- .dwattr $C$DW$133, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$133, DW_AT_TI_begin_line(0xd7)
- .dwattr $C$DW$133, DW_AT_TI_end_line(0xdc)
- $C$DW$134 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$134, DW_AT_low_pc($C$DW$L$_v_equ_shr$9$B)
- .dwattr $C$DW$134, DW_AT_high_pc($C$DW$L$_v_equ_shr$9$E)
- .dwendtag $C$DW$133
- $C$DW$135 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$135, DW_AT_name("D:melp429mat_lib.asm:$C$L17:1:1246674193")
- .dwattr $C$DW$135, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$135, DW_AT_TI_begin_line(0xd7)
- .dwattr $C$DW$135, DW_AT_TI_end_line(0xdc)
- $C$DW$136 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$136, DW_AT_low_pc($C$DW$L$_v_equ_shr$5$B)
- .dwattr $C$DW$136, DW_AT_high_pc($C$DW$L$_v_equ_shr$5$E)
- .dwendtag $C$DW$135
- .dwattr $C$DW$122, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$122, DW_AT_TI_end_line(0xde)
- .dwattr $C$DW$122, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$122
- .sect ".text"
- .global _v_equ
- $C$DW$137 .dwtag DW_TAG_subprogram, DW_AT_name("v_equ")
- .dwattr $C$DW$137, DW_AT_low_pc(_v_equ)
- .dwattr $C$DW$137, DW_AT_high_pc(0x00)
- .dwattr $C$DW$137, DW_AT_TI_symbol_name("_v_equ")
- .dwattr $C$DW$137, DW_AT_external
- .dwattr $C$DW$137, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$137, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$137, DW_AT_TI_begin_line(0xa2)
- .dwattr $C$DW$137, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 163,column 1,is_stmt,address _v_equ
- .dwfde $C$DW$CIE, _v_equ
- ;******************************************************************************
- ;* FUNCTION NAME: v_equ *
- ;* *
- ;* Regs Modified : A0,A1,A3,A4,A5,A7,B0,B1,B4,B5,B6,B7 *
- ;* Regs Used : A0,A1,A3,A4,A5,A6,A7,B0,B1,B3,B4,B5,B6,B7,DP,SP *
- ;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_equ:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- $C$DW$138 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$138, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$138, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$138, DW_AT_location[DW_OP_reg4]
- $C$DW$139 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec2")
- .dwattr $C$DW$139, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$139, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$139, DW_AT_location[DW_OP_reg20]
- $C$DW$140 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$140, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$140, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$140, DW_AT_location[DW_OP_reg6]
- $C$DW$141 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$141, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$141, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$141, DW_AT_location[DW_OP_reg6]
- $C$DW$142 .dwtag DW_TAG_variable, DW_AT_name("vec2")
- .dwattr $C$DW$142, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$142, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$142, DW_AT_location[DW_OP_reg20]
- $C$DW$143 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$143, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$143, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$143, DW_AT_location[DW_OP_reg5]
- MV .L1 A4,A5 ; |163|
- .dwpsn file "mat_lib.c",line 166,column 14,is_stmt
- CMPGT .L1 A6,0,A1 ; |166|
- [!A1] BNOP .S1 $C$L35,5 ; |166|
- ; BRANCHCC OCCURS {$C$L35} ; |166|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 167,column 7,is_stmt
- SUB .L1X B4,A5,A4 ; |167|
- || ADD .S1 A6,A6,A3 ; |167|
- || SUB .L2X A5,B4,B5 ; |167|
- || MV .D1 A6,A0
- CMPGT .L1 A3,A4,A4 ; |167|
- || MV .L2X A6,B0
- || MV .S1 A5,A7
- CMPGT .L2X A3,B5,B5 ; |167|
- AND .L2X B5,A4,B1
- || MV .L1X B4,A4
- [!B1] BNOP .S1 $C$L29,5 ; |167|
- || CMPGT .L2 B0,5,B1
- ; BRANCHCC OCCURS {$C$L29} ; |167|
- ;** --------------------------------------------------------------------------*
- MVC .S2 CSR,B7
- || MV .L2 B4,B5
- || MV .D2X A5,B4
- || SUB .L1 A0,1,A0
- AND .L2 -2,B7,B6
- MVC .S2 B6,CSR ; interrupts off
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;*
- ;* Loop source line : 166
- ;* Loop opening brace source line : 166
- ;* Loop closing brace source line : 168
- ;* Known Minimum Trip Count : 1
- ;* Known Maximum Trip Count : 65536
- ;* Known Max Trip Count Factor : 1
- ;* Loop Carried Dependency Bound(^) : 6
- ;* Unpartitioned Resource Bound : 1
- ;* Partitioned Resource Bound(*) : 2
- ;* Resource Partition:
- ;* A-side B-side
- ;* .L units 0 0
- ;* .S units 1 0
- ;* .D units 0 2*
- ;* .M units 0 0
- ;* .X cross paths 0 0
- ;* .T address paths 0 2*
- ;* Long read paths 0 0
- ;* Long write paths 0 0
- ;* Logical ops (.LS) 0 0 (.L or .S unit)
- ;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
- ;* Bound(.L .S .LS) 1 0
- ;* Bound(.L .S .D .LS .LSD) 1 1
- ;*
- ;* Searching for software pipeline schedule at ...
- ;* ii = 6 Schedule found with 1 iterations in parallel
- ;* Done
- ;*
- ;* Collapsed epilog stages : 0
- ;* Collapsed prolog stages : 0
- ;*
- ;* Minimum safe trip count : 1
- ;*----------------------------------------------------------------------------*
- $C$L26: ; PIPED LOOP PROLOG
- ;** --------------------------------------------------------------------------*
- $C$L27: ; PIPED LOOP KERNEL
- $C$DW$L$_v_equ$5$B:
- [ A0] BDEC .S1 $C$L27,A0 ; |166| <0,0>
- || LDH .D2T2 *B5++,B6 ; |167| <0,0> ^
- NOP 4
- STH .D2T2 B6,*B4++ ; |167| <0,5> ^
- $C$DW$L$_v_equ$5$E:
- ;** --------------------------------------------------------------------------*
- $C$L28: ; PIPED LOOP EPILOG
- ;** --------------------------------------------------------------------------*
- BNOP .S1 $C$L35,5 ; |166|
- || MVC .S2 B7,CSR ; interrupts on
- ; BRANCH OCCURS {$C$L35} ; |166|
- ;** --------------------------------------------------------------------------*
- $C$L29:
- [ B1] BNOP .S1 $C$L31,5
- ; BRANCHCC OCCURS {$C$L31}
- ;** --------------------------------------------------------------------------*
- ;** BEGIN LOOP $C$L30
- ;** --------------------------------------------------------------------------*
- $C$L30:
- $C$DW$L$_v_equ$9$B:
- LDH .D1T1 *A4++,A3 ; |167|
- NOP 4
- STH .D1T1 A3,*A7++ ; |167|
- .dwpsn file "mat_lib.c",line 166,column 14,is_stmt
- SUB .L2 B0,1,B0 ; |166|
- [ B0] B .S1 $C$L30 ; |166|
- [!B0] BNOP .S1 $C$L35,4
- ; BRANCHCC OCCURS {$C$L30} ; |166|
- $C$DW$L$_v_equ$9$E:
- ;** --------------------------------------------------------------------------*
- NOP 1
- ; BRANCH OCCURS {$C$L35}
- ;** --------------------------------------------------------------------------*
- $C$L31:
- MVC .S2 CSR,B6
- || SUB .L1X B0,6,A0
- AND .L2 -2,B6,B4
- MVC .S2 B4,CSR ; interrupts off
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;*
- ;* Loop source line : 166
- ;* Loop opening brace source line : 166
- ;* Loop closing brace source line : 168
- ;* Known Minimum Trip Count : 1
- ;* Known Maximum Trip Count : 65536
- ;* Known Max Trip Count Factor : 1
- ;* Loop Carried Dependency Bound(^) : 0
- ;* Unpartitioned Resource Bound : 1
- ;* Partitioned Resource Bound(*) : 1
- ;* Resource Partition:
- ;* A-side B-side
- ;* .L units 0 0
- ;* .S units 1* 0
- ;* .D units 1* 1*
- ;* .M units 0 0
- ;* .X cross paths 0 1*
- ;* .T address paths 1* 1*
- ;* Long read paths 0 0
- ;* Long write paths 0 0
- ;* Logical ops (.LS) 0 0 (.L or .S unit)
- ;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
- ;* Bound(.L .S .LS) 1* 0
- ;* Bound(.L .S .D .LS .LSD) 1* 1*
- ;*
- ;* Searching for software pipeline schedule at ...
- ;* ii = 1 Schedule found with 7 iterations in parallel
- ;* Done
- ;*
- ;* Epilog not removed
- ;* Collapsed epilog stages : 0
- ;*
- ;* Prolog not entirely removed
- ;* Collapsed prolog stages : 1
- ;*
- ;* Minimum required memory pad : 0 bytes
- ;*
- ;* For further improvement on this loop, try option -mh12
- ;*
- ;* Minimum safe trip count : 6
- ;*----------------------------------------------------------------------------*
- $C$L32: ; PIPED LOOP PROLOG
- LDH .D1T1 *A4++,A3 ; |167| (P) <0,0>
- || [ A0] BDEC .S1 $C$L33,A0 ; |166| (P) <0,1>
- [ A0] BDEC .S1 $C$L33,A0 ; |166| (P) <1,1>
- || LDH .D1T1 *A4++,A3 ; |167| (P) <1,0>
- LDH .D1T1 *A4++,A3 ; |167| (P) <2,0>
- || [ A0] BDEC .S1 $C$L33,A0 ; |166| (P) <2,1>
- [ A0] BDEC .S1 $C$L33,A0 ; |166| (P) <3,1>
- || LDH .D1T1 *A4++,A3 ; |167| (P) <3,0>
- MV .L2X A7,B5
- || MVK .L1 0x1,A1 ; init prolog collapse predicate
- || LDH .D1T1 *A4++,A3 ; |167| (P) <4,0>
- || [ A0] BDEC .S1 $C$L33,A0 ; |166| (P) <4,1>
- ;** --------------------------------------------------------------------------*
- $C$L33: ; PIPED LOOP KERNEL
- $C$DW$L$_v_equ$13$B:
- [ A1] SUB .L1 A1,1,A1 ; <0,6>
- || [!A1] STH .D2T2 B4,*B5++ ; |167| <0,6>
- || MV .L2X A3,B4 ; |167| <1,5> Define a twin register
- || [ A0] BDEC .S1 $C$L33,A0 ; |166| <5,1>
- || LDH .D1T1 *A4++,A3 ; |167| <6,0>
- $C$DW$L$_v_equ$13$E:
- ;** --------------------------------------------------------------------------*
- $C$L34: ; PIPED LOOP EPILOG
- MV .L2X A3,B4 ; |167| (E) <2,5> Define a twin register
- || STH .D2T2 B4,*B5++ ; |167| (E) <1,6>
- MV .L2X A3,B4 ; |167| (E) <3,5> Define a twin register
- || STH .D2T2 B4,*B5++ ; |167| (E) <2,6>
- MV .L2X A3,B4 ; |167| (E) <4,5> Define a twin register
- || STH .D2T2 B4,*B5++ ; |167| (E) <3,6>
- MVC .S2 B6,CSR ; interrupts on
- || MV .L2X A3,B4 ; |167| (E) <5,5> Define a twin register
- || STH .D2T2 B4,*B5++ ; |167| (E) <4,6>
- ;** --------------------------------------------------------------------------*
- MV .L2X A3,B4 ; |167| (E) <6,5> Define a twin register
- || STH .D2T2 B4,*B5++ ; |167| (E) <5,6>
- STH .D2T2 B4,*B5++ ; |167| (E) <6,6>
- ;** --------------------------------------------------------------------------*
- $C$L35:
- .dwpsn file "mat_lib.c",line 169,column 5,is_stmt
- MV .L1 A5,A4 ; |169|
- .dwpsn file "mat_lib.c",line 170,column 1,is_stmt
- .dwcfi cfa_offset, 0
- RETNOP .S2 B3,5 ; |170|
- ; BRANCH OCCURS {B3} ; |170|
- $C$DW$144 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$144, DW_AT_name("D:melp429mat_lib.asm:$C$L33:1:1246674193")
- .dwattr $C$DW$144, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$144, DW_AT_TI_begin_line(0xa6)
- .dwattr $C$DW$144, DW_AT_TI_end_line(0xa8)
- $C$DW$145 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$145, DW_AT_low_pc($C$DW$L$_v_equ$13$B)
- .dwattr $C$DW$145, DW_AT_high_pc($C$DW$L$_v_equ$13$E)
- .dwendtag $C$DW$144
- $C$DW$146 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$146, DW_AT_name("D:melp429mat_lib.asm:$C$L30:1:1246674193")
- .dwattr $C$DW$146, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$146, DW_AT_TI_begin_line(0xa6)
- .dwattr $C$DW$146, DW_AT_TI_end_line(0xa8)
- $C$DW$147 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$147, DW_AT_low_pc($C$DW$L$_v_equ$9$B)
- .dwattr $C$DW$147, DW_AT_high_pc($C$DW$L$_v_equ$9$E)
- .dwendtag $C$DW$146
- $C$DW$148 .dwtag DW_TAG_TI_loop
- .dwattr $C$DW$148, DW_AT_name("D:melp429mat_lib.asm:$C$L27:1:1246674193")
- .dwattr $C$DW$148, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$148, DW_AT_TI_begin_line(0xa6)
- .dwattr $C$DW$148, DW_AT_TI_end_line(0xa8)
- $C$DW$149 .dwtag DW_TAG_TI_loop_range
- .dwattr $C$DW$149, DW_AT_low_pc($C$DW$L$_v_equ$5$B)
- .dwattr $C$DW$149, DW_AT_high_pc($C$DW$L$_v_equ$5$E)
- .dwendtag $C$DW$148
- .dwattr $C$DW$137, DW_AT_TI_end_file("mat_lib.c")
- .dwattr $C$DW$137, DW_AT_TI_end_line(0xaa)
- .dwattr $C$DW$137, DW_AT_TI_end_column(0x01)
- .dwendentry
- .dwendtag $C$DW$137
- .sect ".text"
- .global _v_add
- $C$DW$150 .dwtag DW_TAG_subprogram, DW_AT_name("v_add")
- .dwattr $C$DW$150, DW_AT_low_pc(_v_add)
- .dwattr $C$DW$150, DW_AT_high_pc(0x00)
- .dwattr $C$DW$150, DW_AT_TI_symbol_name("_v_add")
- .dwattr $C$DW$150, DW_AT_external
- .dwattr $C$DW$150, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$150, DW_AT_TI_begin_file("mat_lib.c")
- .dwattr $C$DW$150, DW_AT_TI_begin_line(0x3a)
- .dwattr $C$DW$150, DW_AT_TI_begin_column(0x0c)
- .dwpsn file "mat_lib.c",line 59,column 1,is_stmt,address _v_add
- .dwfde $C$DW$CIE, _v_add
- ;******************************************************************************
- ;* FUNCTION NAME: v_add *
- ;* *
- ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17, *
- ;* A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
- ;* A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
- ;* B26,B27,B28,B29,B30,B31 *
- ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
- ;* B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,SP,A16,A17, *
- ;* A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29, *
- ;* A30,A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25, *
- ;* B26,B27,B28,B29,B30,B31 *
- ;* Local Frame Size : 0 Args + 0 Auto + 32 Save = 32 byte *
- ;******************************************************************************
- ;******************************************************************************
- ;* *
- ;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
- ;* *
- ;******************************************************************************
- _v_add:
- ;** --------------------------------------------------------------------------*
- .dwcfi cfa_offset, 0
- .dwcfi save_reg_to_reg, 228, 19
- MV .L1X SP,A31 ; |59|
- || STW .D2T2 B11,*SP--(32) ; |59|
- .dwcfi cfa_offset, 32
- .dwcfi save_reg_to_mem, 27, 0
- STW .D2T2 B10,*+SP(28) ; |59|
- .dwcfi save_reg_to_mem, 26, -4
- STW .D2T2 B3,*+SP(24) ; |59|
- .dwcfi save_reg_to_mem, 19, -8
- STW .D1T1 A14,*-A31(12) ; |59|
- .dwcfi save_reg_to_mem, 14, -12
- STW .D1T1 A13,*-A31(16) ; |59|
- .dwcfi save_reg_to_mem, 13, -16
- STW .D1T1 A12,*-A31(20) ; |59|
- .dwcfi save_reg_to_mem, 12, -20
- STW .D1T1 A11,*-A31(24) ; |59|
- .dwcfi save_reg_to_mem, 11, -24
- STW .D1T1 A10,*-A31(28) ; |59|
- .dwcfi save_reg_to_mem, 10, -28
- $C$DW$151 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec1")
- .dwattr $C$DW$151, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$151, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$151, DW_AT_location[DW_OP_reg4]
- $C$DW$152 .dwtag DW_TAG_formal_parameter, DW_AT_name("vec2")
- .dwattr $C$DW$152, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$152, DW_AT_type(*$C$DW$T$29)
- .dwattr $C$DW$152, DW_AT_location[DW_OP_reg20]
- $C$DW$153 .dwtag DW_TAG_formal_parameter, DW_AT_name("n")
- .dwattr $C$DW$153, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$153, DW_AT_type(*$C$DW$T$24)
- .dwattr $C$DW$153, DW_AT_location[DW_OP_reg6]
- $C$DW$154 .dwtag DW_TAG_variable, DW_AT_name("n")
- .dwattr $C$DW$154, DW_AT_TI_symbol_name("_n")
- .dwattr $C$DW$154, DW_AT_type(*$C$DW$T$38)
- .dwattr $C$DW$154, DW_AT_location[DW_OP_reg6]
- $C$DW$155 .dwtag DW_TAG_variable, DW_AT_name("vec2")
- .dwattr $C$DW$155, DW_AT_TI_symbol_name("_vec2")
- .dwattr $C$DW$155, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$155, DW_AT_location[DW_OP_reg20]
- $C$DW$156 .dwtag DW_TAG_variable, DW_AT_name("vec1")
- .dwattr $C$DW$156, DW_AT_TI_symbol_name("_vec1")
- .dwattr $C$DW$156, DW_AT_type(*$C$DW$T$35)
- .dwattr $C$DW$156, DW_AT_location[DW_OP_reg10]
- MV .L1 A4,A10 ; |59|
- .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
- CMPGT .L1 A6,0,A0 ; |62|
- [!A0] BNOP .S1 $C$L38,5 ; |62|
- ; BRANCHCC OCCURS {$C$L38} ; |62|
- ;** --------------------------------------------------------------------------*
- .dwpsn file "mat_lib.c",line 63,column 7,is_stmt
- SUB .L1X B4,A10,A4 ; |63|
- || ADD .S1 A6,A6,A3 ; |63|
- || SUB .L2X A10,B4,B5 ; |63|
- || MV .S2 B4,B11
- || MV .D2 B4,B10
- || MV .D1 A6,A11
- CMPGT .L1 A3,A4,A4 ; |63|
- || MV .S1 A10,A13
- || MV .D1 A6,A12
- CMPGT .L2X A3,B5,B5 ; |63|
- || MV .L1 A10,A14
- AND .L2X B5,A4,B0
- [!B0] BNOP .S1 $C$L37,5 ; |63|
- ; BRANCHCC OCCURS {$C$L37} ; |63|
- ;** --------------------------------------------------------------------------*
- LDH .D2T2 *B11++,B4 ; |63|
- || CALL .S1 _add ; |63|
- LDH .D1T1 *A14,A4 ; |63|
- NOP 3
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L36:
- $C$DW$L$_v_add$4$B:
- ADDKPC .S2 $C$RL16,B3,0 ; |63|
- $C$RL16: ; CALL OCCURS {_add} ; |63|
- $C$DW$L$_v_add$4$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_add$5$B:
- STH .D1T1 A4,*A14++ ; |63|
- .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
- SUB .L1 A12,1,A0 ; |62|
- || SUB .S1 A12,1,A12 ; |62|
- [ A0] B .S1 $C$L36 ; |62|
- || [ A0] LDH .D1T1 *A14,A4 ; |63|
- || [ A0] LDH .D2T2 *B11++,B4 ; |63|
- [ A0] CALL .S1 _add ; |63|
- [!A0] BNOP .S1 $C$L38,3 ; |62|
- ; BRANCHCC OCCURS {$C$L36} ; |62|
- $C$DW$L$_v_add$5$E:
- ;** --------------------------------------------------------------------------*
- NOP 2
- ; BRANCH OCCURS {$C$L38} ; |62|
- ;*----------------------------------------------------------------------------*
- ;* SOFTWARE PIPELINE INFORMATION
- ;* Disqualified loop: Loop contains a call
- ;*----------------------------------------------------------------------------*
- $C$L37:
- $C$DW$L$_v_add$7$B:
- .dwpsn file "mat_lib.c",line 63,column 7,is_stmt
- CALL .S1 _add ; |63|
- LDH .D2T2 *B10++,B4 ; |63|
- || LDH .D1T1 *A13,A4 ; |63|
- ADDKPC .S2 $C$RL17,B3,3 ; |63|
- $C$RL17: ; CALL OCCURS {_add} ; |63|
- $C$DW$L$_v_add$7$E:
- ;** --------------------------------------------------------------------------*
- $C$DW$L$_v_add$8$B:
- STH .D1T1 A4,*A13++ ; |63|
- .dwpsn file "mat_lib.c",line 62,column 14,is_stmt
- SUB .L1 A11,1,A0 ; |62|
- || SUB .S1 A11,1,A11 ; |62|
- [ A0] BNOP .S1 $C$L37,5 ; |62|
- ; BRANCHCC OCCURS {$C$L37} ; |62|
- $C$DW$L$_v_add$8$E:
- ;** --------------------------------------------------------------------------*
- $C$L38:
- .dwpsn file "mat_lib.c",line 65,column 5,is_stmt
- MV .L1 A10,A4 ; |65|
- .dwpsn file "mat_lib.c",line 66,column 1,is_stmt