feat(arch): add the amd64 fp16 packed imm8-control group
Assisted-by: GLM 5.3
This commit is contained in:
1 parent
8de1b371da
commit
d03de62c07
4 files changed
+158
-10
No files matched your search
+11
-1
@@ -480,6 +480,11 @@ const (
|
||||
// where dest is an opmask register and the immediate's layout is named
|
||||
// by the entry's Imm8 kind.
|
||||
ExtFormAmdMask2Imm
|
||||
// ExtFormAmdVec2Imm is the two-vector form with a control immediate,
|
||||
// VRNDSCALEPH $0x7b, Z5, Z6 style: the immediate leads, the order the
|
||||
// reference listings write it in. Operands: imm, src, dest, and the
|
||||
// immediate's layout is named by the entry's Imm8 kind.
|
||||
ExtFormAmdVec2Imm
|
||||
// ExtFormAmdMemVec is the memory-load form: VMOVSH X30, 4660(R8) shape,
|
||||
// the manual's xmm1, m16 lines that stand beside the register form.
|
||||
// Operands: mem, dest.
|
||||
@@ -685,6 +690,8 @@ func (f ExtForm) Arity() int {
|
||||
return 2
|
||||
case ExtFormAmdVec3Imm, ExtFormAmdMask2Imm:
|
||||
return 4
|
||||
case ExtFormAmdVec2Imm:
|
||||
return 3
|
||||
case ExtFormAmdMemVec, ExtFormAmdVecMem:
|
||||
return 2
|
||||
case ExtFormPredicateOne, ExtFormPredicateWrite, ExtFormPredicateCounter:
|
||||
@@ -808,6 +815,8 @@ func (f ExtForm) String() string {
|
||||
return "immediate, three vectors"
|
||||
case ExtFormAmdMask2Imm:
|
||||
return "immediate, two vectors into an opmask"
|
||||
case ExtFormAmdVec2Imm:
|
||||
return "immediate and two vectors"
|
||||
case ExtFormAmdMemVec:
|
||||
return "memory into a vector"
|
||||
case ExtFormAmdVecMem:
|
||||
@@ -1057,7 +1066,8 @@ func (in ExtInstr) Encode(ops []ExtOperand) ([]byte, error) {
|
||||
case ExtFormAmdVec3, ExtFormAmdVec2, ExtFormAmdVec2Half, ExtFormAmdMask2,
|
||||
ExtFormAmdVecGprVec, ExtFormAmdGprVec, ExtFormAmdVecGpr,
|
||||
ExtFormAmdVec3Imm, ExtFormAmdMask2Imm, ExtFormAmdMemVec, ExtFormAmdVecMem,
|
||||
ExtFormAmdVec2Wide, ExtFormAmdVec2Quarter, ExtFormAmdVec2ToQuarter:
|
||||
ExtFormAmdVec2Wide, ExtFormAmdVec2Quarter, ExtFormAmdVec2ToQuarter,
|
||||
ExtFormAmdVec2Imm:
|
||||
return in.encodeAmd64(ops)
|
||||
case ExtFormPredicateLogical, ExtFormPredicateSelect:
|
||||
return in.encodePredicateLogical(ops)
|
||||
|
||||
Reference in new issue
Block a user