Skip to content

cmd/asm: Maintain power5 compatibility for ppc64 big endian #16004

@laboger

Description

@laboger

Please answer these questions before submitting your issue. Thanks!

  1. What version of Go are you using (go version)?
    go1.7beta1
  2. What operating system and processor architecture are you using (go env)?
    ppc64 multiple OSes with instruction sets earlier than power8
  3. What did you do?
    If possible, provide a recipe for reproducing the error.
    A complete runnable program is good.
    A link on play.golang.org is best.
    Try to build golang on ppc64 with an instruction set earlier than power8
  4. What did you expect to see?
    Successful build.
  5. What did you see instead?
    SIGILL during the build on a power7 ppc64 system.

Some performance changes were added to go1.7 to improve performance for ppc64x, in some cases using instructions from power7 or power8 instruction sets. For ppc64le we want to use the newest instructions and get the best performance, but for ppc64 BE there are legacy systems with earlier instruction sets that want to be able to continue to build golang.

The two CLs that introduced newer instructions are 22772 and 22549. Those changes will be modified to generate legacy instructions for ppc64 BE and keep the newer instructions on ppc64le.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions