From f2344f4c876f8ab0118f25b94cc70e66b1824e87 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Mon, 30 Jul 2018 14:36:22 +0100 Subject: [PATCH] fuzz_with_unicorn: Randomize FPCR.DN --- tests/A64/fuzz_with_unicorn.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/A64/fuzz_with_unicorn.cpp b/tests/A64/fuzz_with_unicorn.cpp index b73834f0..e700a64c 100644 --- a/tests/A64/fuzz_with_unicorn.cpp +++ b/tests/A64/fuzz_with_unicorn.cpp @@ -274,7 +274,7 @@ TEST_CASE("A64: Single random instruction", "[a64]") { std::generate(vecs.begin(), vecs.end(), RandomVector); instructions[0] = GenRandomInst(0, true); u32 pstate = RandInt(0, 0xF) << 28; - u32 fpcr = RandInt(0, 0x3) << 22; // randomize RMode + u32 fpcr = (RandInt(0, 0x3) << 22) | (RandInt(0, 1) << 25); // randomize RMode and DN INFO("Instruction: 0x" << std::hex << instructions[0]); @@ -387,7 +387,7 @@ TEST_CASE("A64: Floating point instructions", "[a64]") { std::generate(vecs.begin(), vecs.end(), gen_vector); instructions[0] = GenFloatInst(0, true); u32 pstate = RandInt(0, 0xF) << 28; - u32 fpcr = RandInt(0, 0x3) << 22; // randomize RMode + u32 fpcr = (RandInt(0, 0x3) << 22) | (RandInt(0, 1) << 25); // randomize RMode and DN INFO("Instruction: 0x" << std::hex << instructions[0]); @@ -411,7 +411,7 @@ TEST_CASE("A64: Small random block", "[a64]") { instructions[4] = GenRandomInst(16, true); u32 pstate = RandInt(0, 0xF) << 28; - u32 fpcr = RandInt(0, 0x3) << 22; // randomize RMode + u32 fpcr = (RandInt(0, 0x3) << 22) | (RandInt(0, 1) << 25); // randomize RMode and DN INFO("Instruction 1: 0x" << std::hex << instructions[0]); INFO("Instruction 2: 0x" << std::hex << instructions[1]);