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

--- Comment #7 from sudi at gcc dot gnu.org ---
Author: sudi
Date: Thu Jan 11 10:46:59 2018
New Revision: 256526

URL: https://gcc.gnu.org/viewcvs?rev=256526&root=gcc&view=rev
Log:
[PR82096] Fix ICE in int_mode_for_mode with arm-linux-gnueabi

The bug reported a particular test di-longlong64-sync-1.c failing when run
on arm-linux-gnueabi with options -mthumb -march=armv5t -O[g,1,2,3] and
-mthumb -march=armv6 -O[g,1,2,3].

The crash was caused because of the explicit VOIDmode argument that is sent
to emit_store_flag_force () and that the emit_store_flag_force () was not
handling the VOIDmode adequately. This patch fixes that.

ChangeLog entries:

*** gcc/ChangeLog ***

2017-01-11  Sudakshina Das  <sudi....@arm.com>

        PR target/82096
        * expmed.c (emit_store_flag_force): Swap if const op0
        and change VOIDmode to mode of op0.

*** gcc/testsuite/ChangeLog ***

2017-01-11  Sudakshina Das  <sudi....@arm.com>

        PR target/82096
        * gcc.c-torture/compile/pr82096.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr82096.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expmed.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to