[v3,16/16] target/arm: Enable ARM_FEATURE_V8_FCMA

Message ID 20180228193125.20577-17-richard.henderson@linaro.org
State Superseded
Headers show
Series
  • ARM v8.1 simd + v8.3 complex insns
Related show

Commit Message

Richard Henderson Feb. 28, 2018, 7:31 p.m.
Enable it for the "any" CPU used by *-linux-user.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 target/arm/cpu.c   | 1 +
 target/arm/cpu64.c | 1 +
 2 files changed, 2 insertions(+)

-- 
2.14.3

Comments

Peter Maydell March 1, 2018, 1:20 p.m. | #1
On 28 February 2018 at 19:31, Richard Henderson
<richard.henderson@linaro.org> wrote:
> Enable it for the "any" CPU used by *-linux-user.

>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  target/arm/cpu.c   | 1 +

>  target/arm/cpu64.c | 1 +

>  2 files changed, 2 insertions(+)

>

> diff --git a/target/arm/cpu.c b/target/arm/cpu.c

> index ca5fb1162a..452bc32f10 100644

> --- a/target/arm/cpu.c

> +++ b/target/arm/cpu.c

> @@ -1651,6 +1651,7 @@ static void arm_any_initfn(Object *obj)

>      set_feature(&cpu->env, ARM_FEATURE_V8_PMULL);

>      set_feature(&cpu->env, ARM_FEATURE_CRC);

>      set_feature(&cpu->env, ARM_FEATURE_V8_RDM);

> +    set_feature(&cpu->env, ARM_FEATURE_V8_FCMA);

>      cpu->midr = 0xffffffff;

>  }

>  #endif

> diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c

> index 7246866e7d..4228713b19 100644

> --- a/target/arm/cpu64.c

> +++ b/target/arm/cpu64.c

> @@ -232,6 +232,7 @@ static void aarch64_any_initfn(Object *obj)

>      set_feature(&cpu->env, ARM_FEATURE_CRC);

>      set_feature(&cpu->env, ARM_FEATURE_V8_RDM);

>      set_feature(&cpu->env, ARM_FEATURE_V8_FP16);

> +    set_feature(&cpu->env, ARM_FEATURE_V8_FCMA);

>      cpu->ctr = 0x80038003; /* 32 byte I and D cacheline size, VIPT icache */

>      cpu->dcz_blocksize = 7; /*  512 bytes */

>  }

> --


Reviewed-by: Peter Maydell <peter.maydell@linaro.org>


We should be setting some hwcap bits in linux-user for these new feature
bits (and RDM), right?

thanks
-- PMM
Peter Maydell March 1, 2018, 2:12 p.m. | #2
On 1 March 2018 at 13:20, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 28 February 2018 at 19:31, Richard Henderson

> <richard.henderson@linaro.org> wrote:

>> Enable it for the "any" CPU used by *-linux-user.


> We should be setting some hwcap bits in linux-user for these new feature

> bits (and RDM), right?


Oh, you did that back in the patch where you added the feature bit.
Sorry, I'm clearly skimming these patches a little too quickly.

-- PMM

Patch

diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index ca5fb1162a..452bc32f10 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -1651,6 +1651,7 @@  static void arm_any_initfn(Object *obj)
     set_feature(&cpu->env, ARM_FEATURE_V8_PMULL);
     set_feature(&cpu->env, ARM_FEATURE_CRC);
     set_feature(&cpu->env, ARM_FEATURE_V8_RDM);
+    set_feature(&cpu->env, ARM_FEATURE_V8_FCMA);
     cpu->midr = 0xffffffff;
 }
 #endif
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index 7246866e7d..4228713b19 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -232,6 +232,7 @@  static void aarch64_any_initfn(Object *obj)
     set_feature(&cpu->env, ARM_FEATURE_CRC);
     set_feature(&cpu->env, ARM_FEATURE_V8_RDM);
     set_feature(&cpu->env, ARM_FEATURE_V8_FP16);
+    set_feature(&cpu->env, ARM_FEATURE_V8_FCMA);
     cpu->ctr = 0x80038003; /* 32 byte I and D cacheline size, VIPT icache */
     cpu->dcz_blocksize = 7; /*  512 bytes */
 }