mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-16 20:17:05 +03:00
[Bug] Fixed RW info of sub and subs instructions (AArch64)
This commit is contained in:
@@ -467,7 +467,7 @@ static inline bool matchSignature(const Operand_& o0, const Operand_& o1, const
|
||||
}
|
||||
|
||||
static inline bool matchSignature(const Operand_& o0, const Operand_& o1, const Operand_& o2, const Operand_& o3, uint32_t instFlags) noexcept {
|
||||
return matchSignature(o0, o1, instFlags) && o1.signature() == o2.signature() && o2.signature() == o3.signature();;
|
||||
return matchSignature(o0, o1, instFlags) && o1.signature() == o2.signature() && o2.signature() == o3.signature();
|
||||
}
|
||||
|
||||
// Memory must be either:
|
||||
|
||||
@@ -430,11 +430,11 @@ const InstInfo _instInfoTable[] = {
|
||||
INST(Stz2g , BaseRM_SImm9 , (0b1101100111100000000010, 0b1101100111100000000001, kX , kSP, 0, 4) , kRWI_RW , 0 , 21 ), // #369
|
||||
INST(Stzg , BaseRM_SImm9 , (0b1101100101100000000010, 0b1101100101100000000001, kX , kSP, 0, 4) , kRWI_RW , 0 , 22 ), // #370
|
||||
INST(Stzgm , BaseRM_NoImm , (0b1101100100100000000000, kX , kZR, 0) , kRWI_RW , 0 , 20 ), // #371
|
||||
INST(Sub , BaseAddSub , (0b1001011000, 0b1001011001, 0b1010001) , kRWI_X , 0 , 2 ), // #372
|
||||
INST(Sub , BaseAddSub , (0b1001011000, 0b1001011001, 0b1010001) , kRWI_W , 0 , 2 ), // #372
|
||||
INST(Subg , BaseRRII , (0b1101000110000000000000, kX, kSP, kX, kSP, 6, 4, 16, 4, 0, 10) , kRWI_W , 0 , 1 ), // #373
|
||||
INST(Subp , BaseRRR , (0b1001101011000000000000, kX, kZR, kX, kSP, kX, kSP, false) , kRWI_W , 0 , 20 ), // #374
|
||||
INST(Subps , BaseRRR , (0b1011101011000000000000, kX, kZR, kX, kSP, kX, kSP, false) , kRWI_W , 0 , 21 ), // #375
|
||||
INST(Subs , BaseAddSub , (0b1101011000, 0b1101011001, 0b1110001) , kRWI_X , 0 , 3 ), // #376
|
||||
INST(Subs , BaseAddSub , (0b1101011000, 0b1101011001, 0b1110001) , kRWI_W , 0 , 3 ), // #376
|
||||
INST(Svc , BaseOpImm , (0b11010100000000000000000000000001, 16, 5) , 0 , 0 , 12 ), // #377
|
||||
INST(Swp , BaseAtomicOp , (0b1011100000100000100000, kWX, 30, 1) , kRWI_RWX , 0 , 111), // #378
|
||||
INST(Swpa , BaseAtomicOp , (0b1011100010100000100000, kWX, 30, 1) , kRWI_RWX , 0 , 112), // #379
|
||||
|
||||
@@ -448,7 +448,7 @@ static inline JitAllocatorPrivateImpl* JitAllocatorImpl_new(const JitAllocator::
|
||||
// Setup pool count to [1..3].
|
||||
size_t poolCount = 1;
|
||||
if (Support::test(options, JitAllocatorOptions::kUseMultiplePools))
|
||||
poolCount = kJitAllocatorMultiPoolCount;;
|
||||
poolCount = kJitAllocatorMultiPoolCount;
|
||||
|
||||
// Setup block size [64kB..256MB].
|
||||
if (blockSize < 64 * 1024 || blockSize > 256 * 1024 * 1024 || !Support::isPowerOf2(blockSize))
|
||||
|
||||
@@ -147,7 +147,7 @@ class InstructionNameData {
|
||||
suffix = name.substring(longestPrefix);
|
||||
}
|
||||
else if (longestSuffix) {
|
||||
const splitAt = Math.min(name.length - longestSuffix, kMaxPrefixSize);;
|
||||
const splitAt = Math.min(name.length - longestSuffix, kMaxPrefixSize);
|
||||
prefix = name.substring(0, splitAt);
|
||||
suffix = name.substring(splitAt);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user