[Bug target/105856] [13 Regression] ice in emit_move_insn, at expr.cc:4011

roger at nextmovesoftware dot com gcc-bugzilla@gcc.gnu.org
Sun Jun 5 21:31:42 GMT 2022


Roger Sayle <roger at nextmovesoftware dot com> changed:

           What    |Removed                     |Added
            Summary|ice in emit_move_insn, at   |[13 Regression] ice in
                   |expr.cc:4011                |emit_move_insn, at
                   |                            |expr.cc:4011
           Assignee|unassigned at gcc dot gnu.org      |roger at nextmovesoftware dot com
                 CC|                            |roger at nextmovesoftware dot com
           Priority|P3                          |P1
            Version|12.0                        |13.0
             Status|UNCONFIRMED                 |ASSIGNED
           Keywords|                            |ice-on-valid-code
   Target Milestone|---                         |13.0
   Last reconfirmed|                            |2022-06-05
             Target|                            |arm*
     Ever confirmed|0                           |1

--- Comment #2 from Roger Sayle <roger at nextmovesoftware dot com> ---
Mine.  Sorry for the breakage.  I've a fix that avoids the ICE on ARM, and
allows GCC to generate the following code for this testcase:
        mov     r0, #6
        b       func_19
[i.e. the same code as without the #pragma pack(1)].
This is a big improvement on GCC v12 which generates
(both with and without #pragma pack(1)):

  movw r3, #:lower16:.LANCHOR0
  movt r3, #:upper16:.LANCHOR0
  ldr r0, [r3]
  b func_19

I'm bootstrapping and regression testing on x86_64 now.

More information about the Gcc-bugs mailing list