FEX icon indicating copy to clipboard operation
FEX copied to clipboard

Add support for transparent aarch64 simulation with x86 host

Open skmp opened this issue 3 years ago • 3 comments

Do test SVE and other stuff.

skmp avatar Aug 11 '22 20:08 skmp

Reverse of https://github.com/FEX-Emu/FEX/issues/276

skmp avatar Aug 25 '22 19:08 skmp

@lioncash reverse of https://github.com/FEX-Emu/FEX/commit/cb17127ccbd61ff16071ab46f61602dd104151f0

skmp avatar Aug 25 '22 19:08 skmp

@lioncash https://github.com/FEX-Emu/FEX/commit/9ea66c8d88a000f04ba5b5963e1f43dd46ea1653 should have most of what you need. Is that sufficient to unblock you?

vixl doesn't support structs or stack params for the magic host calls I spent a couple of hours trying to hack them in, but the changes are invasive (It maps i/o to GenericOperand, which uses CPURegister and has no easy way to represent a register pair) now that I'm more familiar with vixl it probably can be hacked through as a result, x87, and cpuid fails everything else seems to work

Using the simulator

-c irjitsim should turn it on, assuming ENABLE_JIT_ARM64 has been enabled in cmake and it is built on an x86_64 host.

Running the tests with the simulator

I've added the tests with the jitsim_500_m prefix

73% tests passed, 324 tests failed out of 1214

Example test case

skmp@mangie:~/projects/FEX/build$ ctest -R jitsim_500_m/Test_TwoByte/0F_92.asm --verbose
UpdateCTestConfiguration  from :/home/skmp/projects/FEX/build/DartConfiguration.tcl
Parse Config file:/home/skmp/projects/FEX/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/skmp/projects/FEX/build/DartConfiguration.tcl
Parse Config file:/home/skmp/projects/FEX/build/DartConfiguration.tcl
Test project /home/skmp/projects/FEX/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 6717
    Start 6717: jitsim_500_m/Test_TwoByte/0F_92.asm

6717: Test command: /usr/bin/python3 "/home/skmp/projects/FEX/Scripts/testharness_runner.py" "/home/skmp/projects/FEX/unittests/ASM/Known_Failures" "/home/skmp/projects/FEX/unittests/ASM/Disabled_Tests" "/home/skmp/projects/FEX/unittests/ASM/Disabled_Tests_jit" "/home/skmp/projects/FEX/unittests/ASM/Disabled_Tests_x64" "Test_TwoByte/0F_92.asm" "/home/skmp/projects/FEX/build/Bin/TestHarnessRunner" "--no-silent" "-g" "-c" "irjitsim" "-n" "500" "--multiblock" "/home/skmp/projects/FEX/build/unittests/ASM/TwoByte/0F_92.asm.bin" "/home/skmp/projects/FEX/build/unittests/ASM/TwoByte/0F_92.asm.config.bin"
6717: Test timeout computed to be: 1500
6717: #             x0: 0x00007fd5d238ebb0
6717: #             x1: 0x000000000badbeef
6717: #             x2: 0x000000000badbeef
6717: #             x3: 0x000000000badbeef
6717: #             x4: 0x000000000badbeef
6717: #             x5: 0x000000000badbeef
6717: #             x6: 0x000000000badbeef
6717: #             x7: 0x000000000badbeef
6717: #             x8: 0x000000000badbeef
6717: #             x9: 0x000000000badbeef
6717: #            x10: 0x000000000badbeef
6717: #            x11: 0x000000000badbeef
6717: #            x12: 0x000000000badbeef
6717: #            x13: 0x000000000badbeef
6717: #            x14: 0x000000000badbeef
6717: #            x15: 0x000000000badbeef
6717: #            x16: 0x000000000badbeef
6717: #            x17: 0x000000000badbeef
6717: #            x18: 0x000000000badbeef
6717: #            x19: 0x000000000badbeef
6717: #            x20: 0x000000000badbeef
6717: #            x21: 0x000000000badbeef
6717: #            x22: 0x000000000badbeef
6717: #            x23: 0x000000000badbeef
6717: #            x24: 0x000000000badbeef
6717: #            x25: 0x000000000badbeef
6717: #            x26: 0x000000000badbeef
6717: #            x27: 0x000000000badbeef
6717: #            x28: 0x000000000badbeef
6717: #            x29: 0x000000000badbeef
6717: #             lr: 0x0000000000000000
6717: #             sp: 0x00007fd5d236d800
6717: #      z0<127:0>: 0x7ff0f0007f80f0017ff0f0007f80f000
6717: #      z1<127:0>: 0x7ff0f0017f80f0017ff0f0017f80f000
6717: #      z2<127:0>: 0x7ff0f0027f80f0017ff0f0027f80f000
6717: #      z3<127:0>: 0x7ff0f0037f80f0017ff0f0037f80f000
6717: #      z4<127:0>: 0x7ff0f0047f80f0017ff0f0047f80f000
6717: #      z5<127:0>: 0x7ff0f0057f80f0017ff0f0057f80f000
6717: #      z6<127:0>: 0x7ff0f0067f80f0017ff0f0067f80f000
6717: #      z7<127:0>: 0x7ff0f0077f80f0017ff0f0077f80f000
6717: #      z8<127:0>: 0x7ff0f0087f80f0017ff0f0087f80f000
6717: #      z9<127:0>: 0x7ff0f0097f80f0017ff0f0097f80f000
6717: #     z10<127:0>: 0x7ff0f00a7f80f0017ff0f00a7f80f000
6717: #     z11<127:0>: 0x7ff0f00b7f80f0017ff0f00b7f80f000
6717: #     z12<127:0>: 0x7ff0f00c7f80f0017ff0f00c7f80f000
6717: #     z13<127:0>: 0x7ff0f00d7f80f0017ff0f00d7f80f000
6717: #     z14<127:0>: 0x7ff0f00e7f80f0017ff0f00e7f80f000
6717: #     z15<127:0>: 0x7ff0f00f7f80f0017ff0f00f7f80f000
6717: #     z16<127:0>: 0x7ff0f0107f80f0017ff0f0107f80f000
6717: #     z17<127:0>: 0x7ff0f0117f80f0017ff0f0117f80f000
6717: #     z18<127:0>: 0x7ff0f0127f80f0017ff0f0127f80f000
6717: #     z19<127:0>: 0x7ff0f0137f80f0017ff0f0137f80f000
6717: #     z20<127:0>: 0x7ff0f0147f80f0017ff0f0147f80f000
6717: #     z21<127:0>: 0x7ff0f0157f80f0017ff0f0157f80f000
6717: #     z22<127:0>: 0x7ff0f0167f80f0017ff0f0167f80f000
6717: #     z23<127:0>: 0x7ff0f0177f80f0017ff0f0177f80f000
6717: #     z24<127:0>: 0x7ff0f0187f80f0017ff0f0187f80f000
6717: #     z25<127:0>: 0x7ff0f0197f80f0017ff0f0197f80f000
6717: #     z26<127:0>: 0x7ff0f01a7f80f0017ff0f01a7f80f000
6717: #     z27<127:0>: 0x7ff0f01b7f80f0017ff0f01b7f80f000
6717: #     z28<127:0>: 0x7ff0f01c7f80f0017ff0f01c7f80f000
6717: #     z29<127:0>: 0x7ff0f01d7f80f0017ff0f01d7f80f000
6717: #     z30<127:0>: 0x7ff0f01e7f80f0017ff0f01e7f80f000
6717: #     z31<127:0>: 0x7ff0f01f7f80f0017ff0f01f7f80f000
6717: #       p0<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6717: #       p1<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
6717: #       p2<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
6717: #       p3<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
6717: #       p4<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
6717: #       p5<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
6717: #       p6<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
6717: #       p7<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
6717: #       p8<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
6717: #       p9<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
6717: #      p10<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
6717: #      p11<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
6717: #      p12<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
6717: #      p13<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
6717: #      p14<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
6717: #      p15<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
6717: #      FFR<15:0>: 0b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
6717: 0x00007fd5d2ba9000  a9bf53f3		stp x19, x20, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7f0
6717: #      x19<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7f0
6717: #      x20<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7f8
6717: 0x00007fd5d2ba9004  a9bf5bf5		stp x21, x22, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7e0
6717: #      x21<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7e0
6717: #      x22<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7e8
6717: 0x00007fd5d2ba9008  a9bf63f7		stp x23, x24, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7d0
6717: #      x23<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7d0
6717: #      x24<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7d8
6717: 0x00007fd5d2ba900c  a9bf6bf9		stp x25, x26, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7c0
6717: #      x25<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7c0
6717: #      x26<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7c8
6717: 0x00007fd5d2ba9010  a9bf73fb		stp x27, x28, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7b0
6717: #      x27<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7b0
6717: #      x28<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7b8
6717: 0x00007fd5d2ba9014  a9bf7bfd		stp x29, x30, [sp, #-16]!
6717: #             sp: 0x00007fd5d236d7a0
6717: #      x29<63:0>: 0x000000000badbeef -> 0x00007fd5d236d7a0
6717: #       lr<63:0>: 0x0000000000000000 -> 0x00007fd5d236d7a8
6717: 0x00007fd5d2ba9018  d10103ff		sub sp, sp, #0x40 (64)
6717: #             sp: 0x00007fd5d236d760
6717: 0x00007fd5d2ba901c  910003f3		mov x19, sp
6717: #            x19: 0x00007fd5d236d760
6717: 0x00007fd5d2ba9020  0dbfa668		st4 {v8.d, v9.d, v10.d, v11.d}[0], [x19], #32
6717: #      v8<127:0>: 0x7ff0f0087f80f0017ff0f0087f80f000 (..., nan)
6717: #      v9<127:0>: 0x7ff0f0097f80f0017ff0f0097f80f000 (..., nan)
6717: #     v10<127:0>: 0x7ff0f00a7f80f0017ff0f00a7f80f000 (..., nan)
6717: #     v11<127:0>: 0x7ff0f00b7f80f0017ff0f00b7f80f000 (..., nan)
6717: #                                                  ╙─ 0x7ff0f00b7f80f000'7ff0f00a7f80f000'7ff0f0097f80f000'7ff0f0087f80f000 -> 0x00007fd5d236d760
6717: #            x19: 0x00007fd5d236d780
6717: 0x00007fd5d2ba9024  0dbfa66c		st4 {v12.d, v13.d, v14.d, v15.d}[0], [x19], #32
6717: #     v12<127:0>: 0x7ff0f00c7f80f0017ff0f00c7f80f000 (..., nan)
6717: #     v13<127:0>: 0x7ff0f00d7f80f0017ff0f00d7f80f000 (..., nan)
6717: #     v14<127:0>: 0x7ff0f00e7f80f0017ff0f00e7f80f000 (..., nan)
6717: #     v15<127:0>: 0x7ff0f00f7f80f0017ff0f00f7f80f000 (..., nan)
6717: #                                                  ╙─ 0x7ff0f00f7f80f000'7ff0f00e7f80f000'7ff0f00d7f80f000'7ff0f00c7f80f000 -> 0x00007fd5d236d780
6717: #            x19: 0x00007fd5d236d7a0
6717: 0x00007fd5d2ba9028  aa0003fc		mov x28, x0
6717: #            x28: 0x00007fd5d238ebb0
6717: 0x00007fd5d2ba902c  910003e0		mov x0, sp
6717: #             x0: 0x00007fd5d236d760
6717: 0x00007fd5d2ba9030  f901ef80		str x0, [x28, #984]
6717: #       x0<63:0>: 0x00007fd5d236d760 -> 0x00007fd5d238ef88
6717: 0x00007fd5d2ba9034  a9409784		ldp x4, x5, [x28, #8]
6717: #             x4: 0x0000000000000000 <- 0x00007fd5d238ebb8
6717: #             x5: 0x0000000000000000 <- 0x00007fd5d238ebc0
6717: 0x00007fd5d2ba9038  a9419f86		ldp x6, x7, [x28, #24]
6717: #             x6: 0x0000000000000000 <- 0x00007fd5d238ebc8
6717: #             x7: 0x0000000000000000 <- 0x00007fd5d238ebd0
6717: 0x00007fd5d2ba903c  a942a788		ldp x8, x9, [x28, #40]
6717: #             x8: 0x0000000000000000 <- 0x00007fd5d238ebd8
6717: #             x9: 0x0000000000000000 <- 0x00007fd5d238ebe0
6717: 0x00007fd5d2ba9040  a943af8a		ldp x10, x11, [x28, #56]
6717: #            x10: 0x0000000000000000 <- 0x00007fd5d238ebe8
6717: #            x11: 0x00007fd5d2bab000 <- 0x00007fd5d238ebf0
6717: 0x00007fd5d2ba9044  a944cb8c		ldp x12, x18, [x28, #72]
6717: #            x12: 0x0000000000000000 <- 0x00007fd5d238ebf8
6717: #            x18: 0x0000000000000000 <- 0x00007fd5d238ec00
6717: 0x00007fd5d2ba9048  a945c391		ldp x17, x16, [x28, #88]
6717: #            x17: 0x0000000000000000 <- 0x00007fd5d238ec08
6717: #            x16: 0x0000000000000000 <- 0x00007fd5d238ec10
6717: 0x00007fd5d2ba904c  a946bb8f		ldp x15, x14, [x28, #104]
6717: #            x15: 0x0000000000000000 <- 0x00007fd5d238ec18
6717: #            x14: 0x0000000000000000 <- 0x00007fd5d238ec20
6717: 0x00007fd5d2ba9050  a947f78d		ldp x13, x29, [x28, #120]
6717: #            x13: 0x0000000000000000 <- 0x00007fd5d238ec28
6717: #            x29: 0x0000000000000000 <- 0x00007fd5d238ec30
6717: 0x00007fd5d2ba9054  3dc02b90		ldr q16, [x28, #160]
6717: #            v16: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec50
6717: 0x00007fd5d2ba9058  3dc03391		ldr q17, [x28, #192]
6717: #            v17: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec70
6717: 0x00007fd5d2ba905c  3dc03b92		ldr q18, [x28, #224]
6717: #            v18: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec90
6717: 0x00007fd5d2ba9060  3dc04393		ldr q19, [x28, #256]
6717: #            v19: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecb0
6717: 0x00007fd5d2ba9064  3dc04b94		ldr q20, [x28, #288]
6717: #            v20: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecd0
6717: 0x00007fd5d2ba9068  3dc05395		ldr q21, [x28, #320]
6717: #            v21: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecf0
6717: 0x00007fd5d2ba906c  3dc05b96		ldr q22, [x28, #352]
6717: #            v22: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed10
6717: 0x00007fd5d2ba9070  3dc06397		ldr q23, [x28, #384]
6717: #            v23: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed30
6717: 0x00007fd5d2ba9074  3dc06b98		ldr q24, [x28, #416]
6717: #            v24: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed50
6717: 0x00007fd5d2ba9078  3dc07399		ldr q25, [x28, #448]
6717: #            v25: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed70
6717: 0x00007fd5d2ba907c  3dc07b9a		ldr q26, [x28, #480]
6717: #            v26: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed90
6717: 0x00007fd5d2ba9080  3dc0839b		ldr q27, [x28, #512]
6717: #            v27: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edb0
6717: 0x00007fd5d2ba9084  3dc08b9c		ldr q28, [x28, #544]
6717: #            v28: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edd0
6717: 0x00007fd5d2ba9088  3dc0939d		ldr q29, [x28, #576]
6717: #            v29: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edf0
6717: 0x00007fd5d2ba908c  3dc09b9e		ldr q30, [x28, #608]
6717: #            v30: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ee10
6717: 0x00007fd5d2ba9090  3dc0a39f		ldr q31, [x28, #640]
6717: #            v31: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ee30
6717: 0x00007fd5d2ba9094  d503201f		nop
6717: 0x00007fd5d2ba9098  d503201f		nop
6717: 0x00007fd5d2ba909c  d503201f		nop
6717: 0x00007fd5d2ba90a0  f9400382		ldr x2, [x28]
6717: #             x2: 0x0000000000010000 <- 0x00007fd5d238ebb0
6717: 0x00007fd5d2ba90a4  f9431380		ldr x0, [x28, #1568]
6717: #             x0: 0x00007fd5bfb80000 <- 0x00007fd5d238f1d0
6717: 0x00007fd5d2ba90a8  92404c43		and x3, x2, #0xfffff
6717: #             x3: 0x0000000000010000
6717: 0x00007fd5d2ba90ac  8b031000		add x0, x0, x3, lsl #4
6717: #             x0: 0x00007fd5bfc80000
6717: 0x00007fd5d2ba90b0  a9400003		ldp x3, x0, [x0]
6717: #             x3: 0x0000000000000000 <- 0x00007fd5bfc80000
6717: #             x0: 0x0000000000000000 <- 0x00007fd5bfc80008
6717: 0x00007fd5d2ba90b4  eb02001f		cmp x0, x2
6717: # NZCV: N:1 Z:0 C:0 V:0
6717: 0x00007fd5d2ba90b8  54000041		b.ne #+0x8 (addr 0x7fd5d2ba90c0)
6717: # Branch to 0x00007fd5d2ba90c0.
6717: 0x00007fd5d2ba90c0  f9431780		ldr x0, [x28, #1576]
6717: #             x0: 0x00007fd5c8b80000 <- 0x00007fd5d238f1d8
6717: 0x00007fd5d2ba90c4  92408c43		and x3, x2, #0xfffffffff
6717: #             x3: 0x0000000000010000
6717: 0x00007fd5d2ba90c8  d34cfc61		lsr x1, x3, #12
6717: #             x1: 0x0000000000000010
6717: 0x00007fd5d2ba90cc  f8617800		ldr x0, [x0, x1, lsl #3]
6717: #             x0: 0x0000000000000000 <- 0x00007fd5c8b80080
6717: 0x00007fd5d2ba90d0  b4000ca0		cbz x0, #+0x194 (addr 0x7fd5d2ba9264)
6717: # Branch to 0x00007fd5d2ba9264.
6717: 0x00007fd5d2ba9264  a9009784		stp x4, x5, [x28, #8]
6717: #       x4<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebb8
6717: #       x5<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebc0
6717: 0x00007fd5d2ba9268  a9019f86		stp x6, x7, [x28, #24]
6717: #       x6<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebc8
6717: #       x7<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebd0
6717: 0x00007fd5d2ba926c  a902a788		stp x8, x9, [x28, #40]
6717: #       x8<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebd8
6717: #       x9<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebe0
6717: 0x00007fd5d2ba9270  a903af8a		stp x10, x11, [x28, #56]
6717: #      x10<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebe8
6717: #      x11<63:0>: 0x00007fd5d2bab000 -> 0x00007fd5d238ebf0
6717: 0x00007fd5d2ba9274  a904cb8c		stp x12, x18, [x28, #72]
6717: #      x12<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebf8
6717: #      x18<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec00
6717: 0x00007fd5d2ba9278  a905c391		stp x17, x16, [x28, #88]
6717: #      x17<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec08
6717: #      x16<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec10
6717: 0x00007fd5d2ba927c  a906bb8f		stp x15, x14, [x28, #104]
6717: #      x15<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec18
6717: #      x14<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec20
6717: 0x00007fd5d2ba9280  a907f78d		stp x13, x29, [x28, #120]
6717: #      x13<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec28
6717: #      x29<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec30
6717: 0x00007fd5d2ba9284  3d802b90		str q16, [x28, #160]
6717: #     v16<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec50
6717: 0x00007fd5d2ba9288  3d803391		str q17, [x28, #192]
6717: #     v17<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec70
6717: 0x00007fd5d2ba928c  3d803b92		str q18, [x28, #224]
6717: #     v18<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec90
6717: 0x00007fd5d2ba9290  3d804393		str q19, [x28, #256]
6717: #     v19<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecb0
6717: 0x00007fd5d2ba9294  3d804b94		str q20, [x28, #288]
6717: #     v20<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecd0
6717: 0x00007fd5d2ba9298  3d805395		str q21, [x28, #320]
6717: #     v21<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecf0
6717: 0x00007fd5d2ba929c  3d805b96		str q22, [x28, #352]
6717: #     v22<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed10
6717: 0x00007fd5d2ba92a0  3d806397		str q23, [x28, #384]
6717: #     v23<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed30
6717: 0x00007fd5d2ba92a4  3d806b98		str q24, [x28, #416]
6717: #     v24<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed50
6717: 0x00007fd5d2ba92a8  3d807399		str q25, [x28, #448]
6717: #     v25<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed70
6717: 0x00007fd5d2ba92ac  3d807b9a		str q26, [x28, #480]
6717: #     v26<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed90
6717: 0x00007fd5d2ba92b0  3d80839b		str q27, [x28, #512]
6717: #     v27<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edb0
6717: 0x00007fd5d2ba92b4  3d808b9c		str q28, [x28, #544]
6717: #     v28<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edd0
6717: 0x00007fd5d2ba92b8  3d80939d		str q29, [x28, #576]
6717: #     v29<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edf0
6717: 0x00007fd5d2ba92bc  3d809b9e		str q30, [x28, #608]
6717: #     v30<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ee10
6717: 0x00007fd5d2ba92c0  3d80a39f		str q31, [x28, #640]
6717: #     v31<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ee30
6717: 0x00007fd5d2ba92c4  58003f80		ldr x0, pc+2032 (addr 0x7fd5d2ba9ab4)
6717: #             x0: 0x00007fd5d238e000 <- 0x00007fd5d2ba9ab4
6717: 0x00007fd5d2ba92c8  aa1c03e1		mov x1, x28
6717: #             x1: 0x00007fd5d238ebb0
6717: 0x00007fd5d2ba92cc  58003fc3		ldr x3, pc+2040 (addr 0x7fd5d2ba9ac4)
6717: #             x3: 0x000055ec637af260 <- 0x00007fd5d2ba9ac4
6717: 0x00007fd5d2ba92d0  d45bd7a0		hlt #0xdebd
6717: #             lr: 0x00007fd5d2ba92dc
6717: #             x0: 0x00007fd5bd000020
6717: # Branch to 0x00007fd5d2ba92dc.
6717: 0x00007fd5d2ba92dc  a9409784		ldp x4, x5, [x28, #8]
6717: #             x4: 0x0000000000000000 <- 0x00007fd5d238ebb8
6717: #             x5: 0x0000000000000000 <- 0x00007fd5d238ebc0
6717: 0x00007fd5d2ba92e0  a9419f86		ldp x6, x7, [x28, #24]
6717: #             x6: 0x0000000000000000 <- 0x00007fd5d238ebc8
6717: #             x7: 0x0000000000000000 <- 0x00007fd5d238ebd0
6717: 0x00007fd5d2ba92e4  a942a788		ldp x8, x9, [x28, #40]
6717: #             x8: 0x0000000000000000 <- 0x00007fd5d238ebd8
6717: #             x9: 0x0000000000000000 <- 0x00007fd5d238ebe0
6717: 0x00007fd5d2ba92e8  a943af8a		ldp x10, x11, [x28, #56]
6717: #            x10: 0x0000000000000000 <- 0x00007fd5d238ebe8
6717: #            x11: 0x00007fd5d2bab000 <- 0x00007fd5d238ebf0
6717: 0x00007fd5d2ba92ec  a944cb8c		ldp x12, x18, [x28, #72]
6717: #            x12: 0x0000000000000000 <- 0x00007fd5d238ebf8
6717: #            x18: 0x0000000000000000 <- 0x00007fd5d238ec00
6717: 0x00007fd5d2ba92f0  a945c391		ldp x17, x16, [x28, #88]
6717: #            x17: 0x0000000000000000 <- 0x00007fd5d238ec08
6717: #            x16: 0x0000000000000000 <- 0x00007fd5d238ec10
6717: 0x00007fd5d2ba92f4  a946bb8f		ldp x15, x14, [x28, #104]
6717: #            x15: 0x0000000000000000 <- 0x00007fd5d238ec18
6717: #            x14: 0x0000000000000000 <- 0x00007fd5d238ec20
6717: 0x00007fd5d2ba92f8  a947f78d		ldp x13, x29, [x28, #120]
6717: #            x13: 0x0000000000000000 <- 0x00007fd5d238ec28
6717: #            x29: 0x0000000000000000 <- 0x00007fd5d238ec30
6717: 0x00007fd5d2ba92fc  3dc02b90		ldr q16, [x28, #160]
6717: #            v16: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec50
6717: 0x00007fd5d2ba9300  3dc03391		ldr q17, [x28, #192]
6717: #            v17: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec70
6717: 0x00007fd5d2ba9304  3dc03b92		ldr q18, [x28, #224]
6717: #            v18: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ec90
6717: 0x00007fd5d2ba9308  3dc04393		ldr q19, [x28, #256]
6717: #            v19: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecb0
6717: 0x00007fd5d2ba930c  3dc04b94		ldr q20, [x28, #288]
6717: #            v20: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecd0
6717: 0x00007fd5d2ba9310  3dc05395		ldr q21, [x28, #320]
6717: #            v21: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ecf0
6717: 0x00007fd5d2ba9314  3dc05b96		ldr q22, [x28, #352]
6717: #            v22: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed10
6717: 0x00007fd5d2ba9318  3dc06397		ldr q23, [x28, #384]
6717: #            v23: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed30
6717: 0x00007fd5d2ba931c  3dc06b98		ldr q24, [x28, #416]
6717: #            v24: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed50
6717: 0x00007fd5d2ba9320  3dc07399		ldr q25, [x28, #448]
6717: #            v25: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed70
6717: 0x00007fd5d2ba9324  3dc07b9a		ldr q26, [x28, #480]
6717: #            v26: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ed90
6717: 0x00007fd5d2ba9328  3dc0839b		ldr q27, [x28, #512]
6717: #            v27: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edb0
6717: 0x00007fd5d2ba932c  3dc08b9c		ldr q28, [x28, #544]
6717: #            v28: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edd0
6717: 0x00007fd5d2ba9330  3dc0939d		ldr q29, [x28, #576]
6717: #            v29: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238edf0
6717: 0x00007fd5d2ba9334  3dc09b9e		ldr q30, [x28, #608]
6717: #            v30: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ee10
6717: 0x00007fd5d2ba9338  3dc0a39f		ldr q31, [x28, #640]
6717: #            v31: 0x00000000bad0dad100000000deadbeef <- 0x00007fd5d238ee30
6717: 0x00007fd5d2ba933c  17ffff59		b #-0x29c (addr 0x7fd5d2ba90a0)
6717: # Branch to 0x00007fd5d2ba90a0.
6717: 0x00007fd5d2ba90a0  f9400382		ldr x2, [x28]
6717: #             x2: 0x0000000000010000 <- 0x00007fd5d238ebb0
6717: 0x00007fd5d2ba90a4  f9431380		ldr x0, [x28, #1568]
6717: #             x0: 0x00007fd5bfb80000 <- 0x00007fd5d238f1d0
6717: 0x00007fd5d2ba90a8  92404c43		and x3, x2, #0xfffff
6717: #             x3: 0x0000000000010000
6717: 0x00007fd5d2ba90ac  8b031000		add x0, x0, x3, lsl #4
6717: #             x0: 0x00007fd5bfc80000
6717: 0x00007fd5d2ba90b0  a9400003		ldp x3, x0, [x0]
6717: #             x3: 0x00007fd5bd000020 <- 0x00007fd5bfc80000
6717: #             x0: 0x0000000000010000 <- 0x00007fd5bfc80008
6717: 0x00007fd5d2ba90b4  eb02001f		cmp x0, x2
6717: # NZCV: N:0 Z:1 C:1 V:0
6717: 0x00007fd5d2ba90b8  54000041		b.ne #+0x8 (addr 0x7fd5d2ba90c0)
6717: 0x00007fd5d2ba90bc  d61f0060		br x3
6717: # Branch to 0x00007fd5bd000020.
6717: 0x00007fd5bd000020  d280001d		mov x29, #0x0
6717: #            x29: 0x0000000000000000
6717: 0x00007fd5bd000024  f2bc001d		movk x29, #0xe000, lsl #16
6717: #            x29: 0x00000000e0000000
6717: 0x00007fd5bd000028  d2800031		mov x17, #0x1
6717: #            x17: 0x0000000000000001
6717: 0x00007fd5bd00002c  d2800010		mov x16, #0x0
6717: #            x16: 0x0000000000000000
6717: 0x00007fd5bd000030  d280004f		mov x15, #0x2
6717: #            x15: 0x0000000000000002
6717: 0x00007fd5bd000034  d29ffff4		mov x20, #0xffff
6717: #            x20: 0x000000000000ffff
6717: 0x00007fd5bd000038  f2bffff4		movk x20, #0xffff, lsl #16
6717: #            x20: 0x00000000ffffffff
6717: 0x00007fd5bd00003c  aa1003e4		mov x4, x16
6717: #             x4: 0x0000000000000000
6717: 0x00007fd5bd000040  aa1003e5		mov x5, x16
6717: #             x5: 0x0000000000000000
6717: 0x00007fd5bd000044  d2800035		mov x21, #0x1
6717: #            x21: 0x0000000000000001
6717: 0x00007fd5bd000048  390a9395		strb w21, [x28, #676]
6717: #       x21<7:0>:               0x01 -> 0x00007fd5d238ee54
6717: 0x00007fd5bd00004c  d2800035		mov x21, #0x1
6717: #            x21: 0x0000000000000001
6717: 0x00007fd5bd000050  390a9f95		strb w21, [x28, #679]
6717: #       x21<7:0>:               0x01 -> 0x00007fd5d238ee57
6717: 0x00007fd5bd000054  d2801ff5		mov x21, #0xff
6717: #            x21: 0x00000000000000ff
6717: 0x00007fd5bd000058  9e6702a1		fmov d1, x21
6717: #             d1:                 0x00000000000000ff
6717: 0x00007fd5bd00005c  0e205821		cnt v1.8b, v1.8b
6717: #             v1: 0x00000000000000000000000000000008
6717: 0x00007fd5bd000060  0e31b821		addv b1, v1.8b
6717: #             v1: 0x00000000000000000000000000000008
6717: 0x00007fd5bd000064  0e013c35		umov w21, v1.b[0]
6717: #            x21: 0x0000000000000008
6717: 0x00007fd5bd000068  d24002b5		eor x21, x21, #0x1
6717: #            x21: 0x0000000000000009
6717: 0x00007fd5bd00006c  d34002b5		ubfx x21, x21, #0, #1
6717: #            x21: 0x0000000000000001
6717: 0x00007fd5bd000070  390a8b95		strb w21, [x28, #674]
6717: #       x21<7:0>:               0x01 -> 0x00007fd5d238ee52
6717: 0x00007fd5bd000074  f100029f		cmp x20, #0x0 (0)
6717: # NZCV: N:0 Z:0 C:1 V:0
6717: 0x00007fd5bd000078  9a9f17f4		cset x20, eq
6717: #            x20: 0x0000000000000000
6717: 0x00007fd5bd00007c  390a9b94		strb w20, [x28, #678]
6717: #       x20<7:0>:               0x00 -> 0x00007fd5d238ee56
6717: 0x00007fd5bd000080  71000a3f		cmp w17, #0x2 (2)
6717: # NZCV: N:1 Z:0 C:0 V:0
6717: 0x00007fd5bd000084  9a9f27f4		cset x20, lo
6717: #            x20: 0x0000000000000001
6717: 0x00007fd5bd000088  390a8394		strb w20, [x28, #672]
6717: #       x20<7:0>:               0x01 -> 0x00007fd5d238ee50
6717: 0x00007fd5bd00008c  d2800015		mov x21, #0x0
6717: #            x21: 0x0000000000000000
6717: 0x00007fd5bd000090  390aaf95		strb w21, [x28, #683]
6717: #       x21<7:0>:               0x00 -> 0x00007fd5d238ee5b
6717: 0x00007fd5bd000094  f100029f		cmp x20, #0x0 (0)
6717: # NZCV: N:0 Z:0 C:1 V:0
6717: 0x00007fd5bd000098  9a9f07f5		cset x21, ne
6717: #            x21: 0x0000000000000001
6717: 0x00007fd5bd00009c  b3401ea4		bfxil x4, x21, #0, #8
6717: #             x4: 0x0000000000000001
6717: 0x00007fd5bd0000a0  f100029f		cmp x20, #0x0 (0)
6717: # NZCV: N:0 Z:0 C:1 V:0
6717: 0x00007fd5bd0000a4  9a9f17f4		cset x20, eq
6717: #            x20: 0x0000000000000000
6717: 0x00007fd5bd0000a8  b3401e85		bfxil x5, x20, #0, #8
6717: #             x5: 0x0000000000000000
6717: 0x00007fd5bd0000ac  d2800574		mov x20, #0x2b
6717: #            x20: 0x000000000000002b
6717: 0x00007fd5bd0000b0  f2a00034		movk x20, #0x1, lsl #16
6717: #            x20: 0x000000000001002b
6717: 0x00007fd5bd0000b4  f9000394		str x20, [x28]
6717: #      x20<63:0>: 0x000000000001002b -> 0x00007fd5d238ebb0
6717: 0x00007fd5bd0000b8  52800021		mov w1, #0x1
6717: #             x1: 0x0000000000000001
6717: 0x00007fd5bd0000bc  390fb381		strb w1, [x28, #1004]
6717: #        x1<7:0>:               0x01 -> 0x00007fd5d238ef9c
6717: 0x00007fd5bd0000c0  52800161		mov w1, #0xb
6717: #             x1: 0x000000000000000b
6717: 0x00007fd5bd0000c4  390fb781		strb w1, [x28, #1005]
6717: #        x1<7:0>:               0x0b -> 0x00007fd5d238ef9d
6717: 0x00007fd5bd0000c8  528001a1		mov w1, #0xd
6717: #             x1: 0x000000000000000d
6717: 0x00007fd5bd0000cc  b903f381		str w1, [x28, #1008]
6717: #       x1<31:0>:         0x0000000d -> 0x00007fd5d238efa0
6717: 0x00007fd5bd0000d0  52801001		mov w1, #0x80
6717: #             x1: 0x0000000000000080
6717: 0x00007fd5bd0000d4  b903fb81		str w1, [x28, #1016]
6717: #       x1<31:0>:         0x00000080 -> 0x00007fd5d238efa8
6717: 0x00007fd5bd0000d8  d2800001		mov x1, #0x0
6717: #             x1: 0x0000000000000000
6717: 0x00007fd5bd0000dc  b903f781		str w1, [x28, #1012]
6717: #       x1<31:0>:         0x00000000 -> 0x00007fd5d238efa4
6717: 0x00007fd5bd0000e0  f9430b80		ldr x0, [x28, #1552]
6717: #             x0: 0x00007fd5d2ba940c <- 0x00007fd5d238f1c0
6717: 0x00007fd5bd0000e4  d61f0000		br x0
6717: # Branch to 0x00007fd5d2ba940c.
6717: 0x00007fd5d2ba940c  a9009784		stp x4, x5, [x28, #8]
6717: #       x4<63:0>: 0x0000000000000001 -> 0x00007fd5d238ebb8
6717: #       x5<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebc0
6717: 0x00007fd5d2ba9410  a9019f86		stp x6, x7, [x28, #24]
6717: #       x6<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebc8
6717: #       x7<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebd0
6717: 0x00007fd5d2ba9414  a902a788		stp x8, x9, [x28, #40]
6717: #       x8<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebd8
6717: #       x9<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebe0
6717: 0x00007fd5d2ba9418  a903af8a		stp x10, x11, [x28, #56]
6717: #      x10<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebe8
6717: #      x11<63:0>: 0x00007fd5d2bab000 -> 0x00007fd5d238ebf0
6717: 0x00007fd5d2ba941c  a904cb8c		stp x12, x18, [x28, #72]
6717: #      x12<63:0>: 0x0000000000000000 -> 0x00007fd5d238ebf8
6717: #      x18<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec00
6717: 0x00007fd5d2ba9420  a905c391		stp x17, x16, [x28, #88]
6717: #      x17<63:0>: 0x0000000000000001 -> 0x00007fd5d238ec08
6717: #      x16<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec10
6717: 0x00007fd5d2ba9424  a906bb8f		stp x15, x14, [x28, #104]
6717: #      x15<63:0>: 0x0000000000000002 -> 0x00007fd5d238ec18
6717: #      x14<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec20
6717: 0x00007fd5d2ba9428  a907f78d		stp x13, x29, [x28, #120]
6717: #      x13<63:0>: 0x0000000000000000 -> 0x00007fd5d238ec28
6717: #      x29<63:0>: 0x00000000e0000000 -> 0x00007fd5d238ec30
6717: 0x00007fd5d2ba942c  3d802b90		str q16, [x28, #160]
6717: #     v16<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec50
6717: 0x00007fd5d2ba9430  3d803391		str q17, [x28, #192]
6717: #     v17<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec70
6717: 0x00007fd5d2ba9434  3d803b92		str q18, [x28, #224]
6717: #     v18<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ec90
6717: 0x00007fd5d2ba9438  3d804393		str q19, [x28, #256]
6717: #     v19<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecb0
6717: 0x00007fd5d2ba943c  3d804b94		str q20, [x28, #288]
6717: #     v20<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecd0
6717: 0x00007fd5d2ba9440  3d805395		str q21, [x28, #320]
6717: #     v21<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ecf0
6717: 0x00007fd5d2ba9444  3d805b96		str q22, [x28, #352]
6717: #     v22<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed10
6717: 0x00007fd5d2ba9448  3d806397		str q23, [x28, #384]
6717: #     v23<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed30
6717: 0x00007fd5d2ba944c  3d806b98		str q24, [x28, #416]
6717: #     v24<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed50
6717: 0x00007fd5d2ba9450  3d807399		str q25, [x28, #448]
6717: #     v25<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed70
6717: 0x00007fd5d2ba9454  3d807b9a		str q26, [x28, #480]
6717: #     v26<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ed90
6717: 0x00007fd5d2ba9458  3d80839b		str q27, [x28, #512]
6717: #     v27<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edb0
6717: 0x00007fd5d2ba945c  3d808b9c		str q28, [x28, #544]
6717: #     v28<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edd0
6717: 0x00007fd5d2ba9460  3d80939d		str q29, [x28, #576]
6717: #     v29<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238edf0
6717: 0x00007fd5d2ba9464  3d809b9e		str q30, [x28, #608]
6717: #     v30<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ee10
6717: 0x00007fd5d2ba9468  3d80a39f		str q31, [x28, #640]
6717: #     v31<127:0>: 0x00000000bad0dad100000000deadbeef -> 0x00007fd5d238ee30
6717: 0x00007fd5d2ba946c  d2800001		mov x1, #0x0
6717: #             x1: 0x0000000000000000
6717: 0x00007fd5d2ba9470  f9400021		ldr x1, [x1]
6717: Core1: GPR0: : 0x0000000000000001 == 0x0000000000000001 (Expected)
6717: Core1: GPR1: : 0x0000000000000000 == 0x0000000000000000 (Expected)
6717: [Info] Faulted? No
6717: [Info] Passed? Yes
1/1 Test #6717: jitsim_500_m/Test_TwoByte/0F_92.asm ...   Passed    0.20 sec

The following tests passed:
	jitsim_500_m/Test_TwoByte/0F_92.asm

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   1.55 sec

skmp avatar Aug 29 '22 16:08 skmp