]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - gnu/usr.bin/cc/cc_tools/arm.md.diff
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / gnu / usr.bin / cc / cc_tools / arm.md.diff
1 $FreeBSD$
2 Index: arm.md
3 ===================================================================
4 RCS file: /cognet/ncvs/src/contrib/gcc/config/arm/arm.md,v
5 retrieving revision 1.1.1.7
6 diff -u -p -r1.1.1.7 arm.md
7 --- arm.md      3 Jun 2005 03:28:42 -0000       1.1.1.7
8 +++ arm.md      6 Nov 2006 02:44:36 -0000
9 @@ -8840,7 +8840,7 @@
10        val2 = INTVAL (XEXP (XEXP (operands[3], 0), 1));
11      arith[0] = operands[0];
12      arith[3] = operands[1];
13 -    if (val1 < val2)
14 +    if (val1 <= val2)
15        {
16         arith[1] = ldm[1];
17         arith[2] = ldm[2];
18 @@ -8870,7 +8870,7 @@
19         else
20           output_asm_insn (\"ldm%?ia\\t%0, {%1, %2}\", ldm);
21        }
22 -    else
23 +    else if (val2)
24        {
25         ldm[0] = XEXP (operands[2], 0);
26         if (val1 < val2)
27 @@ -8878,6 +8878,14 @@
28         else
29           output_asm_insn (\"ldm%?da\\t%0, {%1, %2}\", ldm);
30        }
31 +   else {
32 +       ldm[0] = operands[0];
33 +       ldm[1] = XEXP(operands[2], 0);
34 +       output_asm_insn(\"ldr\\t%0, [%1]\", ldm);
35 +       ldm[0] = operands[4];
36 +       ldm[1] = XEXP(operands[3], 0);
37 +       output_asm_insn(\"ldr\\t%0, [%1]\", ldm);
38 +   }
39      output_asm_insn (\"%I3%?\\t%0, %1, %2\", arith);
40      return \"\";
41    }"