User Details
- User Since
- Feb 15 2023, 8:37 PM (70 w, 1 d)
Jan 14 2024
- arm64/disassem.c: use flsl and fix move_wide_preferred check
- arm64/disassem.c: Remove arm64_is_bit_set helper function
- arm64/disassem.c: simplify variable names
Jan 13 2024
- arm64/disassem.c: change TYPE_06 to TYPE_01 for crc32 insts
Aug 25 2023
refs to review:
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ADC--Add-with-Carry-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ADCS--Add-with-Carry--setting-flags-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CLS--Count-Leading-Sign-bits-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CLZ--Count-Leading-Zeros-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CRC32B--CRC32H--CRC32W--CRC32X--CRC32-checksum-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CRC32CB--CRC32CH--CRC32CW--CRC32CX--CRC32C-checksum-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ASR--register---Arithmetic-Shift-Right--register---an-alias-of-ASRV-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/LSL--register---Logical-Shift-Left--register---an-alias-of-LSLV-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/LSR--register---Logical-Shift-Right--register---an-alias-of-LSRV-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ROR--register---Rotate-Right--register---an-alias-of-RORV-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/RBIT--Reverse-Bits-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/REV--Reverse-Bytes-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/REV16--Reverse-bytes-in-16-bit-halfwords-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/REV32--Reverse-bytes-in-32-bit-words-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/REV64--Reverse-Bytes--an-alias-of-REV-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/NGC--Negate-with-Carry--an-alias-of-SBC-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SBC--Subtract-with-Carry-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/NGCS--Negate-with-Carry--setting-flags--an-alias-of-SBCS-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SBCS--Subtract-with-Carry--setting-flags-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SDIV--Signed-Divide-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SMULH--Signed-Multiply-High-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/UDIV--Unsigned-Divide-?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/UMULH--Unsigned-Multiply-High-?lang=en
refs to review:
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/YIELD--YIELD-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/WFI--Wait-For-Interrupt-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/WFE--Wait-For-Event-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/TSB-CSYNC--Trace-Synchronization-Barrier-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SEVL--Send-Event-Local-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SEV--Send-Event-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SB--Speculation-Barrier-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/RETAA--RETAB--Return-from-subroutine--with-pointer-authentication-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/PSSBB--Physical-Speculative-Store-Bypass-Barrier-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/PSB-CSYNC--Profiling-Synchronization-Barrier-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/NOP--No-Operation-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ESB--Error-Synchronization-Barrier-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ERETAA--ERETAB--Exception-Return--with-pointer-authentication-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ERET--Exception-Return-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/DRPS--Debug-restore-process-state-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/DGH--Data-Gathering-Hint-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CFINV--Invert-Carry-Flag-
Aug 24 2023
Aug 23 2023
Aug 20 2023
Aug 12 2023
- arm64/disassem.c: use flsl and fix move_wide_preferred check
Aug 3 2023
Aug 2 2023
refs to review:
ORR (immedaite) and aliases:
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ORR--immediate---Bitwise-OR--immediate--?lang=en
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/MOV--bitmask-immediate---Move--bitmask-immediate---an-alias-of-ORR--immediate--?lang=en
Jul 15 2023
Removed helper function as disscused https://reviews.freebsd.org/D40967
Removed helper functions and fixed naming and order of definitions
Jul 14 2023
Jul 13 2023
sorry, forgot to send refs to review:
ADD (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ADD--extended-register---Add--extended-register--
ADDS (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ADDS--extended-register---Add--extended-register---setting-flags-
CMN (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CMN--extended-register---Compare-Negative--extended-register---an-alias-of-ADDS--extended-register--
CMP (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CMP--extended-register---Compare--extended-register---an-alias-of-SUBS--extended-register--
SUB (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SUB--extended-register---Subtract--extended-register--
SUBS (extended register): https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SUBS--extended-register---Subtract--extended-register---setting-flags-
Jul 10 2023
Jun 28 2023
Jun 17 2023
Jun 11 2023
Changed is_shift_ror to has_shift_ror and fixed check shift type.
For testing RESERVED case (shift == 3) I added instruction manually
Jun 1 2023
refs:
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/MVN--Bitwise-NOT--an-alias-of-ORN--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ORN--shifted-register---Bitwise-OR-NOT--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ORR--shifted-register---Bitwise-OR--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/AND--shifted-register---Bitwise-AND--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ANDS--shifted-register---Bitwise-AND--shifted-register---setting-flags-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/BIC--shifted-register---Bitwise-Bit-Clear--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/BICS--shifted-register---Bitwise-Bit-Clear--shifted-register---setting-flags-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/EON--shifted-register---Bitwise-Exclusive-OR-NOT--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/EOR--shifted-register---Bitwise-Exclusive-OR--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/TST--shifted-register---Test--shifted-register---an-alias-of-ANDS--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/MOV--register---Move--register---an-alias-of-ORR--shifted-register--?lang=en
May 21 2023
Updated type of rm_absent, rd_absent, rn_absent to bool.
May 19 2023
Added new patterns to TYPE_01
May 13 2023
May 8 2023
refs to review:
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/ADDS--shifted-register---Add--shifted-register---setting-flags-
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CMN--shifted-register---Compare-Negative--shifted-register---an-alias-of-ADDS--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/CMP--shifted-register---Compare--shifted-register---an-alias-of-SUBS--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/NEG--shifted-register---Negate--shifted-register---an-alias-of-SUB--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/NEGS--Negate--setting-flags--an-alias-of-SUBS--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SUB--shifted-register---Subtract--shifted-register--
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/SUBS--shifted-register---Subtract--shifted-register---setting-flags-
Rebased with main branch
Apr 29 2023
Inlined x31 detection functions
Apr 27 2023
<Xn> or <Wn> are used to indicate case, where x31 refers to XZR.
<Xn|SP> or <Wn|WSP> are used to refer to a register, where x31 refers to the SP.
Apr 25 2023
Apr 24 2023
Mar 31 2023
Mar 29 2023
review refs:
str (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STR--immediate---Store-Register--immediate--
str (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STR--register---Store-Register--register--
strb (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRB--immediate---Store-Register-Byte--immediate--
strb (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRB--register---Store-Register-Byte--register--
strh (immediate):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRH--immediate---Store-Register-Halfword--immediate--
strh (register):
https://developer.arm.com/documentation/ddi0596/2020-12/Base-Instructions/STRH--register---Store-Register-Halfword--register--
Mar 27 2023
Remove extra line and fix indentation