1. 13 Sep, 2019 2 commits
    • Joel Sing's avatar
      cmd/link: simplify determineLinkMode · 79877e5f
      Joel Sing authored
      Simplify determineLinkMode by calling mustLinkExternal upfront,
      then doing a first pass for LinkModeAuto, followed by a second pass
      that determines if the link mode is valid.
      
      Change-Id: I9d7668107c159f8fe330b8c05fee035bbe9875fd
      Reviewed-on: https://go-review.googlesource.com/c/go/+/195078Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      79877e5f
    • Ruixin Bao's avatar
      cmd/compile: add math/bits.Mul64 intrinsic on s390x · 98aa9780
      Ruixin Bao authored
      This change adds an intrinsic for Mul64 on s390x. To achieve that,
      a new assembly instruction, MLGR, is introduced in s390x/asmz.go. This assembly
      instruction directly uses an existing instruction on Z and supports multiplication
      of two 64 bit unsigned integer and stores the result in two separate registers.
      
      In this case, we require the multiplcand to be stored in register R3 and
      the output result (the high and low 64 bit of the product) to be stored in
      R2 and R3 respectively.
      
      A test case is also added.
      
      Benchmark:
      name      old time/op  new time/op  delta
      Mul-18    11.1ns ± 0%   1.4ns ± 0%  -87.39%  (p=0.002 n=8+10)
      Mul32-18  2.07ns ± 0%  2.07ns ± 0%     ~     (all equal)
      Mul64-18  11.1ns ± 1%   1.4ns ± 0%  -87.42%  (p=0.000 n=10+10)
      
      Change-Id: Ieca6ad1f61fff9a48a31d50bbd3f3c6d9e6675c1
      Reviewed-on: https://go-review.googlesource.com/c/go/+/194572Reviewed-by: default avatarMichael Munday <mike.munday@ibm.com>
      Run-TryBot: Michael Munday <mike.munday@ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      98aa9780
  2. 12 Sep, 2019 19 commits
  3. 11 Sep, 2019 19 commits