diff mbox series

[v2,01/27] memory: add a few defines for octo (128-bit) values

Message ID 20211006212833.108706-2-frederic.petrot@univ-grenoble-alpes.fr
State New
Headers show
Series Adding partial support for 128-bit riscv target | expand

Commit Message

Frédéric Pétrot Oct. 6, 2021, 9:28 p.m. UTC
Introducing unsigned quad, signed quad, and octo accesses types
to handle load and store by 128-bit processors.
This is just a small addition to Richard's patch not yet upstreamed
https://lore.kernel.org/qemu-devel/20210818191920.390759-24-richard.henderson@linaro.org/
Note that the patch must be applied first for the rest to compile

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
---
 include/exec/memop.h | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Philippe Mathieu-Daudé Oct. 7, 2021, 8:06 a.m. UTC | #1
On 10/6/21 23:28, Frédéric Pétrot wrote:
> Introducing unsigned quad, signed quad, and octo accesses types
> to handle load and store by 128-bit processors.
> This is just a small addition to Richard's patch not yet upstreamed
> https://lore.kernel.org/qemu-devel/20210818191920.390759-24-richard.henderson@linaro.org/
> Note that the patch must be applied first for the rest to compile
> 
> Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
> Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
> ---
>  include/exec/memop.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/exec/memop.h b/include/exec/memop.h
> index 04264ffd6b..9297f58a39 100644
> --- a/include/exec/memop.h
> +++ b/include/exec/memop.h
> @@ -85,10 +85,13 @@ typedef enum MemOp {
>      MO_UB    = MO_8,
>      MO_UW    = MO_16,
>      MO_UL    = MO_32,
> +    MO_UQ    = MO_64,
>      MO_SB    = MO_SIGN | MO_8,
>      MO_SW    = MO_SIGN | MO_16,
>      MO_SL    = MO_SIGN | MO_32,
> +    MO_SQ    = MO_SIGN | MO_64,
>      MO_Q     = MO_64,

To avoid confusion, I'd rename MO_Q -> MO_UQ in a
previous patch, updating the repository with a simple
sed command from the shell:

  $ sed -i '/MO_Q/MO_UQ' $(git grep -lw MO_Q)

> +    MO_O     = MO_128,
>  
>      MO_LEUW  = MO_LE | MO_UW,
>      MO_LEUL  = MO_LE | MO_UL,
> @@ -105,9 +108,12 @@ typedef enum MemOp {
>  #ifdef NEED_CPU_H
>      MO_TEUW  = MO_TE | MO_UW,
>      MO_TEUL  = MO_TE | MO_UL,
> +    MO_TEUQ  = MO_TE | MO_UQ,
>      MO_TESW  = MO_TE | MO_SW,
>      MO_TESL  = MO_TE | MO_SL,
> +    MO_TESQ  = MO_TE | MO_SQ,
>      MO_TEQ   = MO_TE | MO_Q,
> +    MO_TEO   = MO_TE | MO_O,
>  #endif
>  
>      MO_SSIZE = MO_SIZE | MO_SIGN,
>
diff mbox series

Patch

diff --git a/include/exec/memop.h b/include/exec/memop.h
index 04264ffd6b..9297f58a39 100644
--- a/include/exec/memop.h
+++ b/include/exec/memop.h
@@ -85,10 +85,13 @@  typedef enum MemOp {
     MO_UB    = MO_8,
     MO_UW    = MO_16,
     MO_UL    = MO_32,
+    MO_UQ    = MO_64,
     MO_SB    = MO_SIGN | MO_8,
     MO_SW    = MO_SIGN | MO_16,
     MO_SL    = MO_SIGN | MO_32,
+    MO_SQ    = MO_SIGN | MO_64,
     MO_Q     = MO_64,
+    MO_O     = MO_128,
 
     MO_LEUW  = MO_LE | MO_UW,
     MO_LEUL  = MO_LE | MO_UL,
@@ -105,9 +108,12 @@  typedef enum MemOp {
 #ifdef NEED_CPU_H
     MO_TEUW  = MO_TE | MO_UW,
     MO_TEUL  = MO_TE | MO_UL,
+    MO_TEUQ  = MO_TE | MO_UQ,
     MO_TESW  = MO_TE | MO_SW,
     MO_TESL  = MO_TE | MO_SL,
+    MO_TESQ  = MO_TE | MO_SQ,
     MO_TEQ   = MO_TE | MO_Q,
+    MO_TEO   = MO_TE | MO_O,
 #endif
 
     MO_SSIZE = MO_SIZE | MO_SIGN,