📄 asm_dsputil.s
字号:
#include "kxmips.h"
#define $fp $30
#define mad madd
// .file 1 "dsputil.c"
// .section .mdebug.abi32
.data
// .previous
.globl inverse
.rdata
.align 2
// .type inverse, @object
// .size inverse, 1024
inverse:
.word 0
.word -1
.word -2147483648
.word 1431655766
.word 1073741824
.word 858993460
.word 715827883
.word 613566757
.word 536870912
.word 477218589
.word 429496730
.word 390451573
.word 357913942
.word 330382100
.word 306783379
.word 286331154
.word 268435456
.word 252645136
.word 238609295
.word 226050911
.word 214748365
.word 204522253
.word 195225787
.word 186737709
.word 178956971
.word 171798692
.word 165191050
.word 159072863
.word 153391690
.word 148102321
.word 143165577
.word 138547333
.word 134217728
.word 130150525
.word 126322568
.word 122713352
.word 119304648
.word 116080198
.word 113025456
.word 110127367
.word 107374183
.word 104755300
.word 102261127
.word 99882961
.word 97612894
.word 95443718
.word 93368855
.word 91382283
.word 89478486
.word 87652394
.word 85899346
.word 84215046
.word 82595525
.word 81037119
.word 79536432
.word 78090315
.word 76695845
.word 75350304
.word 74051161
.word 72796056
.word 71582789
.word 70409300
.word 69273667
.word 68174085
.word 67108864
.word 66076420
.word 65075263
.word 64103990
.word 63161284
.word 62245903
.word 61356676
.word 60492498
.word 59652324
.word 58835169
.word 58040099
.word 57266231
.word 56512728
.word 55778797
.word 55063684
.word 54366675
.word 53687092
.word 53024288
.word 52377650
.word 51746594
.word 51130564
.word 50529028
.word 49941481
.word 49367441
.word 48806447
.word 48258060
.word 47721859
.word 47197443
.word 46684428
.word 46182445
.word 45691142
.word 45210183
.word 44739243
.word 44278014
.word 43826197
.word 43383509
.word 42949673
.word 42524429
.word 42107523
.word 41698712
.word 41297763
.word 40904451
.word 40518560
.word 40139882
.word 39768216
.word 39403370
.word 39045158
.word 38693400
.word 38347923
.word 38008561
.word 37675152
.word 37347542
.word 37025581
.word 36709123
.word 36398028
.word 36092163
.word 35791395
.word 35495598
.word 35204650
.word 34918434
.word 34636834
.word 34359739
.word 34087043
.word 33818641
.word 33554432
.word 33294321
.word 33038210
.word 32786010
.word 32537632
.word 32292988
.word 32051995
.word 31814573
.word 31580642
.word 31350127
.word 31122952
.word 30899046
.word 30678338
.word 30460761
.word 30246249
.word 30034737
.word 29826162
.word 29620465
.word 29417585
.word 29217465
.word 29020050
.word 28825284
.word 28633116
.word 28443493
.word 28256364
.word 28071682
.word 27889399
.word 27709467
.word 27531842
.word 27356480
.word 27183338
.word 27012373
.word 26843546
.word 26676816
.word 26512144
.word 26349493
.word 26188825
.word 26030105
.word 25873297
.word 25718368
.word 25565282
.word 25414008
.word 25264514
.word 25116768
.word 24970741
.word 24826401
.word 24683721
.word 24542671
.word 24403224
.word 24265352
.word 24129030
.word 23994231
.word 23860930
.word 23729102
.word 23598722
.word 23469767
.word 23342214
.word 23216040
.word 23091223
.word 22967740
.word 22845571
.word 22724695
.word 22605092
.word 22486740
.word 22369622
.word 22253717
.word 22139007
.word 22025474
.word 21913099
.word 21801865
.word 21691755
.word 21582751
.word 21474837
.word 21367997
.word 21262215
.word 21157475
.word 21053762
.word 20951060
.word 20849356
.word 20748635
.word 20648882
.word 20550083
.word 20452226
.word 20355296
.word 20259280
.word 20164166
.word 20069941
.word 19976593
.word 19884108
.word 19792477
.word 19701685
.word 19611723
.word 19522579
.word 19434242
.word 19346700
.word 19259944
.word 19173962
.word 19088744
.word 19004281
.word 18920561
.word 18837576
.word 18755316
.word 18673771
.word 18592933
.word 18512791
.word 18433337
.word 18354562
.word 18276457
.word 18199014
.word 18122225
.word 18046082
.word 17970575
.word 17895698
.word 17821442
.word 17747799
.word 17674763
.word 17602325
.word 17530479
.word 17459217
.word 17388532
.word 17318417
.word 17248865
.word 17179870
.word 17111424
.word 17043522
.word 16976156
.word 16909321
.word 16843010
.globl cropTbl
// .section .bss
.data
.align 2
// .type cropTbl, @object
// .size cropTbl, 2304
cropTbl:
.space 2304
.text
.align 2
// .ent add_pixels8_c
// .type add_pixels8_c, @function
.text
.align 2
LEAF_ENTRY(add_pixels8_c)
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
.mask 0x00000000,0
.fmask 0x00000000,0
move $8,$4
move $9,$5
move $11,$6
li $10,7 # 0x7
$L5:
lbu $25,0($9)
lbu $24,0($8)
lbu $3,1($8)
lbu $7,2($8)
addu $15,$24,$25
sb $15,0($8)
lbu $14,2($9)
lbu $6,3($8)
lbu $24,4($8)
addu $13,$3,$14
sb $13,1($8)
lbu $5,4($9)
lbu $14,5($8)
lbu $13,6($8)
addu $12,$7,$5
sb $12,2($8)
lbu $2,6($9)
lbu $12,7($8)
addiu $10,$10,-1
addu $4,$6,$2
sb $4,3($8)
lbu $25,8($9)
addu $15,$24,$25
sb $15,4($8)
lbu $7,10($9)
addu $6,$14,$7
sb $6,5($8)
lbu $3,12($9)
addu $5,$13,$3
sb $5,6($8)
lbu $2,14($9)
addiu $9,$9,16
addu $4,$12,$2
sb $4,7($8)
.set noreorder
.set nomacro
bgez $10,$L5
addu $8,$8,$11
.set macro
.set reorder
j $31
.end add_pixels8_c
.align 2
// .ent add_pixels4_c
// .type add_pixels4_c, @function
.text
.align 2
LEAF_ENTRY(add_pixels4_c)
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
.mask 0x00000000,0
.fmask 0x00000000,0
move $7,$4
move $8,$5
move $10,$6
li $9,3 # 0x3
$L15:
lbu $25,0($8)
lbu $24,0($7)
lbu $14,1($7)
lbu $12,2($7)
addu $15,$24,$25
sb $15,0($7)
lbu $6,2($8)
lbu $11,3($7)
addiu $9,$9,-1
addu $13,$14,$6
sb $13,1($7)
lbu $3,4($8)
addu $4,$12,$3
sb $4,2($7)
lbu $2,6($8)
addiu $8,$8,8
addu $5,$11,$2
sb $5,3($7)
.set noreorder
.set nomacro
bgez $9,$L15
addu $7,$7,$10
.set macro
.set reorder
j $31
.end add_pixels4_c
.align 2
.globl put_h264_chroma_mc2_c
// .ent put_h264_chroma_mc2_c
// .type put_h264_chroma_mc2_c, @function
.text
.align 2
LEAF_ENTRY(put_h264_chroma_mc2_c)
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
.mask 0x00000000,0
.fmask 0x00000000,0
lw $3,16($sp)
lw $8,20($sp)
li $9,8 # 0x8
subu $2,$9,$3
move $11,$7
subu $7,$9,$8
mul $15,$3,$8
move $10,$4
move $9,$5
mul $14,$7,$3
mul $13,$2,$8
.set noreorder
.set nomacro
blez $11,$L29
mul $12,$2,$7
.set macro
.set reorder
$L24:
addu $5,$9,$6
lbu $8,1($9)
lbu $3,1($5)
lbu $25,0($9)
lbu $2,0($5)
mul $7,$8,$14
addiu $11,$11,-1
mul $8,$3,$15
mul $24,$25,$12
mul $4,$2,$13
addu $3,$24,$7
addu $25,$4,$8
addu $24,$25,$3
addiu $2,$24,32
sra $7,$2,6
sb $7,0($10)
lbu $8,2($9)
lbu $25,2($5)
lbu $3,1($9)
lbu $2,1($5)
mul $24,$8,$14
move $9,$5
mul $4,$3,$12
mul $5,$25,$15
addu $8,$4,$24
mul $7,$2,$13
addu $25,$7,$5
addu $24,$25,$8
addiu $5,$24,32
sra $4,$5,6
sb $4,1($10)
.set noreorder
.set nomacro
bne $11,$0,$L24
addu $10,$10,$6
.set macro
.set reorder
$L29:
j $31
.end put_h264_chroma_mc2_c
.align 2
.globl put_h264_chroma_mc4_c
// .ent put_h264_chroma_mc4_c
// .type put_h264_chroma_mc4_c, @function
.text
.align 2
LEAF_ENTRY(put_h264_chroma_mc4_c)
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
.mask 0x00000000,0
.fmask 0x00000000,0
lw $3,16($sp)
lw $8,20($sp)
li $9,8 # 0x8
subu $2,$9,$3
move $15,$7
subu $7,$9,$8
mul $12,$3,$8
move $14,$4
move $24,$6
move $13,$5
mul $11,$7,$3
mul $10,$2,$8
.set noreorder
.set nomacro
blez $15,$L39
mul $9,$2,$7
.set macro
.set reorder
addu $8,$5,$6
$L34:
lbu $2,0($13)
lbu $4,1($13)
lbu $5,2($13)
lbu $6,3($13)
lbu $25,4($13)
//#APP
mult $9,$2
madd $11,$4
//#NO_APP
lbu $7,0($8)
//#APP
madd $10,$7
//#NO_APP
lbu $3,1($8)
//#APP
madd $12,$3
mflo $2
//#NO_APP
addiu $7,$2,32
sra $3,$7,6
sb $3,0($14)
//#APP
mult $9,$4
madd $11,$5
//#NO_APP
lbu $2,1($8)
//#APP
madd $10,$2
//#NO_APP
lbu $7,2($8)
//#APP
madd $12,$7
mflo $4
//#NO_APP
addiu $3,$4,32
sra $2,$3,6
sb $2,1($14)
//#APP
mult $9,$5
madd $11,$6
//#NO_APP
lbu $7,2($8)
//#APP
madd $10,$7
//#NO_APP
lbu $5,3($8)
//#APP
madd $12,$5
mflo $4
//#NO_APP
addiu $3,$4,32
sra $2,$3,6
sb $2,2($14)
//#APP
mult $9,$6
madd $11,$25
//#NO_APP
lbu $7,3($8)
//#APP
madd $10,$7
//#NO_APP
lbu $25,4($8)
//#APP
madd $12,$25
mflo $6
//#NO_APP
addiu $5,$6,32
sra $4,$5,6
addiu $15,$15,-1
sb $4,3($14)
addu $13,$13,$24
addu $14,$14,$24
.set noreorder
.set nomacro
bne $15,$0,$L34
addu $8,$8,$24
.set macro
.set reorder
$L39:
j $31
.end put_h264_chroma_mc4_c
.align 2
.globl put_h264_chroma_mc8_c
// .ent put_h264_chroma_mc8_c
// .type put_h264_chroma_mc8_c, @function
.text
.align 2
LEAF_ENTRY(put_h264_chroma_mc8_c)
.frame $sp,16,$31 # vars= 0, regs= 3/0, args= 0, gp= 0
.mask 0x00070000,-8
.fmask 0x00000000,0
addiu $sp,$sp,-16
lw $3,32($sp)
lw $8,36($sp)
li $10,8 # 0x8
subu $2,$10,$3
move $9,$7
subu $7,$10,$8
sw $18,8($sp)
sw $16,0($sp)
sw $17,4($sp)
mul $24,$3,$8
move $16,$4
move $18,$6
move $25,$5
mul $15,$7,$3
mul $14,$2,$8
.set noreorder
.set nomacro
blez $9,$L46
mul $13,$2,$7
.set macro
.set reorder
move $17,$9
addu $12,$5,$6
$L44:
lbu $3,0($25)
lbu $4,1($25)
lbu $5,2($25)
lbu $6,3($25)
lbu $7,4($25)
lbu $8,5($25)
lbu $9,6($25)
lbu $10,7($25)
lbu $11,8($25)
//#APP
mult $13,$3
madd $15,$4
//#NO_APP
lbu $2,0($12)
//#APP
madd $14,$2
//#NO_APP
lbu $3,1($12)
//#APP
madd $24,$3
mflo $2
//#NO_APP
addiu $3,$2,32
sra $2,$3,6
sb $2,0($16)
//#APP
mult $13,$4
madd $15,$5
//#NO_APP
lbu $4,1($12)
//#APP
madd $14,$4
//#NO_APP
lbu $3,2($12)
//#APP
madd $24,$3
mflo $2
//#NO_APP
addiu $4,$2,32
sra $3,$4,6
sb $3,1($16)
//#APP
mult $13,$5
madd $15,$6
//#NO_APP
lbu $2,2($12)
//#APP
madd $14,$2
//#NO_APP
lbu $5,3($12)
//#APP
madd $24,$5
mflo $4
//#NO_APP
addiu $3,$4,32
sra $2,$3,6
sb $2,2($16)
//#APP
mult $13,$6
madd $15,$7
//#NO_APP
lbu $6,3($12)
//#APP
madd $14,$6
//#NO_APP
lbu $5,4($12)
//#APP
madd $24,$5
mflo $4
//#NO_APP
addiu $3,$4,32
sra $2,$3,6
sb $2,3($16)
//#APP
mult $13,$7
madd $15,$8
//#NO_APP
lbu $7,4($12)
//#APP
madd $14,$7
//#NO_APP
lbu $6,5($12)
//#APP
madd $24,$6
mflo $5
//#NO_APP
addiu $4,$5,32
sra $3,$4,6
sb $3,4($16)
//#APP
mult $13,$8
madd $15,$9
//#NO_APP
lbu $8,5($12)
//#APP
madd $14,$8
//#NO_APP
lbu $2,6($12)
//#APP
madd $24,$2
mflo $7
//#NO_APP
addiu $6,$7,32
sra $5,$6,6
sb $5,5($16)
//#APP
mult $13,$9
madd $15,$10
//#NO_APP
lbu $4,6($12)
//#APP
madd $14,$4
//#NO_APP
lbu $3,7($12)
//#APP
madd $24,$3
mflo $8
//#NO_APP
addiu $2,$8,32
sra $7,$2,6
sb $7,6($16)
//#APP
mult $13,$10
madd $15,$11
//#NO_APP
lbu $11,7($12)
//#APP
madd $14,$11
//#NO_APP
lbu $9,8($12)
//#APP
madd $24,$9
mflo $6
//#NO_APP
addiu $5,$6,32
sra $4,$5,6
addiu $17,$17,-1
sb $4,7($16)
addu $25,$25,$18
addu $16,$16,$18
.set noreorder
.set nomacro
bne $17,$0,$L44
addu $12,$12,$18
.set macro
.set reorder
$L46:
lw $18,8($sp)
lw $17,4($sp)
lw $16,0($sp)
.set noreorder
.set nomacro
j $31
addiu $sp,$sp,16
.set macro
.set reorder
.end put_h264_chroma_mc8_c
.align 2
.globl avg_h264_chroma_mc2_c
// .ent avg_h264_chroma_mc2_c
// .type avg_h264_chroma_mc2_c, @function
.text
.align 2
LEAF_ENTRY(avg_h264_chroma_mc2_c)
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
.mask 0x00000000,0
.fmask 0x00000000,0
lw $3,16($sp)
lw $8,20($sp)
li $10,8 # 0x8
subu $2,$10,$3
move $9,$7
subu $7,$10,$8
mul $15,$3,$8
move $11,$4
move $10,$5
move $24,$6
mul $14,$7,$3
mul $13,$2,$8
.set noreorder
.set nomacro
blez $9,$L58
mul $12,$2,$7
.set macro
.set reorder
move $7,$9
$L53:
addu $6,$10,$24
lbu $5,1($10)
lbu $9,1($6)
lbu $4,0($10)
mul $8,$5,$14
lbu $2,0($6)
lbu $3,0($11)
lbu $5,1($11)
addiu $7,$7,-1
mul $25,$9,$15
mul $9,$4,$12
addu $4,$9,$8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -