作者bask (gan)
看板NTUEE_VAL
標題Re: hw5
時間Tue Dec 19 22:17:07 2006
※ 引述《Fiesta (佛埃斯特)》之銘言:
: ※ 引述《Fiesta (佛埃斯特)》之銘言:
: : 其實這個想法是很對的,我覺得我們怎麼寫也寫不贏gcc
: : 所以如同今天早上我跟阿儒以及GD所講的,
: : 我打算直接用gcc -S 把code轉成assembly,然後再inline到原來的code,
: : 當作是我這次的project
: 雖然是這麼說,但是由於code真的還蠻複雜的,連動手都還沒。
: 不過現在我正在把原來的code行與行之間給加上printf()
: 藉此來判斷哪些assembly指令對照於原本的c code
leftcol=col-1;
upper=prevRowBuf[col][curComp];
left=curRowBuf[leftcol][curComp];
diag=prevRowBuf[leftcol][curComp];
/*
* All predictor are calculated according to psv.
*/
switch (psv) {
case 0:
/*0*/
*predictor = 0;
break;
case 1:
/*0*/
*predictor = left;
break;
case 2:
/*0*/
*predictor = upper;
break;
case 3:
*predictor = diag;
break;
case 4:
*predictor = left+upper-diag;
break;
case 5:
*predictor = left+((upper-diag)>>1);
break;
case 6:
*predictor = upper+((left-diag)>>1);
break;
case 7:
*predictor = (left+upper)>>1;
break;
default:
fprintf(stderr,"Warning: Undefined PSV\n");
*predictor = 0;
在c level可以加快速
就是開頭的變數用到才assign
但是改了也沒用...
因為其實gcc會做
真是暗陰陽
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.227.99
→ bask:大家一起改吧,有基本分就好了 12/19 22:20
→ bask:第一步改c第二步改asm,用pc基本分7分,opt兩步加兩分 12/19 22:22
→ bask:這個opt是沒用的,因為每次都跑case 5... 12/19 22:24