]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/asm: fix element size encoding for VSUMQ instruction on s390x
authorMichael Munday <mike.munday@ibm.com>
Mon, 7 Oct 2019 21:37:44 +0000 (14:37 -0700)
committerMichael Munday <mike.munday@ibm.com>
Wed, 9 Oct 2019 14:45:09 +0000 (14:45 +0000)
The element size for VSUMQF and VSUMQG was off by one. Fix this
and add tests for VSUM* instruction encodings.

Change-Id: I6de2dabb383e5bc6f85eef1e0f106ba949c9030b
Reviewed-on: https://go-review.googlesource.com/c/go/+/199978
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/asm/internal/asm/testdata/s390x.s
src/cmd/internal/obj/s390x/vector.go

index 4fc599416fe574794dc36db02cf36c02793149a3..6888651007051ce3bafb60414c7f5f7c61fb4708 100644 (file)
@@ -435,6 +435,12 @@ TEXT main·foo(SB),DUPOK|NOSPLIT,$16-0 // TEXT main.foo(SB), DUPOK|NOSPLIT, $16-
        VMSLEG  V21, V22, V23, V24      // e78563807fb8
        VMSLOG  V21, V22, V23, V24      // e78563407fb8
        VMSLEOG V21, V22, V23, V24      // e78563c07fb8
+       VSUMGH  V1, V2, V3              // e73120001065
+       VSUMGF  V16, V17, V18           // e72010002e65
+       VSUMQF  V4, V5, V6              // e76450002067
+       VSUMQG  V19, V20, V21           // e75340003e67
+       VSUMB   V7, V8, V9              // e79780000064
+       VSUMH   V22, V23, V24           // e78670001e64
 
        RET
        RET     foo(SB)
index 62adcf6d4a523f98a75cbd5bb08b34cb01651976..00f578340f9db69bc43451d23a074c48af0c93af 100644 (file)
@@ -978,9 +978,9 @@ func vop(as obj.As) (opcode, es, cs uint32) {
        case AVSUMQ:
                return op_VSUMQ, 0, 0
        case AVSUMQF:
-               return op_VSUMQ, 1, 0
-       case AVSUMQG:
                return op_VSUMQ, 2, 0
+       case AVSUMQG:
+               return op_VSUMQ, 3, 0
        case AVSUM:
                return op_VSUM, 0, 0
        case AVSUMB: