x86: add avx_bcast to cs_x86_op to support AVX512 instructions. this also updates Python & Java binding
diff --git a/bindings/java/TestX86.java b/bindings/java/TestX86.java
index be77a63..087287a 100644
--- a/bindings/java/TestX86.java
+++ b/bindings/java/TestX86.java
@@ -104,9 +104,14 @@
System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
}
+ // AVX broadcast type
+ if (i.avx_bcast != X86_AVX_BCAST_INVALID) {
+ System.out.printf("\t\toperands[%d].avx_bcast: %d\n", c, i.avx_bcast);
+ }
+
// Operand size is irrlevant for X86_OP_IMM operand
if (i.type != X86_OP_IMM) {
- System.out.printf("\t\toperands[%d].size: %d\n",c, i.size);
+ System.out.printf("\t\toperands[%d].size: %d\n", c, i.size);
}
}
}
diff --git a/bindings/java/capstone/X86.java b/bindings/java/capstone/X86.java
index a4cbc46..734caff 100644
--- a/bindings/java/capstone/X86.java
+++ b/bindings/java/capstone/X86.java
@@ -42,6 +42,7 @@
public int type;
public OpValue value;
public int size;
+ public int avx_bcast;
public void read() {
super.read();
@@ -60,7 +61,7 @@
@Override
public List getFieldOrder() {
- return Arrays.asList("type", "value", "size");
+ return Arrays.asList("type", "value", "size", "avx_bcast");
}
}
diff --git a/bindings/java/capstone/X86_const.java b/bindings/java/capstone/X86_const.java
index d5c4321..d5a8feb 100644
--- a/bindings/java/capstone/X86_const.java
+++ b/bindings/java/capstone/X86_const.java
@@ -248,6 +248,12 @@
public static final int X86_OP_FP = 3;
public static final int X86_OP_MEM = 4;
+ // AVX broadcast type
+
+ public static final int X86_AVX_BCAST_INVALID = 0;
+ public static final int X86_AVX_BCAST_8 = 1;
+ public static final int X86_AVX_BCAST_16 = 2;
+
// X86 instructions
public static final int X86_INS_INVALID = 0;