--- Log opened Mon Jul 29 00:00:19 2013 | ||
@jeremybennett | I'm just working on getting James's benchmarks running on an AVR system. | 18:18 |
---|---|---|
@jeremybennett | not sure where the problem is. I'm actually working with real HW model, so I only have 4K of RAM. The behavior I see is that a RET takes me to the reset vector. | 18:31 |
@jeremybennett | Ah - yes found the problem: text data bss dec hex filename | 18:32 |
@jeremybennett | 9610 4192 0 13802 35ea blowfish | 18:32 |
@jeremybennett | try that again | 18:32 |
@jeremybennett | text data bss dec hex filename | 18:32 |
@jeremybennett | 9610 4192 0 13802 35ea blowfish | 18:32 |
@jeremybennett | So it doesn't fit in 4K of RAM. | 18:32 |
@jeremybennett | jamespallister: AWhetter: fdct.c makes assumptions about type sizes: | 18:35 |
@jeremybennett | fdct.c: In function 'fdct': | 18:35 |
@jeremybennett | fdct.c:183:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[2*lx] = (z1 + (tmp13 * constant)) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
@jeremybennett | fdct.c:185:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[6*lx] = (z1 + (tmp12 * constant)) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
@jeremybennett | fdct.c:219:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[7*lx] = (tmp4 + z1 + z3) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
@jeremybennett | fdct.c:220:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[5*lx] = (tmp5 + z2 + z4) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
@jeremybennett | fdct.c:221:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[3*lx] = (tmp6 + z2 + z3) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
@jeremybennett | fdct.c:222:5: warning: right shift count >= width of type [enabled by default] | 18:35 |
@jeremybennett | block[lx] = (tmp7 + z1 + z4) >> (CONST_BITS+PASS1_BITS+3); | 18:35 |
@jeremybennett | ^ | 18:35 |
jamespallister | Ahh I see | 18:36 |
jamespallister | If a shift is too large does it cause a reset? | 18:36 |
@jeremybennett | No - that was a completely different problem. In this case it is just a compiler warning, and for now the compiler lets it through. | 18:46 |
@jeremybennett | But the code won't work. | 18:46 |
@jeremybennett | There is an implicit assumption that block is an array of 32-bit entities. | 18:47 |
@jeremybennett | Probably should be declared as type uint32_t rather than int | 18:47 |
jamespallister | Yes - I don't think many of the benchmarks were written with 8bit processors in mind | 18:48 |
@jeremybennett | I now have all but 2 of your benchmarks compiled and running on ATmega128 with 4K RAM. | 18:48 |
@jeremybennett | blowfish is too big and fdct has the problem identified above. So if you can fix fdct, then I can try running it as well. | 18:49 |
--- Log closed Tue Jul 30 00:00:25 2013 |
Generated by irclog2html.py 2.12.1 by Marius Gedminas - find it at mg.pov.lt!