diff mbox series

[7/7] tcg: Add tcg_gen_gvec_dup_tl

Message ID 20200418150411.1831-8-richard.henderson@linaro.org
State Superseded
Headers show
Series tcg: Clean up tcg_gen_gvec_dupi interface | expand

Commit Message

Richard Henderson April 18, 2020, 3:04 p.m. UTC
For use when a target needs to pass a configure-specific
target_ulong value to duplicate.

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

---
 include/tcg/tcg-op-gvec.h | 6 ++++++
 1 file changed, 6 insertions(+)

-- 
2.20.1

Comments

LIU Zhiwei April 20, 2020, 4:42 a.m. UTC | #1
On 2020/4/18 23:04, Richard Henderson wrote:
> For use when a target needs to pass a configure-specific

> target_ulong value to duplicate.

>

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

Reviewed-by: LIU Zhiwei <zhiwei_liu@c-sky.com>


Zhiwei
> ---

>   include/tcg/tcg-op-gvec.h | 6 ++++++

>   1 file changed, 6 insertions(+)

>

> diff --git a/include/tcg/tcg-op-gvec.h b/include/tcg/tcg-op-gvec.h

> index fa8a0c8d03..d89f91f40e 100644

> --- a/include/tcg/tcg-op-gvec.h

> +++ b/include/tcg/tcg-op-gvec.h

> @@ -320,6 +320,12 @@ void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t s,

>   void tcg_gen_gvec_dup_i64(unsigned vece, uint32_t dofs, uint32_t s,

>                             uint32_t m, TCGv_i64);

>   

> +#if TARGET_LONG_BITS == 64

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64

> +#else

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32

> +#endif

> +

>   void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs,

>                          int64_t shift, uint32_t oprsz, uint32_t maxsz);

>   void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs,
David Hildenbrand April 20, 2020, 7:30 a.m. UTC | #2
On 18.04.20 17:04, Richard Henderson wrote:
> For use when a target needs to pass a configure-specific

> target_ulong value to duplicate.

> 

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

> ---

>  include/tcg/tcg-op-gvec.h | 6 ++++++

>  1 file changed, 6 insertions(+)

> 

> diff --git a/include/tcg/tcg-op-gvec.h b/include/tcg/tcg-op-gvec.h

> index fa8a0c8d03..d89f91f40e 100644

> --- a/include/tcg/tcg-op-gvec.h

> +++ b/include/tcg/tcg-op-gvec.h

> @@ -320,6 +320,12 @@ void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t s,

>  void tcg_gen_gvec_dup_i64(unsigned vece, uint32_t dofs, uint32_t s,

>                            uint32_t m, TCGv_i64);

>  

> +#if TARGET_LONG_BITS == 64

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64

> +#else

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32

> +#endif

> +


Any user in mind?


-- 
Thanks,

David / dhildenb
Alex Bennée April 20, 2020, 1:32 p.m. UTC | #3
Richard Henderson <richard.henderson@linaro.org> writes:

> For use when a target needs to pass a configure-specific

> target_ulong value to duplicate.

>

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


Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


> ---

>  include/tcg/tcg-op-gvec.h | 6 ++++++

>  1 file changed, 6 insertions(+)

>

> diff --git a/include/tcg/tcg-op-gvec.h b/include/tcg/tcg-op-gvec.h

> index fa8a0c8d03..d89f91f40e 100644

> --- a/include/tcg/tcg-op-gvec.h

> +++ b/include/tcg/tcg-op-gvec.h

> @@ -320,6 +320,12 @@ void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t s,

>  void tcg_gen_gvec_dup_i64(unsigned vece, uint32_t dofs, uint32_t s,

>                            uint32_t m, TCGv_i64);

>  

> +#if TARGET_LONG_BITS == 64

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64

> +#else

> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32

> +#endif

> +

>  void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs,

>                         int64_t shift, uint32_t oprsz, uint32_t maxsz);

>  void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs,



-- 
Alex Bennée
Richard Henderson April 20, 2020, 2:52 p.m. UTC | #4
On 4/20/20 12:30 AM, David Hildenbrand wrote:
>> +#if TARGET_LONG_BITS == 64

>> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64

>> +#else

>> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32

>> +#endif

>> +

> 

> Any user in mind?


riscv -- the in-progress patches have some ifdefs that could be avoided.


r~
David Hildenbrand April 20, 2020, 2:55 p.m. UTC | #5
On 20.04.20 16:52, Richard Henderson wrote:
> On 4/20/20 12:30 AM, David Hildenbrand wrote:

>>> +#if TARGET_LONG_BITS == 64

>>> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64

>>> +#else

>>> +# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32

>>> +#endif

>>> +

>>

>> Any user in mind?

> 

> riscv -- the in-progress patches have some ifdefs that could be avoided.

> 


Perfect

Reviewed-by: David Hildenbrand <david@redhat.com>



-- 
Thanks,

David / dhildenb
diff mbox series

Patch

diff --git a/include/tcg/tcg-op-gvec.h b/include/tcg/tcg-op-gvec.h
index fa8a0c8d03..d89f91f40e 100644
--- a/include/tcg/tcg-op-gvec.h
+++ b/include/tcg/tcg-op-gvec.h
@@ -320,6 +320,12 @@  void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t s,
 void tcg_gen_gvec_dup_i64(unsigned vece, uint32_t dofs, uint32_t s,
                           uint32_t m, TCGv_i64);
 
+#if TARGET_LONG_BITS == 64
+# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i64
+#else
+# define tcg_gen_gvec_dup_tl  tcg_gen_gvec_dup_i32
+#endif
+
 void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs,
                        int64_t shift, uint32_t oprsz, uint32_t maxsz);
 void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs,