-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 02/24/11 10:04, Michael Matz wrote: > > Funny. As far back as I remember we consistently said that bits of the > same word, but outside the subreg are left with undefined values after > storing into the subreg, except if wrapped with a strict_low_part. In > fact that's the whole point of strict_low_part. I'm pretty sure we assume > this documented semantics in various parts of the compiler. Maybe the misunderstanding occurs when the mode of the subreg is less than word_size? It would certainly make sense that a subreg write of less than word_size leaves the bits undefined.
ie, if word_size is SImode and we had a write to (subreg:HI (reg:SI) 0) Then the upper bits are left undefined. Contrast that to the same RTL, but word_size is HImode (subreg:HI (reg:SI) 0) Would leave the upper bits untouched. And perhaps that means my statement to Georg is wrong -- I hadn't considered the possibility that the subreg was smaller than a word. I don't know the last time I saw a subreg like that :-) jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNZpRjAAoJEBRtltQi2kC7oywIAJSMlrcnulxq+/psqUoWinAT J51bewFyhz/OXJvTVbctR4xcI1CwZeg7sQYgd3atPOYdKxKBNoIAdYjkEqtMxDrk GVAQULQC7keT5hOuNrmKTKaPc2/uWl+68/hbrurG9JXkOzKqWRL2egLkeP/Pwnau L++wEF0VtGJmbup1pbtuy1oITMgczFuvqzsN/49bZ69Br+C7J9rcNc8Y8QhPPIVg hvC3WVUtta77L+20KVQFaQU5zHv3VFtjkPeu8eIcpaUWVuDQpl2jREZmaKRogoaw XEGjmitKsMMQpyRUp/F5Uv+8xRamIMenOHl/C/c0AyCUkZoXxIddYwFqcCRhElc= =m8rr -----END PGP SIGNATURE-----