Insns marked as volatile?
Toshiyasu Morita
tm@netcom.com
Thu Nov 19 17:58:00 GMT 1998
I'm seeing some strangeness which I don't understand; specifically some
volatile bits are set when C++ class members are referenced, which seems
rather odd. Here's a quick partial code sample; this code:
v[0].px = x2;
v[0].py = y1;
v[0].w = ooz;
v[0].s = s2;
v[0].t = t1;
...generates insns in the .rtl file which look like this:
(insn 21 19 22 (set (reg:SI 58)
(reg/v/u:SI 53)) -1 (nil) <- volatile?
(nil))
(insn 22 21 24 (set (reg:SI 59)
(plus:SI (reg/v/u:SI 53) <- volatile?
(const_int 16))) -1 (nil)
(nil))
(insn 24 22 25 (parallel[
(set (mem/s:SF (reg:SI 59))
(reg/v:SF 54)) <- volatile?
(use (reg/v:PSI 48 fpscr))
(clobber (scratch:SI))
] ) -1 (nil)
(nil))
Can someone familiar with the C++ front-end offer any insight?
Toshi
More information about the Gcc-bugs
mailing list