Re: Bitfields problem

2009-12-11 Thread Jean Christophe Beyler
Interestingly enough, if I do this instead: typedef struct sTest { int a:12; int b:20; int c:7; int d:15; }STest; int64_t bar2 (STest *a) { int64_t res = a->b; return res; } I get at the expand pass : (insn 6 5 7 3 struct3.c:27 (set (reg:SI 75) (mem/s:SI (reg/v/

Bitfields problem

2009-12-11 Thread Jean Christophe Beyler
As I continue my work on the machine description file, I currently worked on the bitfields again to try to get a good code generation working. Right now, I've followed what was done in the ia64 for signed extractions : (define_insn "extv" [(set (match_operand:DI 0 "gr_register_operand" "=r")