diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-02-16 13:43:10 -0800 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-01-22 12:48:01 -1000 |
commit | 666cc794abe7aa2e123a0963934e519d28a7102c (patch) | |
tree | bb17d7b5030d200f5f34231b956889062e6660df /include/tcg | |
parent | c52ea111e0ea2d5368a3ae601baafaae75e3317f (diff) | |
download | qemu-666cc794abe7aa2e123a0963934e519d28a7102c.zip qemu-666cc794abe7aa2e123a0963934e519d28a7102c.tar.gz qemu-666cc794abe7aa2e123a0963934e519d28a7102c.tar.bz2 |
tcg: Optimize inline dup_const for MO_64
Avoid the out-of-line function call for immediate MO_64.
In addition, diagnose all invalid constants at compile-time.
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/tcg')
-rw-r--r-- | include/tcg/tcg.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index 504c5e9..c5a9d65 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -1325,7 +1325,8 @@ uint64_t dup_const(unsigned vece, uint64_t c); ? ( (VECE) == MO_8 ? 0x0101010101010101ull * (uint8_t)(C) \ : (VECE) == MO_16 ? 0x0001000100010001ull * (uint16_t)(C) \ : (VECE) == MO_32 ? 0x0000000100000001ull * (uint32_t)(C) \ - : dup_const(VECE, C)) \ + : (VECE) == MO_64 ? (uint64_t)(C) \ + : (qemu_build_not_reached_always(), 0)) \ : dup_const(VECE, C)) |