aboutsummaryrefslogtreecommitdiff
path: root/target/arm
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2018-01-16 13:28:14 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-01-16 13:28:14 +0000
commit8081796a75414f9ed5ec3d97158e543ed45908ec (patch)
tree93f0aa28990a5fadafdded34cbef7135cbdafe3f /target/arm
parente90a99fe6bde9b85bff8c052ade51520f20d9bce (diff)
target/arm: Add fp16 support to vfp_expand_imm
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20180110063337.21538-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm')
-rw-r--r--target/arm/translate-a64.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 80ae019172..cf537e9d9b 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -5006,6 +5006,11 @@ static uint64_t vfp_expand_imm(int size, uint8_t imm8)
(extract32(imm8, 0, 6) << 3);
imm <<= 16;
break;
+ case MO_16:
+ imm = (extract32(imm8, 7, 1) ? 0x8000 : 0) |
+ (extract32(imm8, 6, 1) ? 0x3000 : 0x4000) |
+ (extract32(imm8, 0, 6) << 6);
+ break;
default:
g_assert_not_reached();
}