Does GCC support machine description for volatile memory accesses that must not be cached ? In other words, when using expressions such as theses, volatile memory access instructions should be use: volatile uint8_t *m; uint8_t n; *m = 5; // Should use a volatile memory store instruction. n = *m; // Should use a volatile memory load instruction. If GCC has support for the above, are there any examples I could be pointed to in the sources ?