[M3devel] more packed questions

Jay K jay.krell at cornell.edu
Mon Sep 13 02:30:54 CEST 2010


T = BITS 2 FOR [0..3]; makes sense to me


T = BITS 10 FOR [0..3];
What does that do?
It is legal, and allocates 10 bits, and uses a certain 2 of them?
Which 2?
Probably, it depends on endian and read the code, and it is meant
to mean the same thing in C, if embedded in a struct, as
a 10 bit bitfield that only happens to contain values 0..3?


TYPE T1 = RECORD a:INTEGER END;
TYPE T2 = BITS 64 FOR T1;
 legal?
 Sticks 0 or 32 bits after T1/a?
 
 
 My goal is to generate accurate type information in parse.c.
 Debugging in stock gdb should work.
 And then furthermore try converting offset loads/stores
 to component/array_refs.
 And then furthermore, let all of -O3 work.
 
 
  - Jay 		 	   		  


More information about the M3devel mailing list