#define q ((char *)0x1234) foo(int x) { *q |= (1 << (char)x); }
$ m32c-elf-gcc -S -O3 nick.c .global _foo _foo: mov.w r1,a0 ; 20 movhi_op/3 bset 4660[a0] ; 11 bset_qi rts ; 23 epilogue_rts
#define q ((char *)0x1234) foo(int x) { *q |= (1 << (char)x); }
$ m32c-elf-gcc -S -O3 nick.c .global _foo _foo: mov.w r1,a0 ; 20 movhi_op/3 bset 4660[a0] ; 11 bset_qi rts ; 23 epilogue_rts