From 6769b54e1c8e59b87a14a2dec4eaa5d48c160b41 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 4 Aug 2025 16:45:15 -0400 Subject: [PATCH] unittests: add blake3 test this provokes RA spilling and hit an assertion fail on main. Signed-off-by: Alyssa Rosenzweig --- unittests/ASM/FEX_bugs/Blake3.asm | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 unittests/ASM/FEX_bugs/Blake3.asm diff --git a/unittests/ASM/FEX_bugs/Blake3.asm b/unittests/ASM/FEX_bugs/Blake3.asm new file mode 100644 index 000000000..bade4fcfa --- /dev/null +++ b/unittests/ASM/FEX_bugs/Blake3.asm @@ -0,0 +1,56 @@ +%ifdef CONFIG +{ +} +%endif + +vblendps ymm3, ymm12, ymm9, 0xcc +vperm2f128 ymm12, ymm1, ymm2, 0x20 +vmovups [rel .data_result + 0], ymm12 +vunpckhps ymm14, ymm4, ymm5 +vblendps ymm4, ymm8, ymm0, 0xcc +vunpckhps ymm15, ymm6, ymm7 +vperm2f128 ymm7, ymm3, ymm4, 0x20 +vmovups [rel .data_result + 32], ymm7 +vshufps ymm5, ymm10, ymm13, 0x4e +vblendps ymm6, ymm5, ymm13, 0xcc +vshufps ymm13, ymm14, ymm15, 0x4e +vblendps ymm10, ymm10, ymm5, 0xcc +vblendps ymm14, ymm14, ymm13, 0xcc +vperm2f128 ymm8, ymm10, ymm14, 0x20 +vmovups [rel .data_result + (32 * 2)], ymm8 +vblendps ymm15, ymm13, ymm15, 0xcc +vperm2f128 ymm13, ymm6, ymm15, 0x20 +vmovups [rel .data_result + (32 * 3)], ymm13 +vperm2f128 ymm9, ymm1, ymm2, 0x31 +vperm2f128 ymm11, ymm3, ymm4, 0x31 +vmovups [rel .data_result + (32 * 4)], ymm9 +vperm2f128 ymm14, ymm10, ymm14, 0x31 +vperm2f128 ymm15, ymm6, ymm15, 0x31 +vmovups [rel .data_result + (32 * 5)], ymm11 +vmovups [rel .data_result + (32 * 6)], ymm14 +vmovups [rel .data_result + (32 * 7)], ymm15 +vmovdqa ymm0, [rel .data_stack + (32 * 0)] +vpaddd ymm1, ymm0, [rel .data_stack + (32 * 1)] +vmovdqa [rel .data_stack + (32 * 1)], ymm1 +vpxor ymm0, ymm0, [rel .data] +vpxor ymm2, ymm1, [rel .data + 32] + +hlt + +align 4096 +.data: +dq 0, 0, 0, 0, 0, 0 +dq 0, 0, 0, 0, 0, 0 + +.data_stack: +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 + +.data_result: +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 +dq 0, 0, 0, 0 +dq 0, 0, 0, 0