Module Name: src
Committed By: martin
Date: Mon Apr 8 12:10:54 UTC 2013
Modified Files:
src/external/gpl3/gcc/dist/gcc/config/vax: vax.c vax.md
src/gnu/dist/gcc4/gcc/config/vax: vax.c vax.md
Log Message:
Fix "ashq" second argument sign extension (the assembler does not treat
-1 as a 64bit value).
Upstream reported as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56875
Problemm noted by Jonny Billquist (in lint), hint for solution from mouse.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/gcc/config/vax/vax.c
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gcc/dist/gcc/config/vax/vax.md
cvs rdiff -u -r1.18 -r1.19 src/gnu/dist/gcc4/gcc/config/vax/vax.c
cvs rdiff -u -r1.16 -r1.17 src/gnu/dist/gcc4/gcc/config/vax/vax.md
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/config/vax/vax.c
diff -u src/external/gpl3/gcc/dist/gcc/config/vax/vax.c:1.2 src/external/gpl3/gcc/dist/gcc/config/vax/vax.c:1.3
--- src/external/gpl3/gcc/dist/gcc/config/vax/vax.c:1.2 Sun Feb 5 17:38:21 2012
+++ src/external/gpl3/gcc/dist/gcc/config/vax/vax.c Mon Apr 8 12:10:53 2013
@@ -1153,7 +1153,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_
{
operands[1] = GEN_INT (lval);
operands[2] = GEN_INT (n);
- return "ashq %2,%1,%0";
+ return "ashq %2,%D1,%0";
}
#if HOST_BITS_PER_WIDE_INT == 32
}
@@ -1165,7 +1165,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_
{
operands[1] = GEN_INT (hval >> n);
operands[2] = GEN_INT (n + 32);
- return "ashq %2,%1,%0";
+ return "ashq %2,%D1,%0";
#endif
}
}
Index: src/external/gpl3/gcc/dist/gcc/config/vax/vax.md
diff -u src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.3 src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.4
--- src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.3 Sun Feb 5 17:38:21 2012
+++ src/external/gpl3/gcc/dist/gcc/config/vax/vax.md Mon Apr 8 12:10:54 2013
@@ -701,14 +701,14 @@
(ashift:DI (match_operand:DI 1 "general_operand" "g")
(match_operand:QI 2 "general_operand" "g")))]
""
- "ashq %2,%1,%0")
+ "ashq %2,%D1,%0")
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=g")
(ashiftrt:DI (match_operand:DI 1 "general_operand" "g")
(neg:QI (match_operand:QI 2 "general_operand" "g"))))]
""
- "ashq %2,%1,%0")
+ "ashq %2,%D1,%0")
;; We used to have expand_shift handle logical right shifts by using extzv,
;; but this make it very difficult to do lshrdi3. Since the VAX is the
Index: src/gnu/dist/gcc4/gcc/config/vax/vax.c
diff -u src/gnu/dist/gcc4/gcc/config/vax/vax.c:1.18 src/gnu/dist/gcc4/gcc/config/vax/vax.c:1.19
--- src/gnu/dist/gcc4/gcc/config/vax/vax.c:1.18 Sun Feb 5 17:34:34 2012
+++ src/gnu/dist/gcc4/gcc/config/vax/vax.c Mon Apr 8 12:10:53 2013
@@ -1075,7 +1075,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_
{
operands[1] = GEN_INT (lval);
operands[2] = GEN_INT (n);
- return "ashq %2,%1,%0";
+ return "ashq %2,%D1,%0";
}
#if HOST_BITS_PER_WIDE_INT == 32
}
@@ -1087,7 +1087,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_
{
operands[1] = GEN_INT (hval >> n);
operands[2] = GEN_INT (n + 32);
- return "ashq %2,%1,%0";
+ return "ashq %2,%D1,%0";
#endif
}
}
Index: src/gnu/dist/gcc4/gcc/config/vax/vax.md
diff -u src/gnu/dist/gcc4/gcc/config/vax/vax.md:1.16 src/gnu/dist/gcc4/gcc/config/vax/vax.md:1.17
--- src/gnu/dist/gcc4/gcc/config/vax/vax.md:1.16 Mon Jul 16 17:39:29 2012
+++ src/gnu/dist/gcc4/gcc/config/vax/vax.md Mon Apr 8 12:10:53 2013
@@ -724,14 +724,14 @@
(ashift:DI (match_operand:DI 1 "general_operand" "g")
(match_operand:QI 2 "general_operand" "g")))]
""
- "ashq %2,%1,%0")
+ "ashq %2,%D1,%0")
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=g")
(ashiftrt:DI (match_operand:DI 1 "general_operand" "g")
(neg:QI (match_operand:QI 2 "general_operand" "g"))))]
""
- "ashq %2,%1,%0")
+ "ashq %2,%D1,%0")
;; We used to have expand_shift handle logical right shifts by using extzv,
;; but this make it very difficult to do lshrdi3. Since the VAX is the