1
0
mirror of https://github.com/golang/go synced 2024-11-18 08:04:40 -07:00

cmd/asm, cmd/internal/obj/s390x: fix VFMA and VFMS encoding

The m5 and m6 fields were the wrong way round.

Fixes #17444.

Change-Id: I10297064f2cd09d037eac581c96a011358f70aae
Reviewed-on: https://go-review.googlesource.com/31130
Run-TryBot: Michael Munday <munday@ca.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
Michael Munday 2016-10-14 11:37:55 -04:00 committed by Russ Cox
parent 0f29942489
commit 930ab0afd7
2 changed files with 5 additions and 2 deletions

View File

@ -323,7 +323,10 @@ TEXT main·foo(SB),7,$16-0 // TEXT main.foo(SB), 7, $16-0
VERIMB $2, V31, V1, V2 // VERIMB V31, V1, $2, V2 // e72f10020472 VERIMB $2, V31, V1, V2 // VERIMB V31, V1, $2, V2 // e72f10020472
VSEL V1, V2, V3, V4 // VSEL V2, V3, V1, V4 // e7412000308d VSEL V1, V2, V3, V4 // VSEL V2, V3, V1, V4 // e7412000308d
VGFMAH V21, V31, V24, V0 // VGFMAH V31, V24, V21, V0 // e705f10087bc VGFMAH V21, V31, V24, V0 // VGFMAH V31, V24, V21, V0 // e705f10087bc
WFMSDB V2, V25, V24, V31 // WFMSDB V25, V24, V2, V31 // e7f298038b8e VFMADB V16, V8, V9, V10 // VFMADB V8, V9, V16, V10 // e7a08300948f
WFMADB V17, V18, V19, V20 // WFMADB V18, V19, V17, V20 // e74123083f8f
VFMSDB V2, V25, V24, V31 // VFMSDB V25, V24, V2, V31 // e7f293008b8e
WFMSDB V31, V2, V3, V4 // WFMSDB V2, V3, V31, V4 // e74f2308348e
VPERM V31, V0, V2, V3 // VPERM V0, V2, V31, V3 // e73f0000248c VPERM V31, V0, V2, V3 // VPERM V0, V2, V31, V3 // e73f0000248c
VPDI $1, V2, V31, V1 // VPDI V2, V31, $1, V1 // e712f0001284 VPDI $1, V2, V31, V1 // VPDI V2, V31, $1, V1 // e712f0001284
VLEG $1, (R3), V1 // VLEG (R3), $1, V1 // e71030001002 VLEG $1, (R3), V1 // VLEG (R3), $1, V1 // e71030001002

View File

@ -4121,7 +4121,7 @@ func asmout(ctxt *obj.Link, asm *[]byte) {
v2 := uint32(p.From3.Reg) v2 := uint32(p.From3.Reg)
v3 := uint32(p.From.Reg) v3 := uint32(p.From.Reg)
v4 := uint32(p.Reg) v4 := uint32(p.Reg)
zVRRe(op, v1, v2, v3, m5, m6, v4, asm) zVRRe(op, v1, v2, v3, m6, m5, v4, asm)
case 122: // VRR-f LOAD VRS FROM GRS DISJOINT case 122: // VRR-f LOAD VRS FROM GRS DISJOINT
op, _, _ := vop(p.As) op, _, _ := vop(p.As)