From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Hubicka To: gcc@gcc.gnu.org Cc: jakub@redhat.com Subject: SUBREGs and modes Date: Wed, 02 Aug 2000 05:49:00 -0000 Message-id: <20000802144916.L22797@atrey.karlin.mff.cuni.cz> X-SW-Source: 2000-08/msg00025.html Hi (except for many other cases), my checker pointed out weird usage of SUBREGs. According to my uderstanding the docs, when WORDNUM is nonzero, the innermode must be greater than word and the outer mode must be word. My checker has caught occurences of subregs not matching these constraints such as: (subreg:HI (reg:DI ) 1) in i386. These happends in early stages of RTL generation and seems to be results of combining two SUBREGS together. Simplifiers in recog.c and combine.c can't deal with such SUBREGS when they get constant insode so we at least miss optimizations. So the question is, whether are such subregs correct, if so we should probably docuemnt their semantics and add optimizations, if not, how to avoid these? Jakub: Does your (and Davids) SUBREG_BYTE work touch this issue somehow? Honza