ocaml: add missing ARM64 instructions to arm64_const.ml. also handle arithmetic operations |, << properly for Ocaml in const_generator.py
diff --git a/bindings/const_generator.py b/bindings/const_generator.py
index 40c9071..dc0ff92 100644
--- a/bindings/const_generator.py
+++ b/bindings/const_generator.py
@@ -64,7 +64,8 @@
 # markup for comments to be added to autogen files
 MARKUP = '//>'
 
-def gen(templ):
+def gen(lang):
+    templ = template[lang]
     global include, INCL_DIR
     for target in include:
         prefix = templ[target]
@@ -109,7 +110,12 @@
                         if (count == 1):
                             outfile.write("\n")
                     except ValueError:
-                        pass
+                        # ocaml variable has _ as prefix
+                        if lang == 'ocaml':
+                            rhs = rhs.replace('<<', ' lsl ')
+                            rhs = rhs.replace('|', ' lor ')
+                            if rhs[0].isalpha():
+                                rhs = '_' + rhs
 
                     outfile.write(templ['line_format'] %(f[0].strip(), rhs))
 
@@ -118,7 +124,7 @@
 
 def main():
     try:
-        gen(template[sys.argv[1]])
+        gen(sys.argv[1])
     except:
         raise RuntimeError("Unsupported binding %s" % sys.argv[1])
 
diff --git a/bindings/ocaml/arm64_const.ml b/bindings/ocaml/arm64_const.ml
index f914c80..24996c1 100644
--- a/bindings/ocaml/arm64_const.ml
+++ b/bindings/ocaml/arm64_const.ml
@@ -288,6 +288,455 @@
 let _ARM64_REG_FP = _ARM64_REG_X29;;
 let _ARM64_REG_LR = _ARM64_REG_X30;;
 
+(* ARM64 instruction *)
+
+let _ARM64_INS_INVALID = 0;;
+let _ARM64_INS_ABS = 1;;
+let _ARM64_INS_ADC = 2;;
+let _ARM64_INS_ADDHN2 = 3;;
+let _ARM64_INS_ADDHN = 4;;
+let _ARM64_INS_ADDP = 5;;
+let _ARM64_INS_ADDV = 6;;
+let _ARM64_INS_ADD = 7;;
+let _ARM64_INS_CMN = 8;;
+let _ARM64_INS_ADRP = 9;;
+let _ARM64_INS_ADR = 10;;
+let _ARM64_INS_AESD = 11;;
+let _ARM64_INS_AESE = 12;;
+let _ARM64_INS_AESIMC = 13;;
+let _ARM64_INS_AESMC = 14;;
+let _ARM64_INS_AND = 15;;
+let _ARM64_INS_ASR = 16;;
+let _ARM64_INS_AT = 17;;
+let _ARM64_INS_BFI = 18;;
+let _ARM64_INS_BFM = 19;;
+let _ARM64_INS_BFXIL = 20;;
+let _ARM64_INS_BIC = 21;;
+let _ARM64_INS_BIF = 22;;
+let _ARM64_INS_BIT = 23;;
+let _ARM64_INS_BLR = 24;;
+let _ARM64_INS_BL = 25;;
+let _ARM64_INS_BRK = 26;;
+let _ARM64_INS_BR = 27;;
+let _ARM64_INS_BSL = 28;;
+let _ARM64_INS_B = 29;;
+let _ARM64_INS_CBNZ = 30;;
+let _ARM64_INS_CBZ = 31;;
+let _ARM64_INS_CCMN = 32;;
+let _ARM64_INS_CCMP = 33;;
+let _ARM64_INS_CLREX = 34;;
+let _ARM64_INS_CLS = 35;;
+let _ARM64_INS_CLZ = 36;;
+let _ARM64_INS_CMEQ = 37;;
+let _ARM64_INS_CMGE = 38;;
+let _ARM64_INS_CMGT = 39;;
+let _ARM64_INS_CMHI = 40;;
+let _ARM64_INS_CMHS = 41;;
+let _ARM64_INS_CMLE = 42;;
+let _ARM64_INS_CMLT = 43;;
+let _ARM64_INS_CMP = 44;;
+let _ARM64_INS_CMTST = 45;;
+let _ARM64_INS_CNT = 46;;
+let _ARM64_INS_CRC32B = 47;;
+let _ARM64_INS_CRC32CB = 48;;
+let _ARM64_INS_CRC32CH = 49;;
+let _ARM64_INS_CRC32CW = 50;;
+let _ARM64_INS_CRC32CX = 51;;
+let _ARM64_INS_CRC32H = 52;;
+let _ARM64_INS_CRC32W = 53;;
+let _ARM64_INS_CRC32X = 54;;
+let _ARM64_INS_CSEL = 55;;
+let _ARM64_INS_CSINC = 56;;
+let _ARM64_INS_CSINV = 57;;
+let _ARM64_INS_CSNEG = 58;;
+let _ARM64_INS_DCPS1 = 59;;
+let _ARM64_INS_DCPS2 = 60;;
+let _ARM64_INS_DCPS3 = 61;;
+let _ARM64_INS_DC = 62;;
+let _ARM64_INS_DMB = 63;;
+let _ARM64_INS_DRPS = 64;;
+let _ARM64_INS_DSB = 65;;
+let _ARM64_INS_DUP = 66;;
+let _ARM64_INS_EON = 67;;
+let _ARM64_INS_EOR = 68;;
+let _ARM64_INS_ERET = 69;;
+let _ARM64_INS_EXTR = 70;;
+let _ARM64_INS_EXT = 71;;
+let _ARM64_INS_FABD = 72;;
+let _ARM64_INS_FABS = 73;;
+let _ARM64_INS_FACGE = 74;;
+let _ARM64_INS_FACGT = 75;;
+let _ARM64_INS_FADDP = 76;;
+let _ARM64_INS_FADD = 77;;
+let _ARM64_INS_FCCMPE = 78;;
+let _ARM64_INS_FCCMP = 79;;
+let _ARM64_INS_FCMEQ = 80;;
+let _ARM64_INS_FCMGE = 81;;
+let _ARM64_INS_FCMGT = 82;;
+let _ARM64_INS_FCMLE = 83;;
+let _ARM64_INS_FCMLT = 84;;
+let _ARM64_INS_FCMP = 85;;
+let _ARM64_INS_FCMPE = 86;;
+let _ARM64_INS_FCSEL = 87;;
+let _ARM64_INS_FCVTAS = 88;;
+let _ARM64_INS_FCVTAU = 89;;
+let _ARM64_INS_FCVTL = 90;;
+let _ARM64_INS_FCVTL2 = 91;;
+let _ARM64_INS_FCVTMS = 92;;
+let _ARM64_INS_FCVTMU = 93;;
+let _ARM64_INS_FCVTN = 94;;
+let _ARM64_INS_FCVTN2 = 95;;
+let _ARM64_INS_FCVTNS = 96;;
+let _ARM64_INS_FCVTNU = 97;;
+let _ARM64_INS_FCVTPS = 98;;
+let _ARM64_INS_FCVTPU = 99;;
+let _ARM64_INS_FCVTXN = 100;;
+let _ARM64_INS_FCVTXN2 = 101;;
+let _ARM64_INS_FCVTZS = 102;;
+let _ARM64_INS_FCVTZU = 103;;
+let _ARM64_INS_FCVT = 104;;
+let _ARM64_INS_FDIV = 105;;
+let _ARM64_INS_FMADD = 106;;
+let _ARM64_INS_FMAXNMP = 107;;
+let _ARM64_INS_FMAXNMV = 108;;
+let _ARM64_INS_FMAXNM = 109;;
+let _ARM64_INS_FMAXP = 110;;
+let _ARM64_INS_FMAXV = 111;;
+let _ARM64_INS_FMAX = 112;;
+let _ARM64_INS_FMINNMP = 113;;
+let _ARM64_INS_FMINNMV = 114;;
+let _ARM64_INS_FMINNM = 115;;
+let _ARM64_INS_FMINP = 116;;
+let _ARM64_INS_FMINV = 117;;
+let _ARM64_INS_FMIN = 118;;
+let _ARM64_INS_FMLA = 119;;
+let _ARM64_INS_FMLS = 120;;
+let _ARM64_INS_FMOV = 121;;
+let _ARM64_INS_FMSUB = 122;;
+let _ARM64_INS_FMULX = 123;;
+let _ARM64_INS_FMUL = 124;;
+let _ARM64_INS_FNEG = 125;;
+let _ARM64_INS_FNMADD = 126;;
+let _ARM64_INS_FNMSUB = 127;;
+let _ARM64_INS_FNMUL = 128;;
+let _ARM64_INS_FRECPE = 129;;
+let _ARM64_INS_FRECPS = 130;;
+let _ARM64_INS_FRECPX = 131;;
+let _ARM64_INS_FRINTA = 132;;
+let _ARM64_INS_FRINTI = 133;;
+let _ARM64_INS_FRINTM = 134;;
+let _ARM64_INS_FRINTN = 135;;
+let _ARM64_INS_FRINTP = 136;;
+let _ARM64_INS_FRINTX = 137;;
+let _ARM64_INS_FRINTZ = 138;;
+let _ARM64_INS_FRSQRTE = 139;;
+let _ARM64_INS_FRSQRTS = 140;;
+let _ARM64_INS_FSQRT = 141;;
+let _ARM64_INS_FSUB = 142;;
+let _ARM64_INS_HINT = 143;;
+let _ARM64_INS_HLT = 144;;
+let _ARM64_INS_HVC = 145;;
+let _ARM64_INS_IC = 146;;
+let _ARM64_INS_INS = 147;;
+let _ARM64_INS_ISB = 148;;
+let _ARM64_INS_LD1 = 149;;
+let _ARM64_INS_LD1R = 150;;
+let _ARM64_INS_LD2 = 151;;
+let _ARM64_INS_LD2R = 152;;
+let _ARM64_INS_LD3 = 153;;
+let _ARM64_INS_LD3R = 154;;
+let _ARM64_INS_LD4 = 155;;
+let _ARM64_INS_LD4R = 156;;
+let _ARM64_INS_LDARB = 157;;
+let _ARM64_INS_LDAR = 158;;
+let _ARM64_INS_LDARH = 159;;
+let _ARM64_INS_LDAXP = 160;;
+let _ARM64_INS_LDAXRB = 161;;
+let _ARM64_INS_LDAXR = 162;;
+let _ARM64_INS_LDAXRH = 163;;
+let _ARM64_INS_LDPSW = 164;;
+let _ARM64_INS_LDRSB = 165;;
+let _ARM64_INS_LDURSB = 166;;
+let _ARM64_INS_LDRSH = 167;;
+let _ARM64_INS_LDURSH = 168;;
+let _ARM64_INS_LDRSW = 169;;
+let _ARM64_INS_LDR = 170;;
+let _ARM64_INS_LDTRSB = 171;;
+let _ARM64_INS_LDTRSH = 172;;
+let _ARM64_INS_LDTRSW = 173;;
+let _ARM64_INS_LDURSW = 174;;
+let _ARM64_INS_LDXP = 175;;
+let _ARM64_INS_LDXRB = 176;;
+let _ARM64_INS_LDXR = 177;;
+let _ARM64_INS_LDXRH = 178;;
+let _ARM64_INS_LDRH = 179;;
+let _ARM64_INS_LDURH = 180;;
+let _ARM64_INS_STRH = 181;;
+let _ARM64_INS_STURH = 182;;
+let _ARM64_INS_LDTRH = 183;;
+let _ARM64_INS_STTRH = 184;;
+let _ARM64_INS_LDUR = 185;;
+let _ARM64_INS_STR = 186;;
+let _ARM64_INS_STUR = 187;;
+let _ARM64_INS_LDTR = 188;;
+let _ARM64_INS_STTR = 189;;
+let _ARM64_INS_LDRB = 190;;
+let _ARM64_INS_LDURB = 191;;
+let _ARM64_INS_STRB = 192;;
+let _ARM64_INS_STURB = 193;;
+let _ARM64_INS_LDTRB = 194;;
+let _ARM64_INS_STTRB = 195;;
+let _ARM64_INS_LDP = 196;;
+let _ARM64_INS_LDNP = 197;;
+let _ARM64_INS_STNP = 198;;
+let _ARM64_INS_STP = 199;;
+let _ARM64_INS_LSL = 200;;
+let _ARM64_INS_LSR = 201;;
+let _ARM64_INS_MADD = 202;;
+let _ARM64_INS_MLA = 203;;
+let _ARM64_INS_MLS = 204;;
+let _ARM64_INS_MOVI = 205;;
+let _ARM64_INS_MOVK = 206;;
+let _ARM64_INS_MOVN = 207;;
+let _ARM64_INS_MOVZ = 208;;
+let _ARM64_INS_MRS = 209;;
+let _ARM64_INS_MSR = 210;;
+let _ARM64_INS_MSUB = 211;;
+let _ARM64_INS_MUL = 212;;
+let _ARM64_INS_MVNI = 213;;
+let _ARM64_INS_MVN = 214;;
+let _ARM64_INS_NEG = 215;;
+let _ARM64_INS_NOT = 216;;
+let _ARM64_INS_ORN = 217;;
+let _ARM64_INS_ORR = 218;;
+let _ARM64_INS_PMULL2 = 219;;
+let _ARM64_INS_PMULL = 220;;
+let _ARM64_INS_PMUL = 221;;
+let _ARM64_INS_PRFM = 222;;
+let _ARM64_INS_PRFUM = 223;;
+let _ARM64_INS_SQRSHRUN2 = 224;;
+let _ARM64_INS_SQRSHRUN = 225;;
+let _ARM64_INS_SQSHRUN2 = 226;;
+let _ARM64_INS_SQSHRUN = 227;;
+let _ARM64_INS_RADDHN2 = 228;;
+let _ARM64_INS_RADDHN = 229;;
+let _ARM64_INS_RBIT = 230;;
+let _ARM64_INS_RET = 231;;
+let _ARM64_INS_REV16 = 232;;
+let _ARM64_INS_REV32 = 233;;
+let _ARM64_INS_REV64 = 234;;
+let _ARM64_INS_REV = 235;;
+let _ARM64_INS_ROR = 236;;
+let _ARM64_INS_RSHRN2 = 237;;
+let _ARM64_INS_RSHRN = 238;;
+let _ARM64_INS_RSUBHN2 = 239;;
+let _ARM64_INS_RSUBHN = 240;;
+let _ARM64_INS_SABAL2 = 241;;
+let _ARM64_INS_SABAL = 242;;
+let _ARM64_INS_SABA = 243;;
+let _ARM64_INS_SABDL2 = 244;;
+let _ARM64_INS_SABDL = 245;;
+let _ARM64_INS_SABD = 246;;
+let _ARM64_INS_SADALP = 247;;
+let _ARM64_INS_SADDL2 = 248;;
+let _ARM64_INS_SADDLP = 249;;
+let _ARM64_INS_SADDLV = 250;;
+let _ARM64_INS_SADDL = 251;;
+let _ARM64_INS_SADDW2 = 252;;
+let _ARM64_INS_SADDW = 253;;
+let _ARM64_INS_SBC = 254;;
+let _ARM64_INS_SBFIZ = 255;;
+let _ARM64_INS_SBFM = 256;;
+let _ARM64_INS_SBFX = 257;;
+let _ARM64_INS_SCVTF = 258;;
+let _ARM64_INS_SDIV = 259;;
+let _ARM64_INS_SHA1C = 260;;
+let _ARM64_INS_SHA1H = 261;;
+let _ARM64_INS_SHA1M = 262;;
+let _ARM64_INS_SHA1P = 263;;
+let _ARM64_INS_SHA1SU0 = 264;;
+let _ARM64_INS_SHA1SU1 = 265;;
+let _ARM64_INS_SHA256H = 266;;
+let _ARM64_INS_SHA256H2 = 267;;
+let _ARM64_INS_SHA256SU0 = 268;;
+let _ARM64_INS_SHA256SU1 = 269;;
+let _ARM64_INS_SHADD = 270;;
+let _ARM64_INS_SHLL2 = 271;;
+let _ARM64_INS_SHLL = 272;;
+let _ARM64_INS_SHL = 273;;
+let _ARM64_INS_SHRN2 = 274;;
+let _ARM64_INS_SHRN = 275;;
+let _ARM64_INS_SHSUB = 276;;
+let _ARM64_INS_SLI = 277;;
+let _ARM64_INS_SMADDL = 278;;
+let _ARM64_INS_SMAXP = 279;;
+let _ARM64_INS_SMAXV = 280;;
+let _ARM64_INS_SMAX = 281;;
+let _ARM64_INS_SMC = 282;;
+let _ARM64_INS_SMINP = 283;;
+let _ARM64_INS_SMINV = 284;;
+let _ARM64_INS_SMIN = 285;;
+let _ARM64_INS_SMLAL2 = 286;;
+let _ARM64_INS_SMLAL = 287;;
+let _ARM64_INS_SMLSL2 = 288;;
+let _ARM64_INS_SMLSL = 289;;
+let _ARM64_INS_SMOV = 290;;
+let _ARM64_INS_SMSUBL = 291;;
+let _ARM64_INS_SMULH = 292;;
+let _ARM64_INS_SMULL2 = 293;;
+let _ARM64_INS_SMULL = 294;;
+let _ARM64_INS_SQABS = 295;;
+let _ARM64_INS_SQADD = 296;;
+let _ARM64_INS_SQDMLAL2 = 297;;
+let _ARM64_INS_SQDMLAL = 298;;
+let _ARM64_INS_SQDMLSL2 = 299;;
+let _ARM64_INS_SQDMLSL = 300;;
+let _ARM64_INS_SQDMULH = 301;;
+let _ARM64_INS_SQDMULL2 = 302;;
+let _ARM64_INS_SQDMULL = 303;;
+let _ARM64_INS_SQNEG = 304;;
+let _ARM64_INS_SQRDMULH = 305;;
+let _ARM64_INS_SQRSHL = 306;;
+let _ARM64_INS_SQRSHRN = 307;;
+let _ARM64_INS_SQRSHRN2 = 308;;
+let _ARM64_INS_SQSHLU = 309;;
+let _ARM64_INS_SQSHL = 310;;
+let _ARM64_INS_SQSHRN = 311;;
+let _ARM64_INS_SQSHRN2 = 312;;
+let _ARM64_INS_SQSUB = 313;;
+let _ARM64_INS_SQXTN = 314;;
+let _ARM64_INS_SQXTN2 = 315;;
+let _ARM64_INS_SQXTUN = 316;;
+let _ARM64_INS_SQXTUN2 = 317;;
+let _ARM64_INS_SRHADD = 318;;
+let _ARM64_INS_SRI = 319;;
+let _ARM64_INS_SRSHL = 320;;
+let _ARM64_INS_SRSHR = 321;;
+let _ARM64_INS_SRSRA = 322;;
+let _ARM64_INS_SSHLL2 = 323;;
+let _ARM64_INS_SSHLL = 324;;
+let _ARM64_INS_SSHL = 325;;
+let _ARM64_INS_SSHR = 326;;
+let _ARM64_INS_SSRA = 327;;
+let _ARM64_INS_SSUBL2 = 328;;
+let _ARM64_INS_SSUBL = 329;;
+let _ARM64_INS_SSUBW2 = 330;;
+let _ARM64_INS_SSUBW = 331;;
+let _ARM64_INS_ST1 = 332;;
+let _ARM64_INS_ST2 = 333;;
+let _ARM64_INS_ST3 = 334;;
+let _ARM64_INS_ST4 = 335;;
+let _ARM64_INS_STLRB = 336;;
+let _ARM64_INS_STLR = 337;;
+let _ARM64_INS_STLRH = 338;;
+let _ARM64_INS_STLXP = 339;;
+let _ARM64_INS_STLXRB = 340;;
+let _ARM64_INS_STLXR = 341;;
+let _ARM64_INS_STLXRH = 342;;
+let _ARM64_INS_STXP = 343;;
+let _ARM64_INS_STXRB = 344;;
+let _ARM64_INS_STXR = 345;;
+let _ARM64_INS_STXRH = 346;;
+let _ARM64_INS_SUBHN2 = 347;;
+let _ARM64_INS_SUBHN = 348;;
+let _ARM64_INS_SUB = 349;;
+let _ARM64_INS_SUQADD = 350;;
+let _ARM64_INS_SVC = 351;;
+let _ARM64_INS_SXTB = 352;;
+let _ARM64_INS_SXTH = 353;;
+let _ARM64_INS_SXTW = 354;;
+let _ARM64_INS_SYSL = 355;;
+let _ARM64_INS_SYS = 356;;
+let _ARM64_INS_TBL = 357;;
+let _ARM64_INS_TBNZ = 358;;
+let _ARM64_INS_TBX = 359;;
+let _ARM64_INS_TBZ = 360;;
+let _ARM64_INS_TLBI = 361;;
+let _ARM64_INS_TRN1 = 362;;
+let _ARM64_INS_TRN2 = 363;;
+let _ARM64_INS_TST = 364;;
+let _ARM64_INS_UABAL2 = 365;;
+let _ARM64_INS_UABAL = 366;;
+let _ARM64_INS_UABA = 367;;
+let _ARM64_INS_UABDL2 = 368;;
+let _ARM64_INS_UABDL = 369;;
+let _ARM64_INS_UABD = 370;;
+let _ARM64_INS_UADALP = 371;;
+let _ARM64_INS_UADDL2 = 372;;
+let _ARM64_INS_UADDLP = 373;;
+let _ARM64_INS_UADDLV = 374;;
+let _ARM64_INS_UADDL = 375;;
+let _ARM64_INS_UADDW2 = 376;;
+let _ARM64_INS_UADDW = 377;;
+let _ARM64_INS_UBFIZ = 378;;
+let _ARM64_INS_UBFM = 379;;
+let _ARM64_INS_UBFX = 380;;
+let _ARM64_INS_UCVTF = 381;;
+let _ARM64_INS_UDIV = 382;;
+let _ARM64_INS_UHADD = 383;;
+let _ARM64_INS_UHSUB = 384;;
+let _ARM64_INS_UMADDL = 385;;
+let _ARM64_INS_UMAXP = 386;;
+let _ARM64_INS_UMAXV = 387;;
+let _ARM64_INS_UMAX = 388;;
+let _ARM64_INS_UMINP = 389;;
+let _ARM64_INS_UMINV = 390;;
+let _ARM64_INS_UMIN = 391;;
+let _ARM64_INS_UMLAL2 = 392;;
+let _ARM64_INS_UMLAL = 393;;
+let _ARM64_INS_UMLSL2 = 394;;
+let _ARM64_INS_UMLSL = 395;;
+let _ARM64_INS_UMOV = 396;;
+let _ARM64_INS_UMSUBL = 397;;
+let _ARM64_INS_UMULH = 398;;
+let _ARM64_INS_UMULL2 = 399;;
+let _ARM64_INS_UMULL = 400;;
+let _ARM64_INS_UQADD = 401;;
+let _ARM64_INS_UQRSHL = 402;;
+let _ARM64_INS_UQRSHRN = 403;;
+let _ARM64_INS_UQRSHRN2 = 404;;
+let _ARM64_INS_UQSHL = 405;;
+let _ARM64_INS_UQSHRN = 406;;
+let _ARM64_INS_UQSHRN2 = 407;;
+let _ARM64_INS_UQSUB = 408;;
+let _ARM64_INS_UQXTN = 409;;
+let _ARM64_INS_UQXTN2 = 410;;
+let _ARM64_INS_URECPE = 411;;
+let _ARM64_INS_URHADD = 412;;
+let _ARM64_INS_URSHL = 413;;
+let _ARM64_INS_URSHR = 414;;
+let _ARM64_INS_URSQRTE = 415;;
+let _ARM64_INS_URSRA = 416;;
+let _ARM64_INS_USHLL2 = 417;;
+let _ARM64_INS_USHLL = 418;;
+let _ARM64_INS_USHL = 419;;
+let _ARM64_INS_USHR = 420;;
+let _ARM64_INS_USQADD = 421;;
+let _ARM64_INS_USRA = 422;;
+let _ARM64_INS_USUBL2 = 423;;
+let _ARM64_INS_USUBL = 424;;
+let _ARM64_INS_USUBW2 = 425;;
+let _ARM64_INS_USUBW = 426;;
+let _ARM64_INS_UXTB = 427;;
+let _ARM64_INS_UXTH = 428;;
+let _ARM64_INS_UZP1 = 429;;
+let _ARM64_INS_UZP2 = 430;;
+let _ARM64_INS_XTN = 431;;
+let _ARM64_INS_XTN2 = 432;;
+let _ARM64_INS_ZIP1 = 433;;
+let _ARM64_INS_ZIP2 = 434;;
+let _ARM64_INS_MNEG = 435;;
+let _ARM64_INS_UMNEGL = 436;;
+let _ARM64_INS_SMNEGL = 437;;
+let _ARM64_INS_MOV = 438;;
+let _ARM64_INS_NOP = 439;;
+let _ARM64_INS_YIELD = 440;;
+let _ARM64_INS_WFE = 441;;
+let _ARM64_INS_WFI = 442;;
+let _ARM64_INS_SEV = 443;;
+let _ARM64_INS_SEVL = 444;;
+let _ARM64_INS_NGC = 445;;
+let _ARM64_INS_MAX = 446;;
 
 (* Group of ARM64 instructions *)
 
diff --git a/bindings/ocaml/x86_const.ml b/bindings/ocaml/x86_const.ml
index 28c0290..15a8a70 100644
--- a/bindings/ocaml/x86_const.ml
+++ b/bindings/ocaml/x86_const.ml
@@ -1509,7 +1509,7 @@
 let _X86_INS_XTEST = 1259;;
 let _X86_INS_MAX = 1260;;
 
-(* Group of X86 instructions*)
+(* Group of X86 instructions *)
 
 let _X86_GRP_INVALID = 0;;
 let _X86_GRP_3DNOW = 1;;