From 2d7a9ddb6c97f986252f284f3e2abf7d5dc88e3d Mon Sep 17 00:00:00 2001 From: Michael McLoughlin Date: Sun, 20 Jan 2019 22:43:14 -0800 Subject: [PATCH] internal/load: rerun code generation Updates #50 --- internal/inst/ztable.go | 28 ++++++++++++++++++++++++++++ tests/fixedbugs/issue50/issue50.s | 10 ++++++++++ tests/fixedbugs/issue50/stub.go | 7 +++++++ 3 files changed, 45 insertions(+) diff --git a/internal/inst/ztable.go b/internal/inst/ztable.go index a2cdba9..afdfb28 100644 --- a/internal/inst/ztable.go +++ b/internal/inst/ztable.go @@ -6343,6 +6343,34 @@ var Instructions = []Instruction{ {Type: "m64", Action: 0x2}, }, }, + { + ISA: []string{"SSE2"}, + Operands: []Operand{ + {Type: "xmm", Action: 0x1}, + {Type: "r32", Action: 0x2}, + }, + }, + { + ISA: []string{"SSE2"}, + Operands: []Operand{ + {Type: "r32", Action: 0x1}, + {Type: "xmm", Action: 0x2}, + }, + }, + { + ISA: []string{"SSE2"}, + Operands: []Operand{ + {Type: "m32", Action: 0x1}, + {Type: "xmm", Action: 0x2}, + }, + }, + { + ISA: []string{"SSE2"}, + Operands: []Operand{ + {Type: "xmm", Action: 0x1}, + {Type: "m32", Action: 0x2}, + }, + }, }, }, { diff --git a/tests/fixedbugs/issue50/issue50.s b/tests/fixedbugs/issue50/issue50.s index e69de29..39083e5 100644 --- a/tests/fixedbugs/issue50/issue50.s +++ b/tests/fixedbugs/issue50/issue50.s @@ -0,0 +1,10 @@ +// Code generated by command: go run asm.go -out issue50.s -stubs stub.go. DO NOT EDIT. + +#include "textflag.h" + +// func Issue50(x uint32) uint32 +TEXT ·Issue50(SB), NOSPLIT, $0-12 + MOVL x+0(FP), AX + MOVQ AX, X0 + MOVQ X0, ret+8(FP) + RET diff --git a/tests/fixedbugs/issue50/stub.go b/tests/fixedbugs/issue50/stub.go index e69de29..8709aba 100644 --- a/tests/fixedbugs/issue50/stub.go +++ b/tests/fixedbugs/issue50/stub.go @@ -0,0 +1,7 @@ +// Code generated by command: go run asm.go -out issue50.s -stubs stub.go. DO NOT EDIT. + +package issue50 + +// Issue50 reported that MOVD/MOVQ was missing the r32, xmm form. +// This function deliberately exercises this instruction form. +func Issue50(x uint32) uint32