⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icolor_kc.uc

📁 H.264完整的C语言代码和DCT的代码
💻 UC
📖 第 1 页 / 共 5 页
字号:
// microassembly program:  D:\working\im_apps\h264\icolor_kc.i
// machine description:    gold8.md
// KERNELDEF: instrs: 31 params: i 0 o 1 o 2 blocks: 3 17 2  14 1  0 -1  SWP_block_depth: 3 -1 3 -1 func_name: icolor block_io_counts: 3 3 0 0 0 0 1 4 2 1 0 0 0 0 
PARAMS: SCHED_METHOD: COS UC_BITS: 497
         NUM_INPUT_STREAMS: 1 NUM_OUTPUT_STREAMS: 2

// RESULTS: -rs 0, -rf 0
//   block: 0 best: 5 achieved: 17 (lines: 1-75, instrs: 0-16)
//   block: 1 best: 9 achieved: 14 (lines: 76-157, instrs: 17-30)
//   block: 2 best: 0 achieved: 0 (lines: none, instrs: none)

instr: 0
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x1 UCRF_WR:7 STAGES:-1,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#1 == UCRF_0[7] )
    DEAD_REGS: {  };
instr: 1
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x0 UCRF_WR:6 STAGES:-1,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0 == UCRF_0[6] )
    DEAD_REGS: {  };
instr: 2
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x100010 UCRF_WR:5 STAGES:-1,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x100010 == UCRF_0[5] )
    DEAD_REGS: {  };
instr: 3
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x6d806d80 UCRF_WR:4 STAGES:-1,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x6d806d80 == UCRF_0[4] )
    DEAD_REGS: {  };
instr: 4
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x800080 UCRF_WR:3 STAGES:-1,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x800080 == UCRF_0[3] )
    DEAD_REGS: {  };
instr: 5
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x4fe33f35 UCRF_WR:8 STAGES:-1,
    U7: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    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_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|const#8#||0 VAR: const#8 DATATYPE: ANYINT,
    RF:4:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#8 DATATYPE: ANYINT,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x4fe33f35 == UCRF_0[8] )
    //  IN:COMM_SCHED_0: ( const#8 ) = SELECT( hw_const#0 == CCRF_0[0], hw_mctrl#id == PERMRF_0[0] )
    // OUT:COMM_SCHED_0: SELECT => ( const#8 == UNITRF_0_3[1] )
    DEAD_REGS: {  };
instr: 6
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x4b23 UCRF_RD:7 UCRF_WR:7 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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#1#||0 VAR: const#1 DATATYPE: ANYINT,
    RF:7:IN:0:REG:4 = B:27 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x4b23 == UCRF_0[7] )
    //  IN:COMM_SCHED_0: ( const#1 ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#1 == UCRF_0[7] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( const#1 == UNITRF_1_1[4] )
    DEAD_REGS: {  };
instr: 7
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x26460e98 UCRF_RD:6 UCRF_WR:6 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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#0#||0 VAR: const#0 DATATYPE: ANYINT,
    RF:3:IN:0:REG:1 = B:27 STAGE:-1 VAR: const#0 DATATYPE: ANYINT,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x26460e98 == UCRF_0[6] )
    //  IN:COMM_SCHED_0: ( const#0 ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0 == UCRF_0[6] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( const#0 == UNITRF_0_2[1] )
    DEAD_REGS: {  };
instr: 8
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x1000100 UCRF_RD:5 UCRF_WR:5 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|Yaadj#||0 VAR: Yaadj DATATYPE: HALF2,
    RF:8:IN:0:REG:1 = B:27 STAGE:-1 VAR: Yaadj DATATYPE: HALF2,
    RF:7:IN:0:REG:1 = B:27 STAGE:-1 VAR: Yaadj DATATYPE: HALF2,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x1000100 == UCRF_0[5] )
    //  IN:COMM_SCHED_0: ( Yaadj ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x100010 == UCRF_0[5] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( Yaadj == UNITRF_1_2[1], Yaadj == UNITRF_1_1[1] )
    DEAD_REGS: {  };
instr: 9
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x8080801 UCRF_RD:4 UCRF_WR:4 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|Ymadj#||0 VAR: Ymadj DATATYPE: HALF2,
    RF:13:IN:0:REG:1 = B:27 STAGE:-1 VAR: Ymadj DATATYPE: HALF2,
    RF:12:IN:0:REG:1 = B:27 STAGE:-1 VAR: Ymadj DATATYPE: HALF2,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x8080801 == UCRF_0[4] )
    //  IN:COMM_SCHED_0: ( Ymadj ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x6d806d80 == UCRF_0[4] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( Ymadj == MULRF_1_1[1], Ymadj == MULRF_1_0[1] )
    DEAD_REGS: {  };
instr: 10
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x8020800 UCRF_RD:3 UCRF_WR:3 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|one_two_eight#||0 VAR: one_two_eight DATATYPE: HALF2,
    RF:7:IN:0:REG:2 = B:27 STAGE:-1 VAR: one_two_eight DATATYPE: HALF2,
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x8020800 == UCRF_0[3] )
    //  IN:COMM_SCHED_0: ( one_two_eight ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x800080 == UCRF_0[3] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( one_two_eight == UNITRF_1_1[2] )
    DEAD_REGS: {  };
instr: 11
    MC: OP: UC_DATA_IN LINE:71 IMM:0x76546420 UCRF_RD:8 UCRF_WR:1 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|C_SCALE#||0 VAR: C_SCALE DATATYPE: HALF2,
    RF:13:IN:0:REG:2 = B:27 STAGE:-1 VAR: C_SCALE DATATYPE: HALF2,
    RF:12:IN:0:REG:2 = B:27 STAGE:-1 VAR: C_SCALE DATATYPE: HALF2,
    // OUT:MC_0: UC_DATA_IN => ( perm_a == UCRF_0[1] )
    //  IN:COMM_SCHED_0: ( C_SCALE ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x4fe33f35 == UCRF_0[8] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( C_SCALE == MULRF_1_1[2], C_SCALE == MULRF_1_0[2] )
    DEAD_REGS: {  };
instr: 12
    MC: OP: CHK_EOS LINE:75 UCRF_RD:7 STR_ID:0,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U5: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|G_SCALE#||0 VAR: G_SCALE DATATYPE: HALF2,
    RF:13:IN:0:REG:3 = B:27 STAGE:-1 VAR: G_SCALE DATATYPE: HALF2,
    RF:12:IN:0:REG:3 = B:27 STAGE:-1 VAR: G_SCALE 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: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|tmp#5#||0 VAR: tmp#5 DATATYPE: HALF2,
    RF:5:IN:0:REG:1 = B:28 STAGE:-1 VAR: tmp#5 DATATYPE: HALF2,
    RF:3:IN:0:REG:2 = B:28 STAGE:-1 VAR: tmp#5 DATATYPE: HALF2,
    //  IN:COMM_SCHED_0: ( G_SCALE ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x4b23 == UCRF_0[7] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( G_SCALE == MULRF_1_1[3], G_SCALE == MULRF_1_0[3] )
    //  IN:DIVIDER_0: ( tmp#5 ) = NSELECT( hw_const#0 == CCRF_0[0], hw_const#1 == UNITRF_1_0[0] )
    // OUT:DIVIDER_0: NSELECT => ( tmp#5 == UNITRF_0_4[1], tmp#5 == UNITRF_0_2[2] )
    DEAD_REGS: {  };
instr: 13
    MC: OP: NONE LINE:-1 UCRF_RD:6 UCONDRF_WR:1 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U4: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U0: OP: NOT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U2: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|RB_SCALE#||0 VAR: RB_SCALE DATATYPE: HALF2,
    RF:10:IN:0:REG:1 = B:27 STAGE:-1 VAR: RB_SCALE DATATYPE: HALF2,
    RF:12:IN:0:REG:4 = B:27 STAGE:-1 VAR: RB_SCALE DATATYPE: HALF2,
    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|tmp#5#||1 VAR: tmp#5 DATATYPE: HALF2,
    RF:5:IN:0:REG:1 = B:35 STAGE:-1 VAR: tmp#5 DATATYPE: HALF2,
    B:12 = RF:3:OUT:0:REG:2 VAR: tmp#5 DATATYPE: HALF2,
    U0:IN:0 = B:12 VAR: tmp#5 DATATYPE: HALF2,
    B:29 = U0:OUT:0 INSTR_LOG:1|const#-2#||0 VAR: const#-2 DATATYPE: ANYINT,
    RF:3:IN:0:REG:2 = B:29 STAGE:-1 VAR: const#-2 DATATYPE: ANYINT,
    B:16 = RF:5:OUT:0:REG:1 VAR: tmp#5 DATATYPE: HALF2,
    U2:IN:0 = B:16 VAR: tmp#5 DATATYPE: HALF2,
    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:9:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
    RF:7:IN:0:REG:3 = B:31 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
    // OUT:MC_0: CHK_EOS => ( tmp#7 == UCONDRF_0[1] )
    //  IN:COMM_SCHED_0: ( RB_SCALE ) = COMMUCDATA( hw_mctrl#id == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x26460e98 == UCRF_0[6] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( RB_SCALE == MULRF_0_0[1], RB_SCALE == MULRF_1_0[4] )
    //  IN:MULTIPLIER_1: ( tmp#5 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#1 == MULRF_1_1[0] )
    // OUT:MULTIPLIER_1: SELECT => ( tmp#5 == UNITRF_0_4[1] )
    //  IN:ADDER_0: ( const#-2 ) = NOT( tmp#5 == UNITRF_0_2[2] )
    // OUT:ADDER_0: NOT => ( const#-2 == UNITRF_0_2[2] )
    //  IN:ADDER_2: ( const#2 ) = SHIFT32( tmp#5 == UNITRF_0_4[1], hw_const#1 == UNITRF_1_3[0] )
    // OUT:ADDER_2: SHIFT32 => ( const#2 == UNITRF_1_3[1], const#2 == UNITRF_1_1[3] )
    DEAD_REGS: {  };
instr: 14
    MC: OP: NLOOP LINE:75 UCRF_RD:5 UCONDRF_RD:1 BR_OFF:15 LAST_STAGE:3,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U0: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U2: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    U1: OP: NOT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\icolor_kc.i:-1
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_mctrl#id DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_mctrl#id 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|shuf_func3#||0 VAR: shuf_func3 DATATYPE: BYTE4,
    RF:12:IN:0:REG:5 = B:27 STAGE:-1 VAR: shuf_func3 DATATYPE: BYTE4,
    RF:13:IN:0:REG:4 = B:27 STAGE:-1 VAR: shuf_func3 DATATYPE: BYTE4,
    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,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -