| | Re: GNU C wizards?
|
| (...) GCC has in general done a very good job removing unnecessary code from templates. You can certainly optimize the generated code further, but you are getting the facilities of a high-level language in exchange for the (usually) small losses in (...) (26 years ago, 4-Jan-99, to lugnet.robotics)
| | | | H8 bit operations (was Re: GNU C wizards?)
|
| (...) After looking into it further, if the compiler has the address in a register (or will use it more than once so it will load it in a register), it does use the bset/bclr instructions. However, there is this in h8300.md: ;; Bitfield operations (...) (26 years ago, 4-Jan-99, to lugnet.robotics)
| | | | Re: H8 bit operations (was Re: GNU C wizards?)
|
| Ok, after more investigation the problem is twofold: 1) The compiler doesn't look at an absolute address (such as generated by #define P6DR (*(volatile unsigned char *)0xFFBB) and then used by P6DR=0). Instead, it looks for an attribute (...) (26 years ago, 5-Jan-99, to lugnet.robotics)
| |