[GHC] #11538: Wrong constants in LL code for big endian targets

GHC ghc-devs at haskell.org
Thu Feb 4 21:16:34 UTC 2016


#11538: Wrong constants in LL code for big endian targets
-------------------------------------+-------------------------------------
           Reporter:  wereHamster    |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.1
  (LLVM)                             |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:  mips           |   Type of failure:  Building GHC
                                     |  failed
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I'm trying to compile GHC for a big endian MIPS target (MIPS 24Kc, Atheros
 AR9330). The generated code for the `negateFloat` function has the
 following line:

 `%ln3uf = fsub float 0x0000000000000080, %ln3ue`

 But the constant should be `0x8000000000000000` instead.

 See todays discussion in #ghc between wereHamster and rwbarton for more
 details and possible hints how/where to fix this.

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


More information about the ghc-tickets mailing list