<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add FP64 support to the i965 shader backends"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92760#c79">Comment # 79</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add FP64 support to the i965 shader backends"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92760">bug 92760</a>
              from <span class="vcard"><a class="email" href="mailto:itoral@igalia.com" title="Iago Toral <itoral@igalia.com>"> <span class="fn">Iago Toral</span></a>
</span></b>
        <pre>(In reply to Francisco Jerez from <a href="show_bug.cgi?id=92760#c77">comment #77</a>)
<span class="quote">> (In reply to Iago Toral from <a href="show_bug.cgi?id=92760#c76">comment #76</a>)
> > (In reply to Francisco Jerez from <a href="show_bug.cgi?id=92760#c73">comment #73</a>)
> > > (In reply to Jason Ekstrand from <a href="show_bug.cgi?id=92760#c72">comment #72</a>)
> > > > (In reply to Iago Toral from <a href="show_bug.cgi?id=92760#c66">comment #66</a>)
> > > > > Jason, Connor:
> > > > > 
> > > > > last week Curro spent some time looking at our fp64 branch and testing some
> > > > > things and we have been discussing some aspects of the hardware in fp64 that
> > > > > are not all that well documented (or not even documented at all :)) and that
> > > > > may have some important implications in the implementation, specifically for
> > > > > the vec4 backend.
> > > > >
> > > > > Opinions?
> > > > 
> > > > Short version:
> > > > 
> > > > a) The hardware is busted.
> > > > b) I think Curro knows what he's talking about.  :-)
> > > > 
> > > > Longer version:
> > > > 
> > > > I see a couple of options here:  One is to just scalarize all double stuff. 
> > > > On Ivy Bridge, I think you would also have to double up instructions, one
> > > > for each half.  It's not a great option from the perspective of performance
> > > > but is perhaps the easiest to implement.
> > > > 
> > > > The second option is what Curro's suggesting where you try and use the
> > > > hardware as much as possible and fall back to nasty things only when you
> > > > have to.  Unfortunately, this is going to cause a lot of pain in the
> > > > generator because suddenly lots of stuff may become align1 at least on IVB.
> > > > 
> > > Just a short comment on this point: I don't think IVB will be much worse.
> > > From the functional point of view it's not that much different from HSW+,
> > > its primary limitation is that Align16 FP64 instructions can't do more than
> > > one dvec4 at a time, but that's easily solvable by hooking up the SIMD width
> > > lowering pass (in addition to the swizzle and writemask lowering pass that
> > > could be used on later gens), because NibCtrl behaves as expected on FP64
> > > Align16 instructions even on IVB thankfully.
> > 
> > I think there is still a problem with this: the fact that NibCtrl only works
> > with DF instructions, but we would still need to deal with UD access to DF
> > data... wouldn't that be broken in this case?

> Sure, but that problem is fully orthogonal to IVB's level of support for
> FP64 in Align16 mode and needs to be addressed for later platforms anyway. 
> IVB's limitation on the execution size is specific to double precision types
> in Align16 mode, so if you do either Align1 or UD execution type you avoid
> the problem.</span >

I see, yeah, I suppose we should be safe then.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>