This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Internal compiler error building libstdc++ for vax
- From: "Maciej W. Rozycki" <macro at linux-mips dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: coypu at sdf dot org, gcc at gcc dot gnu dot org
- Date: Tue, 10 Apr 2018 20:27:56 +0100 (BST)
- Subject: Re: Internal compiler error building libstdc++ for vax
- References: <20180315134028.GA6828@SDF.ORG> <20180319214624.GB10992@SDF.ORG> <56c02aa2-4d72-5c41-1160-af8e1ad52dae@redhat.com> <20180402161526.GA22938@SDF.ORG> <8de91fe0-dc79-b92e-dfdc-281de90b61e9@redhat.com>
On Sun, 8 Apr 2018, Jeff Law wrote:
> I think you need to go back to my earlier reply and read it carefully.
> In particular, you need an insn where the label_ref and pc are swapped.
Ouch, there are no reversed interlocked branch instructions in the VAX
ISA, so these would have to branch around a jump. Like say:
(define_insn "*jbbssisi_reversed"
[(parallel
[(set (pc)
(if_then_else
(ne (zero_extract:SI (match_operand:SI 0 "memory_operand" "Q")
(const_int 1)
(match_operand:SI 1 "general_operand" "nrm"))
(const_int 0))
(pc))
(label_ref (match_operand 2 "" "")))
(set (zero_extract:SI (match_operand:SI 3 "memory_operand" "+0")
(const_int 1)
(match_dup 1))
(const_int 1))])]
""
"jbssi %1,%0,0f;jbr %l2;0:")
and likewise with the other modes.
Is this what you have in mind?
Maciej