[Bug middle-end/48027] New: setmem pattern using undesirable RTL

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 7 22:17:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48027

           Summary: setmem pattern using undesirable RTL
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jakub@gcc.gnu.org
                CC: rth@gcc.gnu.org


As mentioned in http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00335.html
setmem patterns on several targets (but also e.g. dse.c recognizes it) use
patterns like
(set (mem:BLK ...) (const_int N))
or
(set (mem:BLK ...) (reg:M X))
for memset (, N, ) and memset (, X, ).  This is a mode mismatch, we should come
up with something better, e.g. some RTL expression that gives BLKmode from
VOIDmode/QImode similar to VEC_DUPLICATE that would be used in that case.



More information about the Gcc-bugs mailing list