mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 15:40:55 +08:00
re PR target/64160 (msp430 code generation error adding 32-bit integers)
PR target/64160 * config/msp430/msp430.md (addsi splitter): Do not split when the destination partially overlaps the source. From-SVN: r219058
This commit is contained in:
parent
923d093af2
commit
5704db3364
@ -1,3 +1,9 @@
|
||||
2014-12-24 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR target/64160
|
||||
* config/msp430/msp430.md (addsi splitter): Do not split when the
|
||||
destination partially overlaps the source.
|
||||
|
||||
2014-12-22 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
|
||||
|
||||
* ira-build.c (ira_flattening): Add the current
|
||||
|
@ -402,14 +402,16 @@
|
||||
operands[6] = msp430_subreg (HImode, operands[0], SImode, 2);
|
||||
operands[7] = msp430_subreg (HImode, operands[1], SImode, 2);
|
||||
operands[8] = msp430_subreg (HImode, operands[2], SImode, 2);
|
||||
|
||||
/* BZ 64160: Do not use this splitter when the dest partially overlaps the source. */
|
||||
if (reg_overlap_mentioned_p (operands[3], operands[7])
|
||||
|| reg_overlap_mentioned_p (operands[3], operands[8]))
|
||||
FAIL;
|
||||
|
||||
if (GET_CODE (operands[5]) == CONST_INT)
|
||||
{
|
||||
operands[9] = GEN_INT (INTVAL (operands[5]) & 0xffff);
|
||||
}
|
||||
operands[9] = GEN_INT (INTVAL (operands[5]) & 0xffff);
|
||||
else
|
||||
{
|
||||
operands[9] = gen_rtx_ZERO_EXTEND (SImode, operands[5]);
|
||||
}
|
||||
operands[9] = gen_rtx_ZERO_EXTEND (SImode, operands[5]);
|
||||
"
|
||||
)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user