]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PR82096] Fix ICE in int_mode_for_mode with arm-linux-gnueabi
authorsudi <sudi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Jan 2018 10:46:59 +0000 (10:46 +0000)
committersudi <sudi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Jan 2018 10:46:59 +0000 (10:46 +0000)
commite09aa59a85c0e3f8257ca2bbaa39b7e96666397d
treea7edf0de0080b6461ea0a4b6a5a37f3aea77a792
parentc6d32064fcb38b290cf734da1a997000de0389e4
[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.das@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.das@arm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256526 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr82096.c [new file with mode: 0644]