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;