public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
@ 2020-03-10 12:32 lizekun1 at huawei dot com
  2020-03-10 13:02 ` [Bug target/94121] " lizekun1 at huawei dot com
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: lizekun1 at huawei dot com @ 2020-03-10 12:32 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94121
           Summary: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lizekun1 at huawei dot com
  Target Milestone: ---

I find an ICE when testing GCC10.0 on aarch64 at -O2 -fpie with POC below:

---

#define DIFF_MAX __PTRDIFF_MAX__
#define DIFF_MIN (-DIFF_MAX - 1)

extern
void foo ();

void test_global_char_array (void)
{
  extern char gcar3[1];
  char *p = gcar3;
  foo (&p[DIFF_MIN]);
}

---

GCC version:
gcc version 10.0.1 20200302 (experimental)

Runcommand:
gcc poc.c -O2 -fpie -fno-diagnostics-show-caret -S -o poc.s

Stack dump:
internal compiler error: in abs_hwi, at hwint.h:324
0xf477f3 abs_hwi(long)
        gcc-10.0/gcc/hwint.h:324
0x18078ef aarch64_add_offset_1
        gcc-10.0/gcc/config/aarch64/aarch64.c:3716
0x18089bf aarch64_add_offset
        gcc-10.0/gcc/config/aarch64/aarch64.c:4002
0x180a7df aarch64_expand_mov_immediate(rtx_def*, rtx_def*)
        gcc-10.0/gcc/config/aarch64/aarch64.c:4632
0x1d0f87b gen_movdi(rtx_def*, rtx_def*)
        gcc-10.0/gcc/config/aarch64/aarch64.md:1196
0xd9547b insn_gen_fn::operator()(rtx_def*, rtx_def*) const
        gcc-10.0/gcc/recog.h:317
0xd6e813 emit_move_insn_1(rtx_def*, rtx_def*)
        gcc-10.0/gcc/expr.c:3754
0xd6ee2f emit_move_insn(rtx_def*, rtx_def*)
        gcc-10.0/gcc/expr.c:3850
0xba4d9f load_register_parameters
        gcc-10.0/gcc/calls.c:3147
0xba8ac3 expand_call(tree_node*, rtx_def*, int)
        gcc-10.0/gcc/calls.c:4593
0xd8e0bf expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        gcc-10.0/gcc/expr.c:11130
0xd80d57 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        gcc-10.0/gcc/expr.c:8353
0xbc50d7 expand_expr
        gcc-10.0/gcc/expr.h:282
0xbcf023 expand_call_stmt
        gcc-10.0/gcc/cfgexpand.c:2703
0xbd2783 expand_gimple_stmt_1
        gcc-10.0/gcc/cfgexpand.c:3682
0xbd2ef7 expand_gimple_stmt
        gcc-10.0/gcc/cfgexpand.c:3847
0xbd2fff expand_gimple_tailcall
        gcc-10.0/gcc/cfgexpand.c:3893
0xbdbb4b expand_gimple_basic_block
        gcc-10.0/gcc/cfgexpand.c:5864
0xbddaf7 execute
        gcc-10.0/gcc/cfgexpand.c:6542
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
@ 2020-03-10 13:02 ` lizekun1 at huawei dot com
  2020-03-10 14:03 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: lizekun1 at huawei dot com @ 2020-03-10 13:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Zekun Li <lizekun1 at huawei dot com> ---
Created attachment 48010
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48010&action=edit
[PATCH PR94121] fix ICE on aarch64 in abs_hwi, at hwint.h:324

This is a fix tring to solve the problem.

With this fix, offset does not take absolute value if it equals to the minimum
value of machine.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
  2020-03-10 13:02 ` [Bug target/94121] " lizekun1 at huawei dot com
@ 2020-03-10 14:03 ` jakub at gcc dot gnu.org
  2020-03-10 15:52 ` wilco at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-03-10 14:03 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Comment on attachment 48010
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48010
[PATCH PR94121] fix ICE on aarch64 in abs_hwi, at hwint.h:324

Can't you instead just use absu_hwi instead of abs_hwi and change moffset type
to unsigned HOST_WIDE_INT?  With the latter, the moffset < 0x1000000 comparison
will DTRT and for HOST_WIDE_INT_MIN DImode it really doesn't matter if we use
addition or subtraction.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
  2020-03-10 13:02 ` [Bug target/94121] " lizekun1 at huawei dot com
  2020-03-10 14:03 ` jakub at gcc dot gnu.org
@ 2020-03-10 15:52 ` wilco at gcc dot gnu.org
  2020-03-10 16:10 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: wilco at gcc dot gnu.org @ 2020-03-10 15:52 UTC (permalink / raw)
  To: gcc-bugs

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

Wilco <wilco at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilco at gcc dot gnu.org

--- Comment #3 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> Comment on attachment 48010 [details]
> [PATCH PR94121] fix ICE on aarch64 in abs_hwi, at hwint.h:324
> 
> Can't you instead just use absu_hwi instead of abs_hwi and change moffset
> type to unsigned HOST_WIDE_INT?  With the latter, the moffset < 0x1000000
> comparison will DTRT and for HOST_WIDE_INT_MIN DImode it really doesn't
> matter if we use addition or subtraction.

Yes that works fine.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (2 preceding siblings ...)
  2020-03-10 15:52 ` wilco at gcc dot gnu.org
@ 2020-03-10 16:10 ` jakub at gcc dot gnu.org
  2020-03-11  6:40 ` lizekun1 at huawei dot com
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-03-10 16:10 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
   Last reconfirmed|                            |2020-03-10
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 48013
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48013&action=edit
gcc10-pr94121.patch

Ok, I'll test this then.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (3 preceding siblings ...)
  2020-03-10 16:10 ` jakub at gcc dot gnu.org
@ 2020-03-11  6:40 ` lizekun1 at huawei dot com
  2020-03-11 12:01 ` marxin at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: lizekun1 at huawei dot com @ 2020-03-11  6:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Zekun Li <lizekun1 at huawei dot com> ---
(In reply to Jakub Jelinek from comment #4)
> Created attachment 48013 [details]
> gcc10-pr94121.patch
> 
> Ok, I'll test this then.

Yes, it seems more concise.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (4 preceding siblings ...)
  2020-03-11  6:40 ` lizekun1 at huawei dot com
@ 2020-03-11 12:01 ` marxin at gcc dot gnu.org
  2020-03-13 11:19 ` marxin at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-11 12:01 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
commit r10-7123-g42bc589e87a326282be2156ddeb18588677c645d
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Mar 11 10:54:22 2020 +0100

    aarch64: Fix ICE in aarch64_add_offset_1 [PR94121]

    abs_hwi asserts that the argument is not HOST_WIDE_INT_MIN and as the
    (invalid) testcase shows, the function can be called with such an offset.
    The following patch is IMHO minimal fix, absu_hwi unlike abs_hwi allows
even
    that value and will return (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN
    in that case.  The function then uses moffset in two spots which wouldn't
    care if the value is (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN or
    HOST_WIDE_INT_MIN and wouldn't accept it (!moffset and
    aarch64_uimm12_shift (moffset)), then in one spot where the signedness of
    moffset does matter and using unsigned is the right thing -
    moffset < 0x1000000 - and finally has code which will handle even this
    value right; the assembler doesn't really care for DImode immediates if
            mov     x1, -9223372036854775808
    or
            mov     x1, 9223372036854775808
    is used and similarly it doesn't matter if we add or sub it in DImode.

    2020-03-11  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
            instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.

            * gcc.dg/pr94121.c: New test.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (5 preceding siblings ...)
  2020-03-11 12:01 ` marxin at gcc dot gnu.org
@ 2020-03-13 11:19 ` marxin at gcc dot gnu.org
  2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-13 11:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
commit r10-7155-g7aa605c9d4643dc6e0a0460e5697c02457cd7278
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Mar 13 11:33:16 2020 +0100

    aarch64: Fix another bug in aarch64_add_offset_1 [PR94121]

    > I'm getting this ICE with -mabi=ilp32:
    >
    > during RTL pass: fwprop1
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c: In function 'bar':
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c:16:1: internal
compiler error: in decompose, at rtl.h:2279

    That is a preexisting issue, caused by another bug in the same function.
    When mode is SImode and moffset is 0x80000000 (or anything else with the
    bit 31 set), we need to sign-extend it.

    2020-03-13  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
            instead of GEN_INT.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (6 preceding siblings ...)
  2020-03-13 11:19 ` marxin at gcc dot gnu.org
@ 2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
  2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-03-17 18:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:a644079a702a6228df2ffaace1d88a5f74e4bb9f

commit r9-8390-ga644079a702a6228df2ffaace1d88a5f74e4bb9f
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Mar 11 10:54:22 2020 +0100

    aarch64: Fix ICE in aarch64_add_offset_1 [PR94121]

    abs_hwi asserts that the argument is not HOST_WIDE_INT_MIN and as the
    (invalid) testcase shows, the function can be called with such an offset.
    The following patch is IMHO minimal fix, absu_hwi unlike abs_hwi allows
even
    that value and will return (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN
    in that case.  The function then uses moffset in two spots which wouldn't
    care if the value is (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN or
    HOST_WIDE_INT_MIN and wouldn't accept it (!moffset and
    aarch64_uimm12_shift (moffset)), then in one spot where the signedness of
    moffset does matter and using unsigned is the right thing -
    moffset < 0x1000000 - and finally has code which will handle even this
    value right; the assembler doesn't really care for DImode immediates if
            mov     x1, -9223372036854775808
    or
            mov     x1, 9223372036854775808
    is used and similarly it doesn't matter if we add or sub it in DImode.

    2020-03-11  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
            instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.

            * gcc.dg/pr94121.c: New test.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (7 preceding siblings ...)
  2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
@ 2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
  2020-09-17 14:24 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-03-17 18:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:c2f836c413b1e9ae45598338b4a2ecd33bd926fb

commit r9-8395-gc2f836c413b1e9ae45598338b4a2ecd33bd926fb
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Mar 13 11:33:16 2020 +0100

    aarch64: Fix another bug in aarch64_add_offset_1 [PR94121]

    > I'm getting this ICE with -mabi=ilp32:
    >
    > during RTL pass: fwprop1
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c: In function 'bar':
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c:16:1: internal
compiler error: in decompose, at rtl.h:2279

    That is a preexisting issue, caused by another bug in the same function.
    When mode is SImode and moffset is 0x80000000 (or anything else with the
    bit 31 set), we need to sign-extend it.

    2020-03-13  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
            instead of GEN_INT.

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (8 preceding siblings ...)
  2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 14:24 ` cvs-commit at gcc dot gnu.org
  2020-09-17 14:25 ` cvs-commit at gcc dot gnu.org
  2020-09-17 17:17 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-17 14:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:5f6826f724348c4e1317c15ea4cea01d5604fc39

commit r8-10461-g5f6826f724348c4e1317c15ea4cea01d5604fc39
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Mar 11 10:54:22 2020 +0100

    aarch64: Fix ICE in aarch64_add_offset_1 [PR94121]

    abs_hwi asserts that the argument is not HOST_WIDE_INT_MIN and as the
    (invalid) testcase shows, the function can be called with such an offset.
    The following patch is IMHO minimal fix, absu_hwi unlike abs_hwi allows
even
    that value and will return (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN
    in that case.  The function then uses moffset in two spots which wouldn't
    care if the value is (unsigned HOST_WIDE_INT) HOST_WIDE_INT_MIN or
    HOST_WIDE_INT_MIN and wouldn't accept it (!moffset and
    aarch64_uimm12_shift (moffset)), then in one spot where the signedness of
    moffset does matter and using unsigned is the right thing -
    moffset < 0x1000000 - and finally has code which will handle even this
    value right; the assembler doesn't really care for DImode immediates if
            mov     x1, -9223372036854775808
    or
            mov     x1, 9223372036854775808
    is used and similarly it doesn't matter if we add or sub it in DImode.

    2020-03-11  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
            instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.

            * gcc.dg/pr94121.c: New test.

    (cherry picked from commit a644079a702a6228df2ffaace1d88a5f74e4bb9f)

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (9 preceding siblings ...)
  2020-09-17 14:24 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 14:25 ` cvs-commit at gcc dot gnu.org
  2020-09-17 17:17 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-17 14:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:ce8325e77d923a11dce089a7ef3a24b4737bf95f

commit r8-10466-gce8325e77d923a11dce089a7ef3a24b4737bf95f
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Mar 13 11:33:16 2020 +0100

    aarch64: Fix another bug in aarch64_add_offset_1 [PR94121]

    > I'm getting this ICE with -mabi=ilp32:
    >
    > during RTL pass: fwprop1
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c: In function 'bar':
    > /opt/gcc/gcc-20200312/gcc/testsuite/gcc.dg/pr94121.c:16:1: internal
compiler error: in decompose, at rtl.h:2279

    That is a preexisting issue, caused by another bug in the same function.
    When mode is SImode and moffset is 0x80000000 (or anything else with the
    bit 31 set), we need to sign-extend it.

    2020-03-13  Jakub Jelinek  <jakub@redhat.com>

            PR target/94121
            * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
            instead of GEN_INT.

    (cherry picked from commit c2f836c413b1e9ae45598338b4a2ecd33bd926fb)

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

* [Bug target/94121] ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324
  2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
                   ` (10 preceding siblings ...)
  2020-09-17 14:25 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 17:17 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-09-17 17:17 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 8.5, 9.4+ and 10.1+.

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

end of thread, other threads:[~2020-09-17 17:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10 12:32 [Bug c/94121] New: ICE on aarch64-linux-gnu: in abs_hwi, at hwint.h:324 lizekun1 at huawei dot com
2020-03-10 13:02 ` [Bug target/94121] " lizekun1 at huawei dot com
2020-03-10 14:03 ` jakub at gcc dot gnu.org
2020-03-10 15:52 ` wilco at gcc dot gnu.org
2020-03-10 16:10 ` jakub at gcc dot gnu.org
2020-03-11  6:40 ` lizekun1 at huawei dot com
2020-03-11 12:01 ` marxin at gcc dot gnu.org
2020-03-13 11:19 ` marxin at gcc dot gnu.org
2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
2020-03-17 18:57 ` cvs-commit at gcc dot gnu.org
2020-09-17 14:24 ` cvs-commit at gcc dot gnu.org
2020-09-17 14:25 ` cvs-commit at gcc dot gnu.org
2020-09-17 17:17 ` jakub 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).