Changeset 106756 in vbox
- Timestamp:
- Oct 28, 2024 2:55:43 PM (5 months ago)
- svn:sync-xref-src-repo-rev:
- 165640
- Location:
- trunk/src/VBox/Disassembler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmTables-armv8-a64-ld-st.cpp.h
r106754 r106756 341 341 342 342 343 /* SIMD STR/LDR */ 344 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_DECODER(LdStRegImmPostIndexSimd) 345 DIS_ARMV8_INSN_DECODE(kDisParmParseSimdRegSize, 30, 2, DIS_ARMV8_INSN_PARAM_UNSET), 346 DIS_ARMV8_INSN_DECODE(kDisParmParseSimdRegScalar, 0, 5, 0 /*idxParam*/), 347 DIS_ARMV8_INSN_DECODE(kDisParmParseAddrGprSp, 5, 5, 1 /*idxParam*/), 348 DIS_ARMV8_INSN_DECODE(kDisParmParseSImmMemOffUnscaled, 12, 9, 1 /*idxParam*/), 349 DIS_ARMV8_INSN_DECODE(kDisParmParseSetPostIndexed, 0, 0, 1 /*idxParam*/), 350 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_DECODER_ALTERNATIVE(LdStRegImmPostIndexSimd128) 351 DIS_ARMV8_INSN_DECODE(kDisParmParseSimdRegSize128, 0, 0, DIS_ARMV8_INSN_PARAM_UNSET), 352 DIS_ARMV8_INSN_DECODE(kDisParmParseSimdRegScalar, 0, 5, 0 /*idxParam*/), 353 DIS_ARMV8_INSN_DECODE(kDisParmParseAddrGprSp, 5, 5, 1 /*idxParam*/), 354 DIS_ARMV8_INSN_DECODE(kDisParmParseSImmMemOffUnscaled, 12, 9, 1 /*idxParam*/), 355 DIS_ARMV8_INSN_DECODE(kDisParmParseSetPostIndexed, 0, 0, 1 /*idxParam*/), 356 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(LdStRegImmPostIndexSimd) 357 DIS_ARMV8_OP( 0x3c000400, "str", OP_ARMV8_A64_STR, DISOPTYPE_HARMLESS), 358 DIS_ARMV8_OP( 0x3c400400, "ldr", OP_ARMV8_A64_LDR, DISOPTYPE_HARMLESS), 359 DIS_ARMV8_OP_ALT_DECODE(0x3c800400, "str", OP_ARMV8_A64_STR, DISOPTYPE_HARMLESS, LdStRegImmPostIndexSimd128), /** @todo size == 0. */ 360 DIS_ARMV8_OP_ALT_DECODE(0x3cc00400, "ldr", OP_ARMV8_A64_LDR, DISOPTYPE_HARMLESS, LdStRegImmPostIndexSimd128), /** @todo size == 0. */ 361 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END(LdStRegImmPostIndexSimd, 0x3fe00c00 /*fFixedInsn*/, 362 kDisArmV8OpcDecodeNop, 363 RT_BIT_32(22) | RT_BIT_32(23), 22); 364 365 343 366 /* 344 367 * C4.1.94.26 - Loads and Stores - Load/Store register (immediate post-indexed) variants … … 353 376 DIS_ARMV8_DECODE_MAP_DEFINE_BEGIN(LdStRegImmPostIndex) 354 377 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegImmPostIndexGpr), 355 DIS_ARMV8_DECODE_MAP_ INVALID_ENTRY, /** @todo */378 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegImmPostIndexSimd), 356 379 DIS_ARMV8_DECODE_MAP_DEFINE_END(LdStRegImmPostIndex, RT_BIT_32(26), 26); 357 380 -
trunk/src/VBox/Disassembler/testcase/tstDisasmArmv8-1-asm.S
r106754 r106756 1562 1562 1563 1563 1564 ldr b0, [x28], #0 1565 ldr b0, [x28], #-256 1566 ldr b0, [x28], #255 1567 1568 ldr b31, [sp], #0 1569 ldr b31, [sp], #-256 1570 ldr b31, [sp], #255 1571 1572 ldr h0, [x28], #0 1573 ldr h0, [x28], #-256 1574 ldr h0, [x28], #255 1575 1576 ldr h31, [sp], #0 1577 ldr h31, [sp], #-256 1578 ldr h31, [sp], #255 1579 1580 ldr s0, [x28], #0 1581 ldr s0, [x28], #-256 1582 ldr s0, [x28], #255 1583 1584 ldr s31, [sp], #0 1585 ldr s31, [sp], #-256 1586 ldr s31, [sp], #255 1587 1588 ldr d0, [x28], #0 1589 ldr d0, [x28], #-256 1590 ldr d0, [x28], #255 1591 1592 ldr d31, [sp], #0 1593 ldr d31, [sp], #-256 1594 ldr d31, [sp], #255 1595 1596 ldr q0, [x28], #0 1597 ldr q0, [x28], #-256 1598 ldr q0, [x28], #255 1599 1600 ldr q31, [sp], #0 1601 ldr q31, [sp], #-256 1602 ldr q31, [sp], #255 1603 1604 1564 1605 ; SIMD memory stores 1565 1606 str b0, [x0] … … 1751 1792 stnp q30, q31, [x0, #-1024] 1752 1793 stnp q23, q24, [x0, #1008] 1794 1795 1796 str b0, [x28], #0 1797 str b0, [x28], #-256 1798 str b0, [x28], #255 1799 1800 str b31, [sp], #0 1801 str b31, [sp], #-256 1802 str b31, [sp], #255 1803 1804 str h0, [x28], #0 1805 str h0, [x28], #-256 1806 str h0, [x28], #255 1807 1808 str h31, [sp], #0 1809 str h31, [sp], #-256 1810 str h31, [sp], #255 1811 1812 str s0, [x28], #0 1813 str s0, [x28], #-256 1814 str s0, [x28], #255 1815 1816 str s31, [sp], #0 1817 str s31, [sp], #-256 1818 str s31, [sp], #255 1819 1820 str d0, [x28], #0 1821 str d0, [x28], #-256 1822 str d0, [x28], #255 1823 1824 str d31, [sp], #0 1825 str d31, [sp], #-256 1826 str d31, [sp], #255 1827 1828 str q0, [x28], #0 1829 str q0, [x28], #-256 1830 str q0, [x28], #255 1831 1832 str q31, [sp], #0 1833 str q31, [sp], #-256 1834 str q31, [sp], #255 1753 1835 1754 1836
Note:
See TracChangeset
for help on using the changeset viewer.