📄 me_fast_jitter1_kc.uc
字号:
// microassembly program: D:\working\im_apps\h264\me_fast_jitter1_kc.i
// machine description: gold8.md
// KERNELDEF: instrs: 161 params: i 0 i 1 i 2 i 3 i 4 o 5 o 6 o 7 r 1 r 2 r 3 r 4 synchedReads 1 blocks: 12 34 2 7 1 5 11 5 5 7 4 13 8 41 6 1 -1 31 10 5 9 7 3 3 -1 SWP_block_depth: 12 -1 2 -1 0 1 0 1 0 0 1 0 -1 func_name: me_fast_jitter1 block_io_counts: 12 8 0 0 0 0 0 1 0 0 0 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 0 0 0 8 2 0 0 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 8 0 2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
PARAMS: SCHED_METHOD: COS UC_BITS: 497
NUM_INPUT_STREAMS: 5 NUM_OUTPUT_STREAMS: 3
// RESULTS: -rs 0, -rf 3
// block: 0 best: 26 achieved: 34 (lines: 1-99, instrs: 0-34)
// block: 1 best: 6 achieved: 7 (lines: 100-101, instrs: 35-41)
// block: 2 best: 5 achieved: 5 (lines: 102-104, instrs: 42-46)
// block: 3 best: 5 achieved: 5 (lines: 105-108, instrs: 47-52)
// block: 4 best: 6 achieved: 7 (lines: 109-110, instrs: 53-59)
// block: 5 best: 12 achieved: 13 (lines: 111-132, instrs: 60-72)
// block: 6 best: 29 achieved: 41 (lines: 133-143, instrs: 73-113)
// block: 7 best: 0 achieved: 1 (lines: none, instrs: 114-115)
// block: 8 best: 26 achieved: 31 (lines: 144-167, instrs: 115-145)
// block: 9 best: 5 achieved: 5 (lines: 168-172, instrs: 146-150)
// block: 10 best: 7 achieved: 7 (lines: 173-179, instrs: 151-157)
// block: 11 best: 3 achieved: 3 (lines: 180-181, instrs: 158-160)
instr: 0
MC: OP: NONE LINE:-1,
DEAD_REGS: { };
instr: 1
MC: OP: UC_DATA_IN LINE:-1 IMM:0x88883120 UCRF_WR:5 STAGES:-1,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x88883120 == UCRF_0[5] )
DEAD_REGS: { };
instr: 2
MC: OP: UC_DATA_IN LINE:-1 IMM:0x88318820 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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|const#0x88883120#||0 VAR: const#0x88883120 DATATYPE: ANYINT,
RF:12:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x88883120 DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x88318820 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#0x88883120 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x88883120 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x88883120 == MULRF_1_0[1] )
DEAD_REGS: { };
instr: 3
MC: OP: UC_DATA_IN LINE:-1 IMM:0x38281808 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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|const#0x88318820#||0 VAR: const#0x88318820 DATATYPE: ANYINT,
RF:12:IN:0:REG:2 = B:27 STAGE:-1 VAR: const#0x88318820 DATATYPE: ANYINT,
RF:13:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x88318820 DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x38281808 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#0x88318820 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x88318820 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x88318820 == MULRF_1_0[2], const#0x88318820 == MULRF_1_1[1] )
DEAD_REGS: { };
instr: 4
MC: OP: UC_DATA_IN LINE:-1 IMM:0x28180883 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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|const#0x38281808#||0 VAR: const#0x38281808 DATATYPE: ANYINT,
RF:13:IN:0:REG:2 = B:27 STAGE:-1 VAR: const#0x38281808 DATATYPE: ANYINT,
RF:6:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x38281808 DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x28180883 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#0x38281808 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x38281808 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x38281808 == MULRF_1_1[2], const#0x38281808 == UNITRF_1_0[1] )
DEAD_REGS: { };
instr: 5
MC: OP: UC_DATA_IN LINE:-1 IMM:0x18088382 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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|const#0x28180883#||0 VAR: const#0x28180883 DATATYPE: ANYINT,
RF:11:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x28180883 DATATYPE: ANYINT,
RF:14:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x28180883 DATATYPE: ANYINT,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x18088382 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#0x28180883 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x28180883 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x28180883 == MULRF_0_1[1], const#0x28180883 == UNITRF_CID_0[1] )
DEAD_REGS: { };
instr: 6
MC: OP: NONE LINE:-1 UCRF_RD:5,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U8: OP: INIT_CISTATE LINE:30 STR_ID:0 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:30
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|const#0x18088382#||0 VAR: const#0x18088382 DATATYPE: ANYINT,
RF:6:IN:0:REG:2 = B:27 STAGE:-1 VAR: const#0x18088382 DATATYPE: ANYINT,
RF:2:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x18088382 DATATYPE: ANYINT,
B:49 = U8:OUT:0 INSTR_LOG:1|jb_row0#111#||0 VAR: jb_row0#111 DATATYPE: UNDEFINED,
RF:19:IN:0:REG:1 = B:49 STAGE:-1 VAR: jb_row0#111 DATATYPE: UNDEFINED,
// IN:COMM_SCHED_0: ( const#0x18088382 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x18088382 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x18088382 == UNITRF_1_0[2], const#0x18088382 == UNITRF_0_1[1] )
// OUT:JUKEBOX_SCHED_0: INIT_CISTATE => ( jb_row0#111 == JBRF_0[1] )
DEAD_REGS: { };
instr: 7
MC: OP: UC_DATA_IN LINE:-1 IMM:0x8838281 UCRF_WR:5 STAGES:-1,
U7: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U8: OP: INIT_CISTATE LINE:31 STR_ID:1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:31
B:38 = RF:18:OUT:1:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U7:IN:2 = B:38 VAR: hw_const#0 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:27 = U7:OUT:0 INSTR_LOG:1|const#8#||0 VAR: const#8 DATATYPE: ANYINT,
RF:5:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#8 DATATYPE: ANYINT,
RF:8:IN:0:REG:2 = B:27 STAGE:-1 VAR: const#8 DATATYPE: ANYINT,
B:49 = U8:OUT:0 INSTR_LOG:1|jb_row1#112#||0 VAR: jb_row1#112 DATATYPE: UNDEFINED,
RF:19:IN:0:REG:2 = B:49 STAGE:-1 VAR: jb_row1#112 DATATYPE: UNDEFINED,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x8838281 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#8 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#8 == PERMRF_0[0] )
// OUT:COMM_SCHED_0: SELECT => ( const#8 == UNITRF_0_4[1], const#8 == UNITRF_1_2[2] )
// OUT:JUKEBOX_SCHED_0: INIT_CISTATE => ( jb_row1#112 == JBRF_0[2] )
DEAD_REGS: { };
instr: 8
MC: OP: UC_DATA_IN LINE:-1 IMM:0x75643120 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U4: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U8: OP: INIT_CISTATE LINE:32 STR_ID:2 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:32
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|const#0x8838281#||0 VAR: const#0x8838281 DATATYPE: ANYINT,
RF:14:IN:0:REG:2 = B:27 STAGE:-1 VAR: const#0x8838281 DATATYPE: ANYINT,
RF:15:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0x8838281 DATATYPE: ANYINT,
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:4:IN:0:REG:1 = B:35 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
B:49 = U8:OUT:0 INSTR_LOG:1|jb_row2#113#||0 VAR: jb_row2#113 DATATYPE: UNDEFINED,
RF:19:IN:0:REG:3 = B:49 STAGE:-1 VAR: jb_row2#113 DATATYPE: UNDEFINED,
// OUT:MC_0: UC_DATA_IN => ( uc_const#0x75643120 == UCRF_0[5] )
// IN:COMM_SCHED_0: ( const#0x8838281 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x8838281 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x8838281 == UNITRF_CID_0[2], const#0x8838281 == PERMRF_0[1] )
// 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_3[1] )
// OUT:JUKEBOX_SCHED_0: INIT_CISTATE => ( jb_row2#113 == JBRF_0[3] )
DEAD_REGS: { };
instr: 9
MC: OP: UC_DATA_IN LINE:-1 IMM:0xffff UCRF_RD:5 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U0: OP: NOT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U3: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U1: OP: NOT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U8: OP: INIT_CISTATE LINE:34 STR_ID:4 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:34
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|const#0x75643120#||0 VAR: const#0x75643120 DATATYPE: ANYINT,
RF:13:IN:0:REG:3 = B:27 STAGE:-1 VAR: const#0x75643120 DATATYPE: ANYINT,
B:12 = RF:3:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U0:IN:0 = B:12 VAR: hw_const#0 DATATYPE: ANYINT,
B:29 = U0:OUT:0 INSTR_LOG:1|const#-1#||0 VAR: const#-1 DATATYPE: ANYINT,
RF:4:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#-1 DATATYPE: ANYINT,
RF:8:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#-1 DATATYPE: ANYINT,
RF:9:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#-1 DATATYPE: ANYINT,
RF:7:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#-1 DATATYPE: ANYINT,
B:43 = RF:18:OUT:6:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U3:IN:2 = B:43 VAR: hw_const#0 DATATYPE: ANYINT,
B:19 = RF:12:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
U3:IN:1 = B:19 VAR: hw_const#1 DATATYPE: ANYINT,
B:33 = U3:OUT:1 INSTR_LOG:1|const#1#||1 VAR: const#1 DATATYPE: ANYINT,
RF:5:IN:0:REG:2 = B:33 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
B:14 = RF:4:OUT:0:REG:1 VAR: const#1 DATATYPE: ANYINT,
U1:IN:0 = B:14 VAR: const#1 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|const#-2#||0 VAR: const#-2 DATATYPE: ANYINT,
RF:3:IN:0:REG:2 = B:30 STAGE:-1 VAR: const#-2 DATATYPE: ANYINT,
RF:11:IN:0:REG:2 = B:30 STAGE:-1 VAR: const#-2 DATATYPE: ANYINT,
RF:6:IN:0:REG:5 = B:30 STAGE:-1 VAR: const#-2 DATATYPE: ANYINT,
B:49 = U8:OUT:0 INSTR_LOG:1|jb_motions_in#115#||0 VAR: jb_motions_in#115 DATATYPE: UNDEFINED,
RF:19:IN:0:REG:5 = B:49 STAGE:-1 VAR: jb_motions_in#115 DATATYPE: UNDEFINED,
// IN:COMM_SCHED_0: ( const#0x75643120 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x75643120 == UCRF_0[5] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( const#0x75643120 == MULRF_1_1[3] )
// IN:ADDER_0: ( const#-1 ) = NOT( hw_const#0 == UNITRF_0_2[0] )
// OUT:ADDER_0: NOT => ( const#-1 == UNITRF_0_3[1], const#-1 == UNITRF_1_2[1], const#-1 == UNITRF_1_3[1], const#-1 == UNITRF_1_1[1] )
// IN:MULTIPLIER_0: ( const#1 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#1 == MULRF_1_0[0] )
// OUT:MULTIPLIER_0: SELECT => ( const#1 == UNITRF_0_4[2] )
// IN:ADDER_1: ( const#-2 ) = NOT( const#1 == UNITRF_0_3[1] )
// OUT:ADDER_1: NOT => ( const#-2 == UNITRF_0_2[2], const#-2 == MULRF_0_1[2], const#-2 == UNITRF_1_0[5] )
// OUT:MC_0: UC_DATA_IN => ( uc_const#0xffff == UCRF_0[5] )
// OUT:JUKEBOX_SCHED_0: INIT_CISTATE => ( jb_motions_in#115 == JBRF_0[5] )
DEAD_REGS: { };
instr: 10
MC: OP: NONE LINE:-1 UCRF_RD:5,
U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U1: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U2: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U8: OP: INIT_COSTATE LINE:35 STR_ID:5 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:35
U9: OP: INIT_VALID LINE:34 STR_ID:4 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:34
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -