public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/55549] New: zero_extend and vectors
@ 2012-11-30 14:29 glisse at gcc dot gnu.org
  2021-08-22  8:59 ` [Bug rtl-optimization/55549] " pinskia at gcc dot gnu.org
  2021-08-23 15:32 ` segher at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: glisse at gcc dot gnu.org @ 2012-11-30 14:29 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 55549
           Summary: zero_extend and vectors
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: glisse@gcc.gnu.org


Hello,

the documentation of zero_extend says:

@findex zero_extend
@item (zero_extend:@var{m} @var{x})
Represents the result of zero-extending the value @var{x}
to machine mode @var{m}.  @var{m} must be a fixed-point mode
and @var{x} a fixed-point value of a mode narrower than @var{m}.

However, try_combine will happily call:

                SUBST (*split, gen_rtx_ZERO_EXTEND (split_mode,
                                                    SUBREG_REG (*split)));

without many checks. In particular, in PR54855, it tries:

     (zero_extend:V2DF (mem/u/c:DF ...))

It isn't a bug because nothing will recognize this pattern and it will be
rejected, but it seems it would be good to add a few conditions.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug rtl-optimization/55549] zero_extend and vectors
  2012-11-30 14:29 [Bug rtl-optimization/55549] New: zero_extend and vectors glisse at gcc dot gnu.org
@ 2021-08-22  8:59 ` pinskia at gcc dot gnu.org
  2021-08-23 15:32 ` segher at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-22  8:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55549

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Keywords|                            |internal-improvement
   Last reconfirmed|                            |2021-08-22
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Still there:
#ifdef INSN_SCHEDULING
          /* If *SPLIT is a paradoxical SUBREG, when we split it, it should
             be written as a ZERO_EXTEND.  */
          if (split_code == SUBREG && MEM_P (SUBREG_REG (*split)))
            {
              /* Or as a SIGN_EXTEND if LOAD_EXTEND_OP says that that's
                 what it really is.  */
              if (load_extend_op (GET_MODE (SUBREG_REG (*split)))
                  == SIGN_EXTEND)
                SUBST (*split, gen_rtx_SIGN_EXTEND (split_mode,
                                                    SUBREG_REG (*split)));
              else
                SUBST (*split, gen_rtx_ZERO_EXTEND (split_mode,
                                                    SUBREG_REG (*split)));
            }
#endif

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug rtl-optimization/55549] zero_extend and vectors
  2012-11-30 14:29 [Bug rtl-optimization/55549] New: zero_extend and vectors glisse at gcc dot gnu.org
  2021-08-22  8:59 ` [Bug rtl-optimization/55549] " pinskia at gcc dot gnu.org
@ 2021-08-23 15:32 ` segher at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: segher at gcc dot gnu.org @ 2021-08-23 15:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55549

--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Three things:

1) It was invalid *before* this, already (vector mode paradoxical subregs
make no sense);
2) The subreg needs to be fixed up *somehow*, too;
3) subreg of mem will go away any day now (or, I keep telling myself that).

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-23 15:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-30 14:29 [Bug rtl-optimization/55549] New: zero_extend and vectors glisse at gcc dot gnu.org
2021-08-22  8:59 ` [Bug rtl-optimization/55549] " pinskia at gcc dot gnu.org
2021-08-23 15:32 ` segher at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).