?? idct_kc.uc
字號(hào):
// microassembly program: D:\working\im_apps\h264\idct_kc.i
// machine description: gold8.md
// KERNELDEF: instrs: 70 params: i 0 i 1 o 2 r 1 blocks: 3 26 2 43 1 0 -1 SWP_block_depth: 3 -1 3 -1 func_name: idct block_io_counts: 3 3 0 0 8 0 1 8 0 8 0 0 0 0
PARAMS: SCHED_METHOD: COS UC_BITS: 497
NUM_INPUT_STREAMS: 2 NUM_OUTPUT_STREAMS: 1
// RESULTS: -rs 0, -rf 0
// block: 0 best: 22 achieved: 26 (lines: 1-95, instrs: 0-26)
// block: 1 best: 37 achieved: 43 (lines: 96-258, instrs: 27-69)
// block: 2 best: 0 achieved: 0 (lines: none, instrs: none)
instr: 0
MC: OP: NONE LINE:-1,
DEAD_REGS: { };
instr: 1
MC: OP: UC_DATA_IN LINE:-1 IMM:0xff00ff00 UCRF_WR:12 STAGES:-1,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0xff00ff00 == UCRF_0[12] )
DEAD_REGS: { };
instr: 2
MC: OP: UC_DATA_IN LINE:-1 IMM:0xff00ff UCRF_WR:11 STAGES:-1,
U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
B:23 = IN:1 STAGE:-1 LINE:48 VAR: utmp DATATYPE: HALF2,
RF:13:IN:0:REG:1 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:11 = RF:14:OUT:0:REG:0 VAR: cluster#id DATATYPE: ANYINT,
U5:IN:1 = B:11 VAR: cluster#id DATATYPE: ANYINT,
B:28 = U5:OUT:0 INSTR_LOG:1|cluster#id#||0 VAR: cluster#id DATATYPE: ANYINT,
RF:3:IN:0:REG:1 = B:28 STAGE:-1 VAR: cluster#id DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0xff00ff == UCRF_0[11] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_1[1] )
// IN:DIVIDER_0: ( cluster#id ) = SELECT( hw_const#0 == CCRF_0[0], cluster#id == UNITRF_CID_0[0] )
// OUT:DIVIDER_0: SELECT => ( cluster#id == UNITRF_0_2[1] )
DEAD_REGS: { };
instr: 3
MC: OP: UC_DATA_IN LINE:-1 IMM:0x3ff83ff8 UCRF_WR:10 STAGES:-1,
U5: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
U0: OP: ISUB32 LINE:82 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:82
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:10 = RF:6:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U5:IN:0 = B:10 VAR: hw_const#1 DATATYPE: ANYINT,
B:28 = U5:OUT:0 INSTR_LOG:1|const#1#||0 VAR: const#1 DATATYPE: ANYINT,
RF:5:IN:0:REG:1 = B:28 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
B:23 = IN:1 STAGE:-1 LINE:50 VAR: utmp DATATYPE: HALF2,
RF:12:IN:0:REG:2 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
B:12 = RF:3:OUT:0:REG:1 VAR: cluster#id DATATYPE: ANYINT,
U0:IN:0 = B:12 VAR: cluster#id DATATYPE: ANYINT,
B:13 = RF:7:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U0:IN:1 = B:13 VAR: hw_const#1 DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x3ff83ff8 == UCRF_0[10] )
// IN:DIVIDER_0: ( const#1 ) = NSELECT( hw_const#0 == CCRF_0[0], hw_const#1 == UNITRF_1_0[0] )
// OUT:DIVIDER_0: NSELECT => ( const#1 == UNITRF_0_4[1] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_0[2] )
// IN:ADDER_0: ( tmp#19 ) = ISUB32( cluster#id == UNITRF_0_2[1], hw_const#1 == UNITRF_1_1[0] )
DEAD_REGS: { };
instr: 4
MC: OP: UC_DATA_IN LINE:-1 IMM:0xc000c000 UCRF_WR:9 STAGES:-1,
U4: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
U2: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
B:44 = RF:18:OUT:7:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U4:IN:2 = B:44 VAR: hw_const#0 DATATYPE: ANYINT,
B:21 = RF:13:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U4:IN:1 = B:21 VAR: hw_const#1 DATATYPE: ANYINT,
B:35 = U4:OUT:1 INSTR_LOG:1|const#1#||1 VAR: const#1 DATATYPE: ANYINT,
RF:3:IN:0:REG:1 = B:35 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
B:16 = RF:5:OUT:0:REG:1 VAR: const#1 DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: const#1 DATATYPE: ANYINT,
B:17 = RF:9:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U2:IN:1 = B:17 VAR: hw_const#1 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|const#2#||0 VAR: const#2 DATATYPE: ANYINT,
RF:5:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
RF:4:IN:0:REG:2 = B:31 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
RF:7:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
B:23 = IN:1 STAGE:-1 LINE:52 VAR: utmp DATATYPE: HALF2,
RF:13:IN:0:REG:14 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
B:29 = U0:OUT:0 INSTR_LOG:2|tmp#19#||0 VAR: tmp#19 DATATYPE: INT,
RF:9:IN:0:REG:2 = B:29 STAGE:-1 VAR: tmp#19 DATATYPE: INT,
// IN:MULTIPLIER_1: ( const#1 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#1 == MULRF_1_1[0] )
// OUT:MULTIPLIER_1: SELECT => ( const#1 == UNITRF_0_2[1] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0xc000c000 == UCRF_0[9] )
// IN:ADDER_2: ( const#2 ) = SHIFT32( const#1 == UNITRF_0_4[1], hw_const#1 == UNITRF_1_3[0] )
// OUT:ADDER_2: SHIFT32 => ( const#2 == UNITRF_0_4[1], const#2 == UNITRF_0_3[2], const#2 == UNITRF_1_1[1] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_1[14] )
// OUT:ADDER_0: ISUB32 => ( tmp#19 == UNITRF_1_3[2] )
DEAD_REGS: { };
instr: 5
MC: OP: UC_DATA_IN LINE:-1 IMM:0x18f918f9 UCRF_WR:19 STAGES:-1,
U0: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
U2: OP: OR LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
B:12 = RF:3:OUT:0:REG:1 VAR: const#1 DATATYPE: ANYINT,
U0:IN:0 = B:12 VAR: const#1 DATATYPE: ANYINT,
B:13 = RF:7:OUT:0:REG:1 VAR: const#2 DATATYPE: ANYINT,
U0:IN:1 = B:13 VAR: const#2 DATATYPE: ANYINT,
B:29 = U0:OUT:0 INSTR_LOG:1|const#4#||0 VAR: const#4 DATATYPE: ANYINT,
RF:4:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#4 DATATYPE: ANYINT,
B:17 = RF:9:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U2:IN:1 = B:17 VAR: hw_const#1 DATATYPE: ANYINT,
B:16 = RF:5:OUT:0:REG:1 VAR: const#2 DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: const#2 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|const#3#||0 VAR: const#3 DATATYPE: ANYINT,
RF:8:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#3 DATATYPE: ANYINT,
RF:7:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#3 DATATYPE: ANYINT,
RF:9:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#3 DATATYPE: ANYINT,
B:23 = IN:1 STAGE:-1 LINE:54 VAR: utmp DATATYPE: HALF2,
RF:13:IN:0:REG:2 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
// IN:ADDER_0: ( const#4 ) = SHIFT32( const#1 == UNITRF_0_2[1], const#2 == UNITRF_1_1[1] )
// OUT:ADDER_0: SHIFT32 => ( const#4 == UNITRF_0_3[1] )
// IN:ADDER_2: ( const#3 ) = OR( hw_const#1 == UNITRF_1_3[0], const#2 == UNITRF_0_4[1] )
// OUT:ADDER_2: OR => ( const#3 == UNITRF_1_2[1], const#3 == UNITRF_1_1[1], const#3 == UNITRF_1_3[1] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x18f918f9 == UCRF_0[19] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_1[2] )
DEAD_REGS: { };
instr: 6
MC: OP: UC_DATA_IN LINE:-1 IMM:0x30fc30fc UCRF_RD:1 UCRF_WR:18 STAGES:-1,
U1: OP: OR LINE:-1 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:-1
U7: OP: COMMUCDATA LINE:42 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:42
B:15 = RF:8:OUT:0:REG:1 VAR: const#3 DATATYPE: ANYINT,
U1:IN:1 = B:15 VAR: const#3 DATATYPE: ANYINT,
B:14 = RF:4:OUT:0:REG:1 VAR: const#4 DATATYPE: ANYINT,
U1:IN:0 = B:14 VAR: const#4 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|const#7#||0 VAR: const#7 DATATYPE: ANYINT,
RF:5:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:8:IN:0:REG:4 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:7:IN:0:REG:4 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:9:IN:0:REG:4 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
B:27 = U7:OUT:0 INSTR_LOG:1|quant_scale#||0 VAR: quant_scale DATATYPE: HALF2,
RF:11:IN:0:REG:2 = B:27 STAGE:-1 VAR: quant_scale DATATYPE: HALF2,
RF:10:IN:0:REG:3 = B:27 STAGE:-1 VAR: quant_scale DATATYPE: HALF2,
B:23 = IN:1 STAGE:-1 LINE:56 VAR: utmp DATATYPE: HALF2,
RF:12:IN:0:REG:1 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
// IN:ADDER_1: ( const#7 ) = OR( const#3 == UNITRF_1_2[1], const#4 == UNITRF_0_3[1] )
// OUT:ADDER_1: OR => ( const#7 == UNITRF_0_4[1], const#7 == UNITRF_1_2[4], const#7 == UNITRF_1_1[4], const#7 == UNITRF_1_3[4] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x30fc30fc == UCRF_0[18] )
// IN:COMM_SCHED_0: ( quant_scale ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_quantizer_scale == UCRF_0[1] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( quant_scale == MULRF_0_1[2], quant_scale == MULRF_0_0[3] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_0[1] )
DEAD_REGS: { };
instr: 7
MC: OP: UC_DATA_IN LINE:-1 IMM:0x471d471d UCRF_WR:17 STAGES:-1,
U2: OP: AND LINE:82 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:82
U4: OP: IMUL16 LINE:49 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:49
B:17 = RF:9:OUT:0:REG:2 VAR: tmp#19 DATATYPE: INT,
U2:IN:1 = B:17 VAR: tmp#19 DATATYPE: INT,
B:16 = RF:5:OUT:0:REG:1 VAR: const#7 DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: const#7 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|idx1#||0 VAR: idx1 DATATYPE: INT,
RF:3:IN:0:REG:1 = B:31 STAGE:-1 VAR: idx1 DATATYPE: INT,
RF:16:IN:0:REG:1 = B:31 STAGE:-1 VAR: idx1 DATATYPE: INT,
RF:17:IN:0:REG:1 = B:31 STAGE:-1 VAR: idx1 DATATYPE: INT,
B:20 = RF:11:OUT:0:REG:2 VAR: quant_scale DATATYPE: HALF2,
U4:IN:0 = B:20 VAR: quant_scale DATATYPE: HALF2,
B:21 = RF:13:OUT:0:REG:1 VAR: utmp DATATYPE: HALF2,
U4:IN:1 = B:21 VAR: utmp DATATYPE: HALF2,
B:23 = IN:1 STAGE:-1 LINE:58 VAR: utmp DATATYPE: HALF2,
RF:13:IN:0:REG:1 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
// IN:ADDER_2: ( idx1 ) = AND( tmp#19 == UNITRF_1_3[2], const#7 == UNITRF_0_4[1] )
// OUT:ADDER_2: AND => ( idx1 == UNITRF_0_2[1], idx1 == SPIDXRF_0[1], idx1 == SPIDXRF_1[1] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x471d471d == UCRF_0[17] )
// IN:MULTIPLIER_1: ( tmp#3, quant#0 ) = IMUL16( quant_scale == MULRF_0_1[2], utmp == MULRF_1_1[1] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_1[1] )
DEAD_REGS: { };
instr: 8
MC: OP: UC_DATA_IN LINE:-1 IMM:0x6a6e6a6e UCRF_WR:16 STAGES:-1,
U0: OP: ISUB32 LINE:83 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:83
U4: OP: IMUL16 LINE:55 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:55
U3: OP: IMUL16 LINE:51 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:51
B:12 = RF:3:OUT:0:REG:1 VAR: idx1 DATATYPE: INT,
U0:IN:0 = B:12 VAR: idx1 DATATYPE: INT,
B:13 = RF:7:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U0:IN:1 = B:13 VAR: hw_const#1 DATATYPE: ANYINT,
B:20 = RF:11:OUT:0:REG:2 VAR: quant_scale DATATYPE: HALF2,
U4:IN:0 = B:20 VAR: quant_scale DATATYPE: HALF2,
B:21 = RF:13:OUT:0:REG:2 VAR: utmp DATATYPE: HALF2,
U4:IN:1 = B:21 VAR: utmp DATATYPE: HALF2,
B:18 = RF:10:OUT:0:REG:3 VAR: quant_scale DATATYPE: HALF2,
U3:IN:0 = B:18 VAR: quant_scale DATATYPE: HALF2,
B:19 = RF:12:OUT:0:REG:2 VAR: utmp DATATYPE: HALF2,
U3:IN:1 = B:19 VAR: utmp DATATYPE: HALF2,
B:23 = IN:1 STAGE:-1 LINE:60 VAR: utmp DATATYPE: HALF2,
RF:12:IN:0:REG:3 = B:23 STAGE:-1 VAR: utmp DATATYPE: HALF2,
// IN:ADDER_0: ( tmp#20 ) = ISUB32( idx1 == UNITRF_0_2[1], hw_const#1 == UNITRF_1_1[0] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x6a6e6a6e == UCRF_0[16] )
// IN:MULTIPLIER_1: ( tmp#9, quant#3 ) = IMUL16( quant_scale == MULRF_0_1[2], utmp == MULRF_1_1[2] )
// IN:MULTIPLIER_0: ( tmp#5, quant#1 ) = IMUL16( quant_scale == MULRF_0_0[3], utmp == MULRF_1_0[2] )
// OUT:INOUT_1: DATA_IN => ( utmp == MULRF_1_0[3] )
DEAD_REGS: { };
instr: 9
MC: OP: UC_DATA_IN LINE:-1 IMM:0x76427642 UCRF_WR:15 STAGES:-1,
U3: OP: IMUL16 LINE:57 STAGE:-1, // D:\working\im_apps\h264\idct_kc.i:57
B:29 = U0:OUT:0 INSTR_LOG:2|tmp#20#||0 VAR: tmp#20 DATATYPE: INT,
RF:4:IN:0:REG:1 = B:29 STAGE:-1 VAR: tmp#20 DATATYPE: INT,
B:18 = RF:10:OUT:0:REG:3 VAR: quant_scale DATATYPE: HALF2,
U3:IN:0 = B:18 VAR: quant_scale DATATYPE: HALF2,
B:19 = RF:12:OUT:0:REG:1 VAR: utmp DATATYPE: HALF2,
U3:IN:1 = B:19 VAR: utmp DATATYPE: HALF2,
B:23 = IN:1 STAGE:-1 LINE:62 VAR: utmp DATATYPE: HALF2,
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -