assembler problem with gcc on Pyramid

Ken McDonell kenj at yarra.oz.au
Tue Aug 7 11:43:37 AEST 1990


jonathan at comp.vuw.ac.nz (Jonathan) writes:


>In article <1990Aug5.034045.2636 at monu6.cc.monash.edu.au> rdt201x at monu6.cc.monash.edu.au (mr  c.m. greif) writes:
[ stuff deleted ... see my earlier posting re. original problem ]

>The OSx 5.0 assembler seems to be saying that,  on ISIS machines,
>the cvtfw and cvtfd instructions clobber their source operand, and
>that therefore the source operand of these instructions may not
>overlap the destination operand. I know how to fix GCC for
>these particular instructions.  Follow-ups on the reported bug should
>be posted to gnu.gcc.bug.

>But I do not know if there are any other instructions that have
>similar restrictions on the ISIS architecture. Plausible candidates
>are cvtdw, cvtdf, and perhaps fixed-to-float conversions.  ...
>...  Can someone
>from Pyramid please answer this?

I'll try.  The 6 instructions that are subject to source-destination
conflict are as follows ...
     cvtwf
     cvtwd
     cvtfw
     cvtfd
     cvtdw
     cvtdf

The conditions under which the conflict arises are
a. S1 class, (r1 equal to r2) or (rx non-zero and rx equal to r2), or
b. S2 class, (r1 non-zero or rx non zero) and
	     ((r1 equals r2 and rx zero) or rx equals r2)

Hope this helps.
-- 
Ken McDonell			  E-mail:     kenj at pyramid.com kenj at yarra.oz.au
Performance Analysis Group	  Phone:      +61 3 820 0711
Pyramid Technology Corporation	  Disclaimer: I speak for me alone, of course.



More information about the Comp.sys.pyramid mailing list