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