[GHC] #14909: Change default armhf target to a newer architecture

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[GHC] #14909: Change default armhf target to a newer architecture

GHC - devs mailing list
#14909: Change default armhf target to a newer architecture
-------------------------------------+-------------------------------------
           Reporter:  Phyx-          |             Owner:  (none)
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.5
  (CodeGen)                          |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:  arm            |   Type of failure:  None/Unknown
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Currently the default
 [https://github.com/ghc/ghc/blob/60b06456ddef08bd8a8a47497a6cbefbb5e359fb
 /llvm-targets#L4 llvm-targets] file specifies the default `arm-unknown-
 linux-gnueabihf` target to be using `-mcpu=arm1176jzf-s`. Which is an
 `Armv6` architecture.

 This has the problem that it's generating memory barriers using `CP15`
 instructions that are deprecated in `Armv7` and removed in `Armv8`.

 Because of this there's no way to run the binaries being produced by GHC
 HQ on Armv8 CPUs without having kernel support for `CP15 Barrier
 emulation.` which is slow.

 We're also not taking advantage of new Armv8 instructions this way.

 The debian folks have a bug report about this as well
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864847

 This means that GHC cannot work on most boards people have/can easily buy
 today.

 I think the default target should be an `Armv7` architecture at the very
 least. But realistically `Armv8` would probably be ok as well as I doubt
 many people use GHC to compile on older cores.

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

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14909: Change default armhf target to a newer architecture

GHC - devs mailing list
#14909: Change default armhf target to a newer architecture
---------------------------------------+------------------------------
        Reporter:  Phyx-               |                Owner:  (none)
            Type:  task                |               Status:  new
        Priority:  normal              |            Milestone:
       Component:  Compiler (CodeGen)  |              Version:  8.5
      Resolution:                      |             Keywords:
Operating System:  Unknown/Multiple    |         Architecture:  arm
 Type of failure:  None/Unknown        |            Test Case:
      Blocked By:                      |             Blocking:
 Related Tickets:                      |  Differential Rev(s):
       Wiki Page:                      |
---------------------------------------+------------------------------

Comment (by Phyx-):

 `generic` may work as well, as long as `llvm` doesn't generate the
 deprecated instructions then. Ideally, we should take the `-mcpu` option
 at configure time. And GHC should take it when calling llvm.

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

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14909: Change default armhf target to a newer architecture

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14909: Change default armhf target to a newer architecture
---------------------------------------+------------------------------
        Reporter:  Phyx-               |                Owner:  (none)
            Type:  task                |               Status:  new
        Priority:  normal              |            Milestone:  8.6.1
       Component:  Compiler (CodeGen)  |              Version:  8.4.1
      Resolution:                      |             Keywords:
Operating System:  Unknown/Multiple    |         Architecture:  arm
 Type of failure:  None/Unknown        |            Test Case:
      Blocked By:                      |             Blocking:
 Related Tickets:                      |  Differential Rev(s):
       Wiki Page:                      |
---------------------------------------+------------------------------
Changes (by Phyx-):

 * version:  8.5 => 8.4.1
 * milestone:   => 8.6.1


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

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets