Message ID | 20210413160759.5917-2-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: Split translate-*.c.inc into separate compilation units | expand |
On 4/13/21 6:07 PM, Peter Maydell wrote: > Some of the constant expanders defined in translate.c are generically > useful and will be used by the separate C files for VFP and Neon once > they are created; move the expander definitions to translate.h. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > target/arm/translate.h | 24 ++++++++++++++++++++++++ > target/arm/translate.c | 24 ------------------------ > 2 files changed, 24 insertions(+), 24 deletions(-) > > diff --git a/target/arm/translate.h b/target/arm/translate.h > index 423b0e08df0..4c0b6e8fc42 100644 > --- a/target/arm/translate.h > +++ b/target/arm/translate.h > @@ -116,6 +116,30 @@ extern TCGv_i32 cpu_NF, cpu_ZF, cpu_CF, cpu_VF; > extern TCGv_i64 cpu_exclusive_addr; > extern TCGv_i64 cpu_exclusive_val; > > +/* > + * Constant expanders for the decoders. > + */ > + > +static inline int negate(DisasContext *s, int x) > +{ > + return -x; > +} > + > +static inline int plus_2(DisasContext *s, int x) > +{ > + return x + 2; > +} > + > +static inline int times_2(DisasContext *s, int x) > +{ > + return x * 2; > +} > + > +static inline int times_4(DisasContext *s, int x) > +{ > + return x * 4; > +} Being static inlined, I wonder if these shouldn't belong to "exec/translator.h" or another generic helper header (because I ended using similar helpers in MIPS). Can be done later tho, so: Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
On 4/13/21 9:07 AM, Peter Maydell wrote: > Some of the constant expanders defined in translate.c are generically > useful and will be used by the separate C files for VFP and Neon once > they are created; move the expander definitions to translate.h. > > Signed-off-by: Peter Maydell<peter.maydell@linaro.org> > --- > target/arm/translate.h | 24 ++++++++++++++++++++++++ > target/arm/translate.c | 24 ------------------------ > 2 files changed, 24 insertions(+), 24 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/target/arm/translate.h b/target/arm/translate.h index 423b0e08df0..4c0b6e8fc42 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -116,6 +116,30 @@ extern TCGv_i32 cpu_NF, cpu_ZF, cpu_CF, cpu_VF; extern TCGv_i64 cpu_exclusive_addr; extern TCGv_i64 cpu_exclusive_val; +/* + * Constant expanders for the decoders. + */ + +static inline int negate(DisasContext *s, int x) +{ + return -x; +} + +static inline int plus_2(DisasContext *s, int x) +{ + return x + 2; +} + +static inline int times_2(DisasContext *s, int x) +{ + return x * 2; +} + +static inline int times_4(DisasContext *s, int x) +{ + return x * 4; +} + static inline int arm_dc_feature(DisasContext *dc, int feature) { return (dc->features & (1ULL << feature)) != 0; diff --git a/target/arm/translate.c b/target/arm/translate.c index 62b1c2081b6..0e30892d54e 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -109,30 +109,6 @@ static void arm_gen_condlabel(DisasContext *s) } } -/* - * Constant expanders for the decoders. - */ - -static int negate(DisasContext *s, int x) -{ - return -x; -} - -static int plus_2(DisasContext *s, int x) -{ - return x + 2; -} - -static int times_2(DisasContext *s, int x) -{ - return x * 2; -} - -static int times_4(DisasContext *s, int x) -{ - return x * 4; -} - /* Flags for the disas_set_da_iss info argument: * lower bits hold the Rt register number, higher bits are flags. */
Some of the constant expanders defined in translate.c are generically useful and will be used by the separate C files for VFP and Neon once they are created; move the expander definitions to translate.h. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- target/arm/translate.h | 24 ++++++++++++++++++++++++ target/arm/translate.c | 24 ------------------------ 2 files changed, 24 insertions(+), 24 deletions(-) -- 2.20.1