| @@ -1,20 +1,20 @@ | | | @@ -1,20 +1,20 @@ |
1 | $NetBSD: patch-gcc-config-vax-vax.md,v 1.1 2013/10/24 18:31:12 martin Exp $ | | 1 | $NetBSD: patch-gcc-config-vax-vax.md,v 1.2 2013/10/24 19:25:43 martin Exp $ |
2 | | | 2 | |
3 | Part of upstream change rev. 202796, additionally change from Matt Thomas | | 3 | Part of upstream change rev. 202796, additionally change from Matt Thomas |
4 | to fix http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58442. | | 4 | to fix http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58442. |
5 | | | 5 | |
6 | --- gcc/config/vax/vax.md.orig 2013-01-15 22:30:24.000000000 +0100 | | 6 | --- gcc/config/vax/vax.md.orig 2013-01-15 22:30:24.000000000 +0100 |
7 | +++ gcc/config/vax/vax.md 2013-10-24 18:21:32.000000000 +0200 | | 7 | +++ gcc/config/vax/vax.md 2013-10-24 21:18:17.000000000 +0200 |
8 | @@ -697,14 +697,14 @@ | | 8 | @@ -697,14 +697,14 @@ |
9 | (ashift:DI (match_operand:DI 1 "general_operand" "g") | | 9 | (ashift:DI (match_operand:DI 1 "general_operand" "g") |
10 | (match_operand:QI 2 "general_operand" "g")))] | | 10 | (match_operand:QI 2 "general_operand" "g")))] |
11 | "" | | 11 | "" |
12 | - "ashq %2,%1,%0") | | 12 | - "ashq %2,%1,%0") |
13 | + "ashq %2,%D1,%0") | | 13 | + "ashq %2,%D1,%0") |
14 | | | 14 | |
15 | (define_insn "" | | 15 | (define_insn "" |
16 | [(set (match_operand:DI 0 "nonimmediate_operand" "=g") | | 16 | [(set (match_operand:DI 0 "nonimmediate_operand" "=g") |
17 | (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") | | 17 | (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") |
18 | (neg:QI (match_operand:QI 2 "general_operand" "g"))))] | | 18 | (neg:QI (match_operand:QI 2 "general_operand" "g"))))] |
19 | "" | | 19 | "" |
20 | - "ashq %2,%1,%0") | | 20 | - "ashq %2,%1,%0") |
| @@ -36,23 +36,25 @@ to fix http://gcc.gnu.org/bugzilla/show_ | | | @@ -36,23 +36,25 @@ to fix http://gcc.gnu.org/bugzilla/show_ |
36 | if (REG_P (operands[0])) | | 36 | if (REG_P (operands[0])) |
37 | @@ -810,8 +811,9 @@ | | 37 | @@ -810,8 +811,9 @@ |
38 | "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16) | | 38 | "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16) |
39 | && INTVAL (operands[3]) % INTVAL (operands[2]) == 0 | | 39 | && INTVAL (operands[3]) % INTVAL (operands[2]) == 0 |
40 | && (REG_P (operands[1]) | | 40 | && (REG_P (operands[1]) |
41 | - || ! mode_dependent_address_p (XEXP (operands[1], 0), | | 41 | - || ! mode_dependent_address_p (XEXP (operands[1], 0), |
42 | - MEM_ADDR_SPACE (operands[1])))" | | 42 | - MEM_ADDR_SPACE (operands[1])))" |
43 | + || (MEM_P(operands[1]) | | 43 | + || (MEM_P(operands[1]) |
44 | + && ! mode_dependent_address_p (XEXP (operands[1], 0), | | 44 | + && ! mode_dependent_address_p (XEXP (operands[1], 0), |
45 | + MEM_ADDR_SPACE (operands[1]))))" | | 45 | + MEM_ADDR_SPACE (operands[1]))))" |
46 | "* | | 46 | "* |
47 | { | | 47 | { |
48 | if (REG_P (operands[1])) | | 48 | if (REG_P (operands[1])) |
49 | @@ -838,7 +840,8 @@ | | 49 | @@ -838,8 +840,9 @@ |
50 | "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16) | | 50 | "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16) |
51 | && INTVAL (operands[3]) % INTVAL (operands[2]) == 0 | | 51 | && INTVAL (operands[3]) % INTVAL (operands[2]) == 0 |
52 | && (REG_P (operands[1]) | | 52 | && (REG_P (operands[1]) |
53 | - || ! mode_dependent_address_p (XEXP (operands[1], 0), | | 53 | - || ! mode_dependent_address_p (XEXP (operands[1], 0), |
| | | 54 | - MEM_ADDR_SPACE (operands[1])))" |
54 | + || (MEM_P(operands[1]) | | 55 | + || (MEM_P(operands[1]) |
55 | + && ! mode_dependent_address_p (XEXP (operands[1], 0), | | 56 | + && ! mode_dependent_address_p (XEXP (operands[1], 0), |
56 | MEM_ADDR_SPACE (operands[1])))" | | 57 | + MEM_ADDR_SPACE (operands[1]))))" |
57 | "* | | 58 | "* |
58 | { | | 59 | { |
| | | 60 | if (REG_P (operands[1])) |