📄 idct_kc.uc
字号:
// IN:MULTIPLIER_1: ( y#2, tmp#131 ) = IMULRND16( K#2 == MULRF_1_1[11], tmp#129 == MULRF_0_1[6] )
// IN:ADDER_1: ( tmp#132 ) = SHIFTA16( q#3 == UNITRF_0_3[3], const#-3 == UNITRF_1_2[4] )
// OUT:ADDER_1: SHIFTA16 => ( tmp#132 == MULRF_0_1[6] )
// IN:ADDER_2: ( tmp#126 ) = SHIFTA16( q#1 == UNITRF_0_4[3], const#-3 == UNITRF_1_3[4] )
// OUT:ADDER_2: SHIFTA16 => ( tmp#126 == MULRF_0_0[9] )
// IN:ADDER_0: ( tmp#85 ) = SELECT( hw_const#0 == CCRF_0[0], tmp#85 == UNITRF_1_1[6] )
// OUT:ADDER_0: SELECT => ( tmp#85 == CCRF_0[1] )
// OUT:MULTIPLIER_1: IMUL16 => ( tmp#52 == UNITRF_1_2[6] )
DEAD_REGS: { };
instr: 29
MC: OP: NONE LINE:-1 UCRF_RD:6,
U6: OP: SPWRITE LINE:186 SP_BASE:0 SP_STAGE:3:0:0 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:186
U7: OP: COMMUCPERM LINE:187 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:187
U6: OP: SPREAD_WT LINE:189 SP_BASE:8 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:189
U1: OP: SHIFTA16 LINE:124 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:124
U2: OP: SHIFTA16 LINE:122 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:122
U4: OP: IMULRND16 LINE:120 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:120
U3: OP: IMULRND16 LINE:118 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:118
U5: OP: SELECT LINE:112 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:112
B:7 = RF:17:OUT:0:REG:4 VAR: idx4 DATATYPE: INT,
U6:IN:2 = B:7 VAR: idx4 DATATYPE: INT,
B:6 = RF:1:OUT:0:REG:1 VAR: tmp#170 DATATYPE: UNDEFINED,
U6:IN:1 = B:6 VAR: tmp#170 DATATYPE: UNDEFINED,
B:8 = RF:2:OUT:0:REG:2 VAR: tmp#171 DATATYPE: HALF2,
U7:IN:0 = B:8 VAR: tmp#171 DATATYPE: HALF2,
B:27 = U7:OUT:0 INSTR_LOG:1|tmp#172#||0 VAR: tmp#172 DATATYPE: UNDEFINED,
RF:1:IN:0:REG:1 = B:27 STAGE:3 VAR: tmp#172 DATATYPE: UNDEFINED,
B:26 = U6:OUT:0 INSTR_LOG:2|tmp#173#||0 VAR: tmp#173 DATATYPE: HALF2,
RF:2:IN:0:REG:2 = B:26 STAGE:3 VAR: tmp#173 DATATYPE: HALF2,
B:5 = RF:16:OUT:0:REG:7 VAR: idx7 DATATYPE: INT,
U6:IN:0 = B:5 VAR: idx7 DATATYPE: INT,
B:14 = RF:4:OUT:0:REG:3 VAR: q#7 DATATYPE: HALF2,
U1:IN:0 = B:14 VAR: q#7 DATATYPE: HALF2,
B:15 = RF:8:OUT:0:REG:4 VAR: const#-3 DATATYPE: ANYINT,
U1:IN:1 = B:15 VAR: const#-3 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|tmp#144#||0 VAR: tmp#144 DATATYPE: HALF2,
RF:11:IN:0:REG:6 = B:30 STAGE:2 VAR: tmp#144 DATATYPE: HALF2,
B:16 = RF:5:OUT:0:REG:5 VAR: q#5 DATATYPE: HALF2,
U2:IN:0 = B:16 VAR: q#5 DATATYPE: HALF2,
B:17 = RF:9:OUT:0:REG:4 VAR: const#-3 DATATYPE: ANYINT,
U2:IN:1 = B:17 VAR: const#-3 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|tmp#138#||0 VAR: tmp#138 DATATYPE: HALF2,
RF:10:IN:0:REG:9 = B:31 STAGE:2 VAR: tmp#138 DATATYPE: HALF2,
B:21 = RF:13:OUT:0:REG:10 VAR: K#3 DATATYPE: HALF2,
U4:IN:1 = B:21 VAR: K#3 DATATYPE: HALF2,
B:20 = RF:11:OUT:0:REG:6 VAR: tmp#132 DATATYPE: HALF2,
U4:IN:0 = B:20 VAR: tmp#132 DATATYPE: HALF2,
B:19 = RF:12:OUT:0:REG:11 VAR: K#1 DATATYPE: HALF2,
U3:IN:1 = B:19 VAR: K#1 DATATYPE: HALF2,
B:18 = RF:10:OUT:0:REG:9 VAR: tmp#126 DATATYPE: HALF2,
U3:IN:0 = B:18 VAR: tmp#126 DATATYPE: HALF2,
B:39 = RF:18:OUT:2:REG:1 VAR: tmp#85 DATATYPE: CC,
U5:IN:2 = B:39 VAR: tmp#85 DATATYPE: CC,
B:10 = RF:6:OUT:0:REG:1 VAR: H DATATYPE: HALF2,
U5:IN:0 = B:10 VAR: H DATATYPE: HALF2,
B:11 = RF:14:OUT:0:REG:8 VAR: tmp#84 DATATYPE: HALF2,
U5:IN:1 = B:11 VAR: tmp#84 DATATYPE: HALF2,
B:28 = U5:OUT:0 INSTR_LOG:1|q#4#||0 VAR: q#4 DATATYPE: HALF2,
RF:3:IN:0:REG:4 = B:28 STAGE:2 VAR: q#4 DATATYPE: HALF2,
// IN:SP_SCHED_WRITE_0: ( buf2 ) = SPWRITE( idx4 == SPIDXRF_1[4], tmp#170 == UNITRF_0_0[1] )
// OUT:SP_SCHED_WRITE_0: SPWRITE => ( buf2 == SP_SCHED_RF_0[0] )
// IN:COMM_SCHED_0: ( tmp#172 ) = COMMUCPERM( perm_e == UCRF_0[6], tmp#171 == UNITRF_0_1[2] )
// OUT:COMM_SCHED_0: COMMUCPERM => ( tmp#172 == UNITRF_0_0[1] )
// OUT:SP_SCHED_READ_0: SPREAD_WT => ( tmp#173 == UNITRF_0_1[2] )
// IN:SP_SCHED_READ_0: ( tmp#175 ) = SPREAD_WT( idx7 == SPIDXRF_0[7], buf1 == SP_SCHED_RF_0[8] )
// IN:ADDER_1: ( tmp#144 ) = SHIFTA16( q#7 == UNITRF_0_3[3], const#-3 == UNITRF_1_2[4] )
// OUT:ADDER_1: SHIFTA16 => ( tmp#144 == MULRF_0_1[6] )
// IN:ADDER_2: ( tmp#138 ) = SHIFTA16( q#5 == UNITRF_0_4[5], const#-3 == UNITRF_1_3[4] )
// OUT:ADDER_2: SHIFTA16 => ( tmp#138 == MULRF_0_0[9] )
// IN:MULTIPLIER_1: ( y#3, tmp#134 ) = IMULRND16( K#3 == MULRF_1_1[10], tmp#132 == MULRF_0_1[6] )
// IN:MULTIPLIER_0: ( y#1, tmp#128 ) = IMULRND16( K#1 == MULRF_1_0[11], tmp#126 == MULRF_0_0[9] )
// IN:DIVIDER_0: ( q#4 ) = SELECT( tmp#85 == CCRF_0[1], H == UNITRF_1_0[1], tmp#84 == UNITRF_CID_0[8] )
// OUT:DIVIDER_0: SELECT => ( q#4 == UNITRF_0_2[4] )
DEAD_REGS: { };
instr: 30
MC: OP: NONE LINE:-1 UCRF_RD:7,
U6: OP: SPWRITE LINE:187 SP_BASE:0 SP_STAGE:3:0:0 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:187
U7: OP: COMMUCPERM LINE:188 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:188
U4: OP: IMULRND16 LINE:124 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:124
U3: OP: IMULRND16 LINE:122 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:122
U0: OP: SHIFTA16 LINE:121 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:121
U5: OP: SELECT LINE:-1 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:-1
U1: OP: ILT16 LINE:108 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:108
U2: OP: NSELECT LINE:-1 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:-1
B:7 = RF:17:OUT:0:REG:3 VAR: idx3 DATATYPE: INT,
U6:IN:2 = B:7 VAR: idx3 DATATYPE: INT,
B:6 = RF:1:OUT:0:REG:1 VAR: tmp#172 DATATYPE: UNDEFINED,
U6:IN:1 = B:6 VAR: tmp#172 DATATYPE: UNDEFINED,
B:8 = RF:2:OUT:0:REG:2 VAR: tmp#173 DATATYPE: HALF2,
U7:IN:0 = B:8 VAR: tmp#173 DATATYPE: HALF2,
B:27 = U7:OUT:0 INSTR_LOG:1|tmp#174#||0 VAR: tmp#174 DATATYPE: UNDEFINED,
RF:1:IN:0:REG:1 = B:27 STAGE:3 VAR: tmp#174 DATATYPE: UNDEFINED,
B:26 = U6:OUT:0 INSTR_LOG:2|tmp#175#||0 VAR: tmp#175 DATATYPE: HALF2,
RF:2:IN:0:REG:2 = B:26 STAGE:3 VAR: tmp#175 DATATYPE: HALF2,
B:21 = RF:13:OUT:0:REG:7 VAR: K#7 DATATYPE: HALF2,
U4:IN:1 = B:21 VAR: K#7 DATATYPE: HALF2,
B:20 = RF:11:OUT:0:REG:6 VAR: tmp#144 DATATYPE: HALF2,
U4:IN:0 = B:20 VAR: tmp#144 DATATYPE: HALF2,
B:19 = RF:12:OUT:0:REG:8 VAR: K#5 DATATYPE: HALF2,
U3:IN:1 = B:19 VAR: K#5 DATATYPE: HALF2,
B:18 = RF:10:OUT:0:REG:9 VAR: tmp#138 DATATYPE: HALF2,
U3:IN:0 = B:18 VAR: tmp#138 DATATYPE: HALF2,
B:12 = RF:3:OUT:0:REG:4 VAR: q#4 DATATYPE: HALF2,
U0:IN:0 = B:12 VAR: q#4 DATATYPE: HALF2,
B:13 = RF:7:OUT:0:REG:4 VAR: const#-3 DATATYPE: ANYINT,
U0:IN:1 = B:13 VAR: const#-3 DATATYPE: ANYINT,
B:29 = U0:OUT:0 INSTR_LOG:1|tmp#135#||0 VAR: tmp#135 DATATYPE: HALF2,
RF:10:IN:0:REG:9 = B:29 STAGE:2 VAR: tmp#135 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:9 VAR: tmp#55 DATATYPE: HALF2,
U5:IN:1 = B:11 VAR: tmp#55 DATATYPE: HALF2,
B:28 = U5:OUT:0 INSTR_LOG:1|tmp#55#||0 VAR: tmp#55 DATATYPE: HALF2,
RF:3:IN:0:REG:4 = B:28 STAGE:1 VAR: tmp#55 DATATYPE: HALF2,
B:15 = RF:8:OUT:0:REG:7 VAR: tmp#28 DATATYPE: HALF2,
U1:IN:1 = B:15 VAR: tmp#28 DATATYPE: HALF2,
B:14 = RF:4:OUT:0:REG:1 VAR: H DATATYPE: HALF2,
U1:IN:0 = B:14 VAR: H DATATYPE: HALF2,
B:42 = RF:18:OUT:5:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U2:IN:2 = B:42 VAR: hw_const#0 DATATYPE: ANYINT,
B:16 = RF:5:OUT:0:REG:4 VAR: tmp#35 DATATYPE: CC,
U2:IN:0 = B:16 VAR: tmp#35 DATATYPE: CC,
B:47 = U2:OUT:0 INSTR_LOG:1|tmp#35#||0 VAR: tmp#35 DATATYPE: CC,
RF:18:IN:1:REG:1 = B:47 STAGE:1 VAR: tmp#35 DATATYPE: CC,
// IN:SP_SCHED_WRITE_0: ( buf2 ) = SPWRITE( idx3 == SPIDXRF_1[3], tmp#172 == UNITRF_0_0[1] )
// OUT:SP_SCHED_WRITE_0: SPWRITE => ( buf2 == SP_SCHED_RF_0[0] )
// IN:COMM_SCHED_0: ( tmp#174 ) = COMMUCPERM( perm_f == UCRF_0[7], tmp#173 == UNITRF_0_1[2] )
// OUT:COMM_SCHED_0: COMMUCPERM => ( tmp#174 == UNITRF_0_0[1] )
// OUT:SP_SCHED_READ_0: SPREAD_WT => ( tmp#175 == UNITRF_0_1[2] )
// IN:MULTIPLIER_1: ( y#7, tmp#146 ) = IMULRND16( K#7 == MULRF_1_1[7], tmp#144 == MULRF_0_1[6] )
// IN:MULTIPLIER_0: ( y#5, tmp#140 ) = IMULRND16( K#5 == MULRF_1_0[8], tmp#138 == MULRF_0_0[9] )
// IN:ADDER_0: ( tmp#135 ) = SHIFTA16( q#4 == UNITRF_0_2[4], const#-3 == UNITRF_1_1[4] )
// OUT:ADDER_0: SHIFTA16 => ( tmp#135 == MULRF_0_0[9] )
// IN:DIVIDER_0: ( tmp#55 ) = SELECT( hw_const#0 == CCRF_0[0], tmp#55 == UNITRF_CID_0[9] )
// OUT:DIVIDER_0: SELECT => ( tmp#55 == UNITRF_0_2[4] )
// IN:ADDER_1: ( tmp#37 ) = ILT16( tmp#28 == UNITRF_1_2[7], H == UNITRF_0_3[1] )
// IN:ADDER_2: ( tmp#35 ) = NSELECT( hw_const#0 == CCRF_0[0], tmp#35 == UNITRF_0_4[4] )
// OUT:ADDER_2: NSELECT => ( tmp#35 == CCRF_0[1] )
DEAD_REGS: { };
instr: 31
MC: OP: NONE LINE:-1 UCRF_RD:8,
U6: OP: SPWRITE LINE:188 SP_BASE:0 SP_STAGE:3:0:0 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:188
U7: OP: COMMUCPERM LINE:189 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:189
U3: OP: IMULRND16 LINE:121 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:121
U5: OP: SELECT LINE:108 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:108
U0: OP: ILT16 LINE:109 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:109
B:7 = RF:17:OUT:0:REG:2 VAR: idx2 DATATYPE: INT,
U6:IN:2 = B:7 VAR: idx2 DATATYPE: INT,
B:6 = RF:1:OUT:0:REG:1 VAR: tmp#174 DATATYPE: UNDEFINED,
U6:IN:1 = B:6 VAR: tmp#174 DATATYPE: UNDEFINED,
B:8 = RF:2:OUT:0:REG:2 VAR: tmp#175 DATATYPE: HALF2,
U7:IN:0 = B:8 VAR: tmp#175 DATATYPE: HALF2,
B:27 = U7:OUT:0 INSTR_LOG:1|tmp#176#||0 VAR: tmp#176 DATATYPE: UNDEFINED,
RF:1:IN:0:REG:1 = B:27 STAGE:3 VAR: tmp#176 DATATYPE: UNDEFINED,
B:33 = U3:OUT:1 INSTR_LOG:4|y#6#||1 VAR: y#6 DATATYPE: HALF2,
RF:7:IN:0:REG:6 = B:33 STAGE:2 VAR: y#6 DATATYPE: HALF2,
RF:5:IN:0:REG:3 = B:33 STAGE:2 VAR: y#6 DATATYPE: HALF2,
B:35 = U4:OUT:1 INSTR_LOG:4|y#2#||1 VAR: y#2 DATATYPE: HALF2,
RF:3:IN:0:REG:3 = B:35 STAGE:2 VAR: y#2 DATATYPE: HALF2,
RF:9:IN:0:REG:5 = B:35 STAGE:2 VAR: y#2 DATATYPE: HALF2,
B:19 = RF:12:OUT:0:REG:12 VAR: K#4 DATATYPE: HALF2,
U3:IN:1 = B:19 VAR: K#4 DATATYPE: HALF2,
B:18 = RF:10:OUT:0:REG:9 VAR: tmp#135 DATATYPE: HALF2,
U3:IN:0 = B:18 VAR: tmp#135 DATATYPE: HALF2,
B:46 = U1:OUT:0 INSTR_LOG:2|tmp#37#||0 VAR: tmp#37 DATATYPE: CC,
RF:18:IN:0:REG:1 = B:46 STAGE:1 VAR: tmp#37 DATATYPE: CC,
B:39 = RF:18:OUT:2:REG:1 VAR: tmp#35 DATATYPE: CC,
U5:IN:2 = B:39 VAR: tmp#35 DATATYPE: CC,
B:10 = RF:6:OUT:0:REG:2 VAR: L DATATYPE: HALF2,
U5:IN:0 = B:10 VAR: L DATATYPE: HALF2,
B:11 = RF:14:OUT:0:REG:6 VAR: tmp#34 DATATYPE: HALF2,
U5:IN:1 = B:11 VAR: tmp#34 DATATYPE: HALF2,
B:28 = U5:OUT:0 INSTR_LOG:1|tmp#36#||0 VAR: tmp#36 DATATYPE: HALF2,
RF:2:IN:0:REG:2 = B:28 STAGE:1 VAR: tmp#36 DATATYPE: HALF2,
B:12 = RF:3:OUT:0:REG:3 VAR: tmp#43 DATATYPE: HALF2,
U0:IN:0 = B:12 VAR: tmp#43 DATATYPE: HALF2,
B:13 = RF:7:OUT:0:REG:3 VAR: L DATATYPE: HALF2,
U0:IN:1 = B:13 VAR: L DATATYPE: HALF2,
// IN:SP_SCHED_WRITE_0: ( buf2 ) = SPWRITE( idx2 == SPIDXRF_1[2], tmp#174 == UNITRF_0_0[1] )
// OUT:SP_SCHED_WRITE_0: SPWRITE => ( buf2 == SP_SCHED_RF_0[0] )
// IN:COMM_SCHED_0: ( tmp#176 ) = COMMUCPERM( perm_g == UCRF_0[8], tmp#175 == UNITRF_0_1[2] )
// OUT:COMM_SCHED_0: COMMUCPERM => ( tmp#176 == UNITRF_0_0[1] )
// OUT:MULTIPLIER_0: IMULRND16 => ( y#6 == UNITRF_1_1[6], y#6 == UNITRF_0_4[3] )
// OUT:MULTIPLIER_1: IMULRND16 => ( y#2 == UNITRF_0_2[3], y#2 == UNITRF_1_3[5] )
// IN:MULTIPLIER_0: ( y#4, tmp#137 ) = IMULRND16( K#4 == MULRF_1_0[12], tmp#135 == MULRF_0_0[9] )
// OUT:ADDER_1: ILT16 => ( tmp#37 == CCRF_0[1] )
// IN:DIVIDER_0: ( tmp#36 ) = SELECT( tmp#35 == CCRF_0[1], L == UNITRF_1_0[2], tmp#34 == UNITRF_CID_0[6] )
// OUT:DIVIDER_0: SELECT => ( tmp#36 == UNITRF_0_1[2] )
// IN:ADDER_0: ( tmp#47 ) = ILT16( tmp#43 == UNITRF_0_2[3], L == UNITRF_1_1[3] )
DEAD_REGS: { };
instr: 32
MC: OP: NONE LINE:-1,
U6: OP: SPREAD_WT LINE:192 SP_BASE:1 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:192
U6: OP: SPWRITE LINE:189 SP_BASE:0 SP_STAGE:3:0:0 STAGE:3, // D:\working\im_apps\h264\idct_kc.i:189
U0: OP: ISUB16 LINE:131 STAGE:2, // D:\working\im_apps\h264\idct_kc.i:131
U7: OP: NSELECT LINE:108 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:108
U1: OP: ILT16 LINE:109 STAGE:1, // D:\working\im_apps\h264\idct_kc.i:109
B:5 = RF:16:OUT:0:REG:0 VAR: hw_const#0 D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -