From 1906d93bfda1c7b4af51457bc0a137b8418500b7 Mon Sep 17 00:00:00 2001 From: David Chase Date: Mon, 26 Sep 2016 08:32:49 -0700 Subject: [PATCH] cmd/compile: On PPC, nilcheck load should be MOVBZ There's no load-signed-byte on PPC, so MOVB causes the assembler to macro-expand in a useless sign extension. Fixes #17211. Change-Id: Ibcd73aea4c94ba6df0a998b0091e45508113be2a Reviewed-on: https://go-review.googlesource.com/29762 Run-TryBot: David Chase TryBot-Result: Gobot Gobot Reviewed-by: Michael Munday Reviewed-by: Cherry Zhang --- src/cmd/compile/internal/ppc64/ssa.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/ppc64/ssa.go b/src/cmd/compile/internal/ppc64/ssa.go index e3e6864db0..67fab94bb0 100644 --- a/src/cmd/compile/internal/ppc64/ssa.go +++ b/src/cmd/compile/internal/ppc64/ssa.go @@ -813,7 +813,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { case ssa.OpPPC64LoweredNilCheck: // Issue a load which will fault if arg is nil. - p := gc.Prog(ppc64.AMOVB) + p := gc.Prog(ppc64.AMOVBZ) p.From.Type = obj.TYPE_MEM p.From.Reg = v.Args[0].Reg() gc.AddAux(&p.From, v) -- 2.48.1