From 576fe41adc751a29ba41b01cce29baec4bb481b3 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 14 Feb 2013 17:41:29 -0800 Subject: [PATCH] re PR target/55941 (Strange copy of double (in struct) to stack) PR target/55941 * lower-subreg.c (simple_move): Check dest mode instead of src mode. From-SVN: r196071 --- gcc/ChangeLog | 5 +++++ gcc/lower-subreg.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49739f2e0e2..e8ca6ee628d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-02-14 Richard Henderson + + PR target/55941 + * lower-subreg.c (simple_move): Check dest mode instead of src mode. + 2013-02-14 Steven Bosscher * collect2-aix.h: Define F_LOADONLY. diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index 5bf6cc1e068..228d3a28eae 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -343,7 +343,7 @@ simple_move (rtx insn, bool speed_p) registers. That means that we can't decompose if this is a non-integer mode for which there is no integer mode of the same size. */ - mode = GET_MODE (SET_SRC (set)); + mode = GET_MODE (SET_DEST (set)); if (!SCALAR_INT_MODE_P (mode) && (mode_for_size (GET_MODE_SIZE (mode) * BITS_PER_UNIT, MODE_INT, 0) == BLKmode)) -- 2.30.2