v5.996
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 888c737..4d485de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.6...3.0.2)
-project(xbyak LANGUAGES CXX VERSION 5.995)
+project(xbyak LANGUAGES CXX VERSION 5.996)
file(GLOB headers xbyak/*.h)
diff --git a/readme.md b/readme.md
index cae9e5f..cbd295f 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.995 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.996 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
## Abstract
@@ -447,6 +447,7 @@
http://opensource.org/licenses/BSD-3-Clause
## History
+* 2021/Sep/03 ver 5.996 fix v{add,sub,mul,div,max,min}{sd,ss} to support T_rd_sae.
* 2021/Aug/15 ver 5.995 add a label to /proc/self/maps if XBYAK_USE_MEMFD is defined on Linux
* 2021/Jun/17 ver 5.994 add alias of vcmpXX{ps,pd,ss,sd} with mask register
* 2021/Jun/06 ver 5.993 strict check of gather/scatter register combination
diff --git a/readme.txt b/readme.txt
index b348d3b..51f2c32 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
- C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.995
+ C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.996
-----------------------------------------------------------------------------
◎概要
@@ -382,6 +382,7 @@
-----------------------------------------------------------------------------
◎履歴
+2021/09/03 ver 5.996 v{add,sub,mul,div,max,min}{sd,ss}をT_rd_saeなどをサポートするよう修正
2021/08/15 ver 5.995 Linux上でXBYAK_USE_MEMFDが定義されたなら/proc/self/mapsにラベル追加
2021/06/17 ver 5.994 マスクレジスタ用のvcmpXX{ps,pd,ss,sd}のalias追加
2021/06/06 ver 5.993 gather/scatterのレジスタの組み合わせの厳密なチェック
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 215be16..7700bc4 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -142,7 +142,7 @@
enum {
DEFAULT_MAX_CODE_SIZE = 4096,
- VERSION = 0x5995 /* 0xABCD = A.BC(D) */
+ VERSION = 0x5996 /* 0xABCD = A.BC(D) */
};
#ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 2643c0e..cc1ff53 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.995"; }
+const char *getVersionString() const { return "5.996"; }
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); }