diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp
index 90f2967..f3b23e8 100644
--- a/gen/gen_code.cpp
+++ b/gen/gen_code.cpp
@@ -26,6 +26,7 @@
 	uint8_t code1;
 	uint8_t code2;
 	uint8_t code3;
+	uint8_t code4;
 };
 
 void putGeneric(const GenericTbl *p, size_t n)
@@ -34,6 +35,7 @@
 		printf("void %s() { db(0x%02X); ", p->name, p->code1);
 		if (p->code2) printf("db(0x%02X); ", p->code2);
 		if (p->code3) printf("db(0x%02X); ", p->code3);
+		if (p->code4) printf("db(0x%02X); ", p->code4);
 		printf("}\n");
 		p++;
 	}
@@ -661,6 +663,8 @@
 			{ "cmpsb", 0xA6 },
 			{ "cmpsw", 0x66, 0xA7 },
 			{ "cmpsd", 0xA7 },
+			{ "endbr32", 0xF3, 0x0F, 0x1E, 0xFB },
+			{ "endbr64", 0xF3, 0x0F, 0x1E, 0xFA },
 			{ "int3", 0xCC },
 			{ "scasb", 0xAE },
 			{ "scasw", 0x66, 0xAF },
diff --git a/readme.md b/readme.md
index d9aaa6a..a67e8e9 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,6 @@
 [![Build Status](https://github.com/herumi/xbyak/actions/workflows/main.yml/badge.svg)](https://github.com/herumi/xbyak/actions/workflows/main.yml)
 
-# Xbyak 5.991 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.992 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 
 ## Abstract
 
@@ -446,6 +446,7 @@
 http://opensource.org/licenses/BSD-3-Clause
 
 ## History
+* 2021/May/09 ver 5.992 support endbr32 and endbr64
 * 2020/Nov/16 ver 5.991 disable constexpr for gcc-5 with -std=c++-14
 * 2020/Oct/19 ver 5.99 support VNNI instructions(Thanks to akharito)
 * 2020/Oct/17 ver 5.98 support the form of [scale * reg]
diff --git a/readme.txt b/readme.txt
index d49bccc..822d665 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 
-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.991
+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.992
 
 -----------------------------------------------------------------------------
 ◎概要
@@ -382,6 +382,7 @@
 -----------------------------------------------------------------------------
 ◎履歴
 
+2021/05/09 ver 5.992 endbr32とendbr64のサポート
 2020/11/16 ver 5.991 g++-5のC++14でconstexpr機能の抑制
 2020/10/19 ver 5.99 VNNI命令サポート(Thanks to akharito)
 2020/10/17 ver 5.98 [scale * reg]のサポート
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index bc0d71f..bf92ae4 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -138,7 +138,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5991 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5992 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 5c1ecff..be9bbbf 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.991"; }
+const char *getVersionString() const { return "5.992"; }
 void adc(const Operand& op, uint32_t imm) { opRM_I(op, imm, 0x10, 2); }
 void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
 void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }
@@ -172,6 +172,8 @@
 void dppd(const Xmm& xmm, const Operand& op, int imm) { opGen(xmm, op, 0x41, 0x66, isXMM_XMMorMEM, static_cast<uint8_t>(imm), 0x3A); }
 void dpps(const Xmm& xmm, const Operand& op, int imm) { opGen(xmm, op, 0x40, 0x66, isXMM_XMMorMEM, static_cast<uint8_t>(imm), 0x3A); }
 void emms() { db(0x0F); db(0x77); }
+void endbr32() { db(0xF3); db(0x0F); db(0x1E); db(0xFB); }
+void endbr64() { db(0xF3); db(0x0F); db(0x1E); db(0xFA); }
 void enter(uint16_t x, uint8_t y) { db(0xC8); dw(x); db(y); }
 void extractps(const Operand& op, const Xmm& xmm, uint8_t imm) { opExt(op, xmm, 0x17, imm); }
 void f2xm1() { db(0xD9); db(0xF0); }
