[GHC] #13629: sqrt should use machine instruction on x86_64

GHC ghc-devs at haskell.org
Fri Apr 28 20:38:40 UTC 2017


#13629: sqrt should use machine instruction on x86_64
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  (none)
            Type:  bug               |               Status:  closed
        Priority:  normal            |            Milestone:  8.4.1
       Component:  Compiler (NCG)    |              Version:  8.0.1
      Resolution:  fixed             |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Runtime           |            Test Case:
  performance bug                    |  numeric/num009
      Blocked By:                    |             Blocking:
 Related Tickets:  #13570            |  Differential Rev(s):  Phab:D3508
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 I think I would prefer to make the C call cheaper (by, for instance,
 marking it as pure so that the sinker can better optimize code around it)
 than to bring x87 into the fold. x87's `fsin` is terribly imprecise (and
 consequently causes the `num009` test to fail on platforms where it is
 used). Moreover, as you point out, x87 performance varies widely between
 microarchitectures. Finally, x87's architecture is really a nuisance for
 the native codegen, requiring a number of hacks. It would be nice if some
 day we could do away with x87 support entirely (although this likely won't
 happen any time soon).

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13629#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list