The formatting of the function[1] got spoilt in the last mail. It is
modified from:
globalRegType _ (XmmReg _) = cmmVec 4 (cmmBits W32)
to
globalRegType _ (XmmReg _ m ty) = let (l,w) = fromMaybe (2, W64) m
in case fromMaybe Float ty of
Sorry I mistyped and forgot to include the register number in the mail but
it is present in the patch. So it is:
data GlobalReg = ...
| XmmReg !Int
(Maybe (Length, Width))
(Maybe GlobalVecRegTy)
The purpose
What is the GlobalVecRegTy field doing?
Don’t you need an Int for the register number, like all the rest?
Generally, sounds good though
S
From: Abhiroop Sarkar
Sent: 13 July 2018 14:07
To: Simon Peyton Jones
Cc: ghc-devs@haskell.org
Subject: Re: Is it possible to enhance the vector STG
Hello Simon,
Thanks for your response. I had written a patch[1] for this and the
approach I took was quite similar to what you pointed out.
data GlobalReg = ...
| XmmReg
(Maybe (Length, Width))
(Maybe
Abhiroop
Did anyone reply?
My instinct is this. You want to use the same register (say Xmm reg 3) in
different ways. We already have this for ‘VanillaReg’:
data GlobalReg
= VanillaReg -- pointers, unboxed ints and chars
Int -- its number
VGcPtr
| …
hrmm, i think i can help with this tomorrow/ rest of the week, (esp since
i'm one of your mentors :) )
but if other folks have design ideas, more than happy to use as many ideas
as possible!
On Wed, Jun 27, 2018 at 5:32 PM Abhiroop Sarkar
wrote:
> Hello all,
>
> I am currently working on