Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Building current
On Sun, Apr 07, 2013 at 10:55:14PM -0400, Mouse wrote:
> I speculate that it could fix this to just s/%1/%D1/ here. I'm going
> to start a test build in my simulator with this change, but it will
> take some three or four days to complete even if everything works fine,
> so if someone else can try this - or rather the analogous change to
> whichever version is in use - on something faster, that might be good.
I did the below patch (changing all occurances of ashq) and it seems to
work well, my test program from yesterday now disassembles as:
00010630 <main>:
10630: 40 00 .word 0x0040 # Entry mask: < r6 >
10632: c2 04 5e subl2 $0x4,sp
10635: d4 56 clrf r6
10637: 79 56 8f ff ashq r6,$0xffffffffffffffff,r2
1063b: ff ff ff ff
1063f: ff ff ff 52
Would you like to send the patch upstream or do you want me to handle that?
Thanks,
Martin
Index: vax.c
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc4/gcc/config/vax/vax.c,v
retrieving revision 1.18
diff -c -u -r1.18 vax.c
--- vax.c 5 Feb 2012 17:34:34 -0000 1.18
+++ vax.c 8 Apr 2013 08:14:13 -0000
@@ -1075,7 +1075,7 @@
{
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 @@
{
operands[1] = GEN_INT (hval >> n);
operands[2] = GEN_INT (n + 32);
- return "ashq %2,%1,%0";
+ return "ashq %2,%D1,%0";
#endif
}
}
Index: vax.md
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc4/gcc/config/vax/vax.md,v
retrieving revision 1.16
diff -c -u -r1.16 vax.md
--- vax.md 16 Jul 2012 17:39:29 -0000 1.16
+++ vax.md 8 Apr 2013 08:14:13 -0000
@@ -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
Home |
Main Index |
Thread Index |
Old Index