public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/98221] New: [11 regression] Wrong unpack operation emitted in tree-ssa-forwprop.c
@ 2020-12-10  8:58 krebbel at gcc dot gnu.org
  2020-12-10  8:58 ` [Bug tree-optimization/98221] " krebbel at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-12-10  8:58 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98221
           Summary: [11 regression] Wrong unpack operation emitted in
                    tree-ssa-forwprop.c
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: krebbel at gcc dot gnu.org
  Target Milestone: ---

Created attachment 49728
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49728&action=edit
Fix

The vec-abi-varargs-1.c testcase on IBM Z currently fails.

While adding an SI mode vector to a DI mode vector the first is unpacked using:

  _28 = BIT_INSERT_EXPR <{ 0, 0, 0, 0 }, _2, 0>;
  _34 = [vec_unpack_lo_expr] _28;

However, on big endian targets lo refers to the right hand side of the vector -
in this case the zeroes.


This appears to be triggered with that patch:


commit 78307657cf9675bc4aa2e77561c823834714b4c8                                 
Author: Richard Biener <rguenther@suse.de>                                      
Date:   Thu Nov 28 12:22:04 2019 +0000                                          

    re PR tree-optimization/92645 (Hand written vector code is 450 times slower
when compiled with GCC compared to Clang)                                       

    2019-11-28  Richard Biener  <rguenther@suse.de>                             

            PR tree-optimization/92645                                          
            * tree-ssa-forwprop.c (get_bit_field_ref_def): Also handle          
            conversions inside a mode class.  Remove restriction on             
            preserving the element size.                                        
            (simplify_vector_constructor): Deal with the above and for          
            identity permutes also try using VEC_UNPACK_[FLOAT_]LO_EXPR         
            and VEC_PACK_TRUNC_EXPR.                                            

            * gcc.target/i386/pr92645-4.c: New testcase.

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

end of thread, other threads:[~2021-01-12  9:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-10  8:58 [Bug tree-optimization/98221] New: [11 regression] Wrong unpack operation emitted in tree-ssa-forwprop.c krebbel at gcc dot gnu.org
2020-12-10  8:58 ` [Bug tree-optimization/98221] " krebbel at gcc dot gnu.org
2020-12-10 10:21 ` rguenth at gcc dot gnu.org
2020-12-10 10:33 ` rguenth at gcc dot gnu.org
2020-12-10 10:33 ` [Bug tree-optimization/98221] [10/11 " rguenth at gcc dot gnu.org
2020-12-10 11:27 ` rsandifo at gcc dot gnu.org
2020-12-10 11:50 ` krebbel at gcc dot gnu.org
2020-12-10 12:00 ` rguenth at gcc dot gnu.org
2021-01-11 10:47 ` [Bug tree-optimization/98221] [10 " rguenth at gcc dot gnu.org
2021-01-12  9:51 ` cvs-commit at gcc dot gnu.org
2021-01-12  9:52 ` rguenth 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).