From 7bc704210410e98c3554ba90e5527480f9d2f529 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 10 Apr 2019 15:20:09 -0400
Subject: [PATCH] simd_scalar_shift_by_immediate: Change UnallocatedEncoding() 
 path in SaturatingShiftLeft to ReservedValue()

Strictly speaking, immh being zero is defined as reserved in the ARMv8
reference manual. This was just an error on my part when introducing the
SQSHL immediate scalar variant.
---
 .../A64/translate/impl/simd_scalar_shift_by_immediate.cpp       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp b/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp
index 5ecb8f1b..2cefc899 100644
--- a/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp
+++ b/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp
@@ -32,7 +32,7 @@ enum class FloatConversionDirection {
 
 bool SaturatingShiftLeft(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Signedness sign) {
     if (immh == 0b0000) {
-        return v.UnallocatedEncoding();
+        return v.ReservedValue();
     }
 
     const size_t esize = 8U << Common::HighestSetBit(immh.ZeroExtend());