From 214c1d600251b6df44a57922b0def78b70414452 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Sat, 20 Jun 2020 15:17:08 +0100 Subject: [PATCH] fuzz_arm: Test testable parts of ASIMD VRECPE and VRSQRTE --- tests/A32/fuzz_arm.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/A32/fuzz_arm.cpp b/tests/A32/fuzz_arm.cpp index ebdf506b..17eb987b 100644 --- a/tests/A32/fuzz_arm.cpp +++ b/tests/A32/fuzz_arm.cpp @@ -61,6 +61,10 @@ bool ShouldTestInst(u32 instruction, u32 pc, bool is_last_inst) { case IR::Opcode::A32CoprocLoadWords: case IR::Opcode::A32CoprocStoreWords: return false; + // Currently unimplemented in Unicorn + case IR::Opcode::FPVectorRecipEstimate16: + case IR::Opcode::FPVectorRSqrtEstimate16: + return false; default: continue; } @@ -111,7 +115,7 @@ u32 GenRandomInst(u32 pc, bool is_last_inst) { // FPSCR is inaccurate "vfp_VMRS", // Unimplemented in Unicorn - "asimd_VPADD_float", "asimd_VRECPE", "asimd_VRSQRTE", + "asimd_VPADD_float", // Incorrect Unicorn implementations "asimd_VRECPS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. "asimd_VRSQRTS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP.