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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-05-13
   Target Milestone|---                         |14.0
            Summary|internal compiler error: in |[14 Regression] internal
                   |expand_fn_using_insn, at    |compiler error: in
                   |internal-fn.cc:153 when     |expand_fn_using_insn, at
                   |building graphite2          |internal-fn.cc:153 when
                   |                            |building graphite2
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |pinskia at gcc dot gnu.org,
                   |                            |roger at nextmovesoftware dot 
com

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(gdb) p debug_gimple_stmt(stmt)
_5 = .POPCOUNT (load_dst_15);


  short unsigned int load_dst_15;

  <bb 2> [local count: 1073741824]:
  load_dst_15 = MEM <short unsigned int> [(unsigned char *)&Loaderthrow_p];
  _5 = .POPCOUNT (load_dst_15);

In forwprop4:
gimple_simplified to _5 = .POPCOUNT (load_dst_15);


Before:
  load_dst_15 = MEM <short unsigned int> [(unsigned char *)&Loaderthrow_p];
  bswapdst_16 = load_dst_15 r>> 8;
  r_14 = (unsigned int) bswapdst_16;
  _5 = .POPCOUNT (r_14);


aarch64 has a popcountsi2 pattern but does not have a popcounthi2 pattern.

Using the internal function here is definitely an issue without checking which
patterns the backend has.

Confirmed.

Reply via email to