44 |
T0 = (T0 << count) | (T0 >> (DATA_BITS - count)); |
T0 = (T0 << count) | (T0 >> (DATA_BITS - count)); |
45 |
#ifdef MEM_WRITE |
#ifdef MEM_WRITE |
46 |
glue(st, SUFFIX)((uint8_t *)A0, T0); |
glue(st, SUFFIX)((uint8_t *)A0, T0); |
47 |
|
#else |
48 |
|
/* gcc 3.2 workaround. This is really a bug in gcc. */ |
49 |
|
asm volatile("" : : "r" (T0)); |
50 |
#endif |
#endif |
51 |
CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) | |
CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) | |
52 |
(lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | |
(lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | |
66 |
T0 = (T0 >> count) | (T0 << (DATA_BITS - count)); |
T0 = (T0 >> count) | (T0 << (DATA_BITS - count)); |
67 |
#ifdef MEM_WRITE |
#ifdef MEM_WRITE |
68 |
glue(st, SUFFIX)((uint8_t *)A0, T0); |
glue(st, SUFFIX)((uint8_t *)A0, T0); |
69 |
|
#else |
70 |
|
/* gcc 3.2 workaround. This is really a bug in gcc. */ |
71 |
|
asm volatile("" : : "r" (T0)); |
72 |
#endif |
#endif |
73 |
CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) | |
CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) | |
74 |
(lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | |
(lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | |