mbox series

[v4,00/71] TCI fixes and cleanups

Message ID 20210217202036.1724901-1-richard.henderson@linaro.org
Headers show
Series TCI fixes and cleanups | expand

Message

Richard Henderson Feb. 17, 2021, 8:19 p.m. UTC
Changes since v3:
  * First patch fixes g2h() breakage.  This shows a hole in our CI,
    in that we only build softmmu with TCI, not linux-user.
  * Tidy-up for the magic qemu_ld/st macros.
  * Fix libffi return value case with ffi_arg.

Changes since v2:
  * 20-something patches are now upstream.
  * Increase testing timeout for tci.
  * Gitlab testing for tci w/ 32-bit host.


r~


Richard Henderson (71):
  tcg/tci: Use exec/cpu_ldst.h interfaces
  tcg: Split out tcg_raise_tb_overflow
  tcg: Manage splitwx in tc_ptr_to_region_tree by hand
  tcg/tci: Merge identical cases in generation
  tcg/tci: Remove tci_read_r8
  tcg/tci: Remove tci_read_r8s
  tcg/tci: Remove tci_read_r16
  tcg/tci: Remove tci_read_r16s
  tcg/tci: Remove tci_read_r32
  tcg/tci: Remove tci_read_r32s
  tcg/tci: Reduce use of tci_read_r64
  tcg/tci: Merge basic arithmetic operations
  tcg/tci: Merge extension operations
  tcg/tci: Remove ifdefs for TCG_TARGET_HAS_ext32[us]_i64
  tcg/tci: Merge bswap operations
  tcg/tci: Merge mov, not and neg operations
  tcg/tci: Rename tci_read_r to tci_read_rval
  tcg/tci: Split out tci_args_rrs
  tcg/tci: Split out tci_args_rr
  tcg/tci: Split out tci_args_rrr
  tcg/tci: Split out tci_args_rrrc
  tcg/tci: Split out tci_args_l
  tcg/tci: Split out tci_args_rrrrrc
  tcg/tci: Split out tci_args_rrcl and tci_args_rrrrcl
  tcg/tci: Split out tci_args_ri and tci_args_rI
  tcg/tci: Reuse tci_args_l for calls.
  tcg/tci: Reuse tci_args_l for exit_tb
  tcg/tci: Reuse tci_args_l for goto_tb
  tcg/tci: Split out tci_args_rrrrrr
  tcg/tci: Split out tci_args_rrrr
  tcg/tci: Clean up deposit operations
  tcg/tci: Reduce qemu_ld/st TCGMemOpIdx operand to 32-bits
  tcg/tci: Split out tci_args_{rrm,rrrm,rrrrm}
  tcg/tci: Hoist op_size checking into tci_args_*
  tcg/tci: Remove tci_disas
  tcg/tci: Implement the disassembler properly
  tcg: Build ffi data structures for helpers
  tcg/tci: Use ffi for calls
  tcg/tci: Improve tcg_target_call_clobber_regs
  tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
  tcg/tci: Push opcode emit into each case
  tcg/tci: Split out tcg_out_op_rrs
  tcg/tci: Split out tcg_out_op_l
  tcg/tci: Split out tcg_out_op_p
  tcg/tci: Split out tcg_out_op_rr
  tcg/tci: Split out tcg_out_op_rrr
  tcg/tci: Split out tcg_out_op_rrrc
  tcg/tci: Split out tcg_out_op_rrrrrc
  tcg/tci: Split out tcg_out_op_rrrbb
  tcg/tci: Split out tcg_out_op_rrcl
  tcg/tci: Split out tcg_out_op_rrrrrr
  tcg/tci: Split out tcg_out_op_rrrr
  tcg/tci: Split out tcg_out_op_rrrrcl
  tcg/tci: Split out tcg_out_op_{rrm,rrrm,rrrrm}
  tcg/tci: Split out tcg_out_op_v
  tcg/tci: Split out tcg_out_op_np
  tcg/tci: Split out tcg_out_op_r[iI]
  tcg/tci: Reserve r13 for a temporary
  tcg/tci: Emit setcond before brcond
  tcg/tci: Remove tci_write_reg
  tcg/tci: Change encoding to uint32_t units
  tcg/tci: Implement goto_ptr
  tcg/tci: Implement movcond
  tcg/tci: Implement andc, orc, eqv, nand, nor
  tcg/tci: Implement extract, sextract
  tcg/tci: Implement clz, ctz, ctpop
  tcg/tci: Implement mulu2, muls2
  tcg/tci: Implement add2, sub2
  tcg/tci: Split out tci_qemu_ld, tci_qemu_st
  tests/tcg: Increase timeout for TCI
  gitlab: Enable cross-i386 builds of TCI

 configure                                     |    3 +
 meson.build                                   |    9 +-
 include/exec/helper-ffi.h                     |  115 ++
 include/exec/helper-tcg.h                     |   24 +-
 include/tcg/tcg-opc.h                         |    6 +-
 include/tcg/tcg.h                             |    1 +
 target/hppa/helper.h                          |    2 +
 target/i386/ops_sse_header.h                  |    6 +
 target/m68k/helper.h                          |    1 +
 target/ppc/helper.h                           |    3 +
 tcg/tci/tcg-target-con-set.h                  |    2 +-
 tcg/tci/tcg-target.h                          |   81 +-
 disas/tci.c                                   |   61 -
 tcg/tcg.c                                     |  117 +-
 tcg/tci.c                                     | 1759 +++++++++--------
 tcg/tci/tcg-target.c.inc                      |  926 +++++----
 .gitlab-ci.d/crossbuilds.yml                  |   17 +-
 tcg/tci/README                                |   20 +-
 .../dockerfiles/fedora-i386-cross.docker      |    1 +
 tests/docker/dockerfiles/fedora.docker        |    1 +
 tests/tcg/Makefile.target                     |    6 +-
 21 files changed, 1789 insertions(+), 1372 deletions(-)
 create mode 100644 include/exec/helper-ffi.h
 delete mode 100644 disas/tci.c

-- 
2.25.1

Comments

no-reply@patchew.org Feb. 17, 2021, 9:37 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20210217202036.1724901-1-richard.henderson@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210217202036.1724901-1-richard.henderson@linaro.org
Subject: [PATCH v4 00/71] TCI fixes and cleanups

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20210211171945.18313-1-alex.bennee@linaro.org -> patchew/20210211171945.18313-1-alex.bennee@linaro.org
 - [tag update]      patchew/20210213130325.14781-1-alex.bennee@linaro.org -> patchew/20210213130325.14781-1-alex.bennee@linaro.org
 * [new tag]         patchew/20210217202036.1724901-1-richard.henderson@linaro.org -> patchew/20210217202036.1724901-1-richard.henderson@linaro.org
Switched to a new branch 'test'
e85d152 gitlab: Enable cross-i386 builds of TCI
e125dfd tests/tcg: Increase timeout for TCI
ad8b717 tcg/tci: Split out tci_qemu_ld, tci_qemu_st
445fd0c tcg/tci: Implement add2, sub2
191eee2 tcg/tci: Implement mulu2, muls2
a35dc19 tcg/tci: Implement clz, ctz, ctpop
e7ab306 tcg/tci: Implement extract, sextract
b83da74 tcg/tci: Implement andc, orc, eqv, nand, nor
4568e34 tcg/tci: Implement movcond
e1ad4f4 tcg/tci: Implement goto_ptr
19bec07 tcg/tci: Change encoding to uint32_t units
6261272 tcg/tci: Remove tci_write_reg
b776dc6 tcg/tci: Emit setcond before brcond
c17b133 tcg/tci: Reserve r13 for a temporary
db6b59f tcg/tci: Split out tcg_out_op_r[iI]
7004982 tcg/tci: Split out tcg_out_op_np
c191fb8 tcg/tci: Split out tcg_out_op_v
1ba20d5 tcg/tci: Split out tcg_out_op_{rrm,rrrm,rrrrm}
e31d965 tcg/tci: Split out tcg_out_op_rrrrcl
410ecb8 tcg/tci: Split out tcg_out_op_rrrr
06327d7 tcg/tci: Split out tcg_out_op_rrrrrr
ab0f94f tcg/tci: Split out tcg_out_op_rrcl
c5ebc4e tcg/tci: Split out tcg_out_op_rrrbb
74efd89 tcg/tci: Split out tcg_out_op_rrrrrc
2e5ce8a tcg/tci: Split out tcg_out_op_rrrc
92262f4 tcg/tci: Split out tcg_out_op_rrr
8a239e2 tcg/tci: Split out tcg_out_op_rr
3e08393 tcg/tci: Split out tcg_out_op_p
de027aa tcg/tci: Split out tcg_out_op_l
158aea5 tcg/tci: Split out tcg_out_op_rrs
a8f550f tcg/tci: Push opcode emit into each case
6b16ed8 tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
4b276e0 tcg/tci: Improve tcg_target_call_clobber_regs
03fb535 tcg/tci: Use ffi for calls
08630c0 tcg: Build ffi data structures for helpers
110290b tcg/tci: Implement the disassembler properly
af8cf82 tcg/tci: Remove tci_disas
943d70e tcg/tci: Hoist op_size checking into tci_args_*
5614808 tcg/tci: Split out tci_args_{rrm,rrrm,rrrrm}
2869f99 tcg/tci: Reduce qemu_ld/st TCGMemOpIdx operand to 32-bits
3582a1c tcg/tci: Clean up deposit operations
f0171b8 tcg/tci: Split out tci_args_rrrr
7f92807 tcg/tci: Split out tci_args_rrrrrr
0b26e05 tcg/tci: Reuse tci_args_l for goto_tb
7c4a274 tcg/tci: Reuse tci_args_l for exit_tb
ab21186 tcg/tci: Reuse tci_args_l for calls.
cf103cc tcg/tci: Split out tci_args_ri and tci_args_rI
e9d843f tcg/tci: Split out tci_args_rrcl and tci_args_rrrrcl
2cf21fd tcg/tci: Split out tci_args_rrrrrc
e3d915b tcg/tci: Split out tci_args_l
7de9dbe tcg/tci: Split out tci_args_rrrc
711a66e tcg/tci: Split out tci_args_rrr
fe4f405 tcg/tci: Split out tci_args_rr
aa09a6d tcg/tci: Split out tci_args_rrs
9ecb320 tcg/tci: Rename tci_read_r to tci_read_rval
224c1a8 tcg/tci: Merge mov, not and neg operations
13d8e59 tcg/tci: Merge bswap operations
dd76922 tcg/tci: Remove ifdefs for TCG_TARGET_HAS_ext32[us]_i64
df3e5ed tcg/tci: Merge extension operations
ba078b9 tcg/tci: Merge basic arithmetic operations
5ddef6d tcg/tci: Reduce use of tci_read_r64
18fcb82 tcg/tci: Remove tci_read_r32s
5654362 tcg/tci: Remove tci_read_r32
61d9e17 tcg/tci: Remove tci_read_r16s
f8a1a9f tcg/tci: Remove tci_read_r16
e9802a3 tcg/tci: Remove tci_read_r8s
45296e6 tcg/tci: Remove tci_read_r8
c18d3ce tcg/tci: Merge identical cases in generation
facfd9b tcg: Manage splitwx in tc_ptr_to_region_tree by hand
a476867 tcg: Split out tcg_raise_tb_overflow
2f8942c tcg/tci: Use exec/cpu_ldst.h interfaces

=== OUTPUT BEGIN ===
1/71 Checking commit 2f8942c11f7a (tcg/tci: Use exec/cpu_ldst.h interfaces)
2/71 Checking commit a4768674a7eb (tcg: Split out tcg_raise_tb_overflow)
3/71 Checking commit facfd9b9fef0 (tcg: Manage splitwx in tc_ptr_to_region_tree by hand)
4/71 Checking commit c18d3ce9381f (tcg/tci: Merge identical cases in generation)
5/71 Checking commit 45296e6a731d (tcg/tci: Remove tci_read_r8)
6/71 Checking commit e9802a3c780d (tcg/tci: Remove tci_read_r8s)
7/71 Checking commit f8a1a9f6fcb7 (tcg/tci: Remove tci_read_r16)
8/71 Checking commit 61d9e175534d (tcg/tci: Remove tci_read_r16s)
9/71 Checking commit 5654362bac78 (tcg/tci: Remove tci_read_r32)
10/71 Checking commit 18fcb82d28ef (tcg/tci: Remove tci_read_r32s)
11/71 Checking commit 5ddef6d22641 (tcg/tci: Reduce use of tci_read_r64)
12/71 Checking commit ba078b9affec (tcg/tci: Merge basic arithmetic operations)
13/71 Checking commit df3e5ed82035 (tcg/tci: Merge extension operations)
14/71 Checking commit dd76922ba15a (tcg/tci: Remove ifdefs for TCG_TARGET_HAS_ext32[us]_i64)
15/71 Checking commit 13d8e599fb0c (tcg/tci: Merge bswap operations)
16/71 Checking commit 224c1a88d049 (tcg/tci: Merge mov, not and neg operations)
17/71 Checking commit 9ecb320de08f (tcg/tci: Rename tci_read_r to tci_read_rval)
18/71 Checking commit aa09a6dcda41 (tcg/tci: Split out tci_args_rrs)
19/71 Checking commit fe4f405a0f09 (tcg/tci: Split out tci_args_rr)
20/71 Checking commit 711a66e44072 (tcg/tci: Split out tci_args_rrr)
21/71 Checking commit 7de9dbe9e5b5 (tcg/tci: Split out tci_args_rrrc)
22/71 Checking commit e3d915b8deeb (tcg/tci: Split out tci_args_l)
23/71 Checking commit 2cf21fd9b7d4 (tcg/tci: Split out tci_args_rrrrrc)
24/71 Checking commit e9d843fe026d (tcg/tci: Split out tci_args_rrcl and tci_args_rrrrcl)
25/71 Checking commit cf103cc55285 (tcg/tci: Split out tci_args_ri and tci_args_rI)
26/71 Checking commit ab211864fc33 (tcg/tci: Reuse tci_args_l for calls.)
27/71 Checking commit 7c4a2742c8e4 (tcg/tci: Reuse tci_args_l for exit_tb)
28/71 Checking commit 0b26e05871d4 (tcg/tci: Reuse tci_args_l for goto_tb)
29/71 Checking commit 7f92807a427f (tcg/tci: Split out tci_args_rrrrrr)
30/71 Checking commit f0171b8f39f2 (tcg/tci: Split out tci_args_rrrr)
31/71 Checking commit 3582a1c54926 (tcg/tci: Clean up deposit operations)
32/71 Checking commit 2869f995d57a (tcg/tci: Reduce qemu_ld/st TCGMemOpIdx operand to 32-bits)
33/71 Checking commit 56148088cb2e (tcg/tci: Split out tci_args_{rrm,rrrm,rrrrm})
34/71 Checking commit 943d70e3248c (tcg/tci: Hoist op_size checking into tci_args_*)
35/71 Checking commit af8cf82f60b0 (tcg/tci: Remove tci_disas)
36/71 Checking commit 110290b57736 (tcg/tci: Implement the disassembler properly)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#21: 
deleted file mode 100644

total: 0 errors, 1 warnings, 304 lines checked

Patch 36/71 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
37/71 Checking commit 08630c07ee13 (tcg: Build ffi data structures for helpers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#25: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parenthesis
#40: FILE: include/exec/helper-ffi.h:11:
+#define dh_ffitype_i32  &ffi_type_uint32

ERROR: Macros with complex values should be enclosed in parenthesis
#41: FILE: include/exec/helper-ffi.h:12:
+#define dh_ffitype_s32  &ffi_type_sint32

ERROR: Macros with complex values should be enclosed in parenthesis
#43: FILE: include/exec/helper-ffi.h:14:
+#define dh_ffitype_i64  &ffi_type_uint64

ERROR: Macros with complex values should be enclosed in parenthesis
#44: FILE: include/exec/helper-ffi.h:15:
+#define dh_ffitype_s64  &ffi_type_sint64

ERROR: Macros with complex values should be enclosed in parenthesis
#45: FILE: include/exec/helper-ffi.h:16:
+#define dh_ffitype_f16  &ffi_type_uint32

ERROR: Macros with complex values should be enclosed in parenthesis
#46: FILE: include/exec/helper-ffi.h:17:
+#define dh_ffitype_f32  &ffi_type_uint32

ERROR: Macros with complex values should be enclosed in parenthesis
#47: FILE: include/exec/helper-ffi.h:18:
+#define dh_ffitype_f64  &ffi_type_uint64

ERROR: Macros with complex values should be enclosed in parenthesis
#50: FILE: include/exec/helper-ffi.h:21:
+#  define dh_ffitype_tl &ffi_type_uint32

ERROR: Macros with complex values should be enclosed in parenthesis
#52: FILE: include/exec/helper-ffi.h:23:
+#  define dh_ffitype_tl &ffi_type_uint64

ERROR: Macros with complex values should be enclosed in parenthesis
#55: FILE: include/exec/helper-ffi.h:26:
+#define dh_ffitype_ptr  &ffi_type_pointer

ERROR: Macros with complex values should be enclosed in parenthesis
#56: FILE: include/exec/helper-ffi.h:27:
+#define dh_ffitype_cptr &ffi_type_pointer

ERROR: Macros with complex values should be enclosed in parenthesis
#59: FILE: include/exec/helper-ffi.h:30:
+#define dh_ffitype_env  &ffi_type_pointer

ERROR: space required after that ',' (ctx:VxV)
#63: FILE: include/exec/helper-ffi.h:34:
+    static ffi_cif glue(cif_,NAME) = {          \
                             ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#67: FILE: include/exec/helper-ffi.h:38:
+#define DEF_HELPER_FLAGS_1(NAME, FLAGS, ret, t1)                        \
+    static ffi_type *glue(cif_args_,NAME)[1] = { dh_ffitype(t1) };      \
+    static ffi_cif glue(cif_,NAME) = {                                  \
+        .rtype = dh_ffitype(ret), .nargs = 1,                           \
+        .arg_types = glue(cif_args_,NAME),                              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#68: FILE: include/exec/helper-ffi.h:39:
+    static ffi_type *glue(cif_args_,NAME)[1] = { dh_ffitype(t1) };      \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#68: FILE: include/exec/helper-ffi.h:39:
+    static ffi_type *glue(cif_args_,NAME)[1] = { dh_ffitype(t1) };      \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#69: FILE: include/exec/helper-ffi.h:40:
+    static ffi_cif glue(cif_,NAME) = {                                  \

ERROR: space required after that ',' (ctx:VxV)
#69: FILE: include/exec/helper-ffi.h:40:
+    static ffi_cif glue(cif_,NAME) = {                                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#71: FILE: include/exec/helper-ffi.h:42:
+        .arg_types = glue(cif_args_,NAME),                              \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#74: FILE: include/exec/helper-ffi.h:45:
+#define DEF_HELPER_FLAGS_2(NAME, FLAGS, ret, t1, t2)    \
+    static ffi_type *glue(cif_args_,NAME)[2] = {        \
+        dh_ffitype(t1), dh_ffitype(t2)                  \
+    };                                                  \
+    static ffi_cif glue(cif_,NAME) = {                  \
+        .rtype = dh_ffitype(ret), .nargs = 2,           \
+        .arg_types = glue(cif_args_,NAME),              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#75: FILE: include/exec/helper-ffi.h:46:
+    static ffi_type *glue(cif_args_,NAME)[2] = {        \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#75: FILE: include/exec/helper-ffi.h:46:
+    static ffi_type *glue(cif_args_,NAME)[2] = {        \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#78: FILE: include/exec/helper-ffi.h:49:
+    static ffi_cif glue(cif_,NAME) = {                  \

ERROR: space required after that ',' (ctx:VxV)
#78: FILE: include/exec/helper-ffi.h:49:
+    static ffi_cif glue(cif_,NAME) = {                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#80: FILE: include/exec/helper-ffi.h:51:
+        .arg_types = glue(cif_args_,NAME),              \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#83: FILE: include/exec/helper-ffi.h:54:
+#define DEF_HELPER_FLAGS_3(NAME, FLAGS, ret, t1, t2, t3)        \
+    static ffi_type *glue(cif_args_,NAME)[3] = {                \
+        dh_ffitype(t1), dh_ffitype(t2), dh_ffitype(t3)          \
+    };                                                          \
+    static ffi_cif glue(cif_,NAME) = {                          \
+        .rtype = dh_ffitype(ret), .nargs = 3,                   \
+        .arg_types = glue(cif_args_,NAME),                      \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#84: FILE: include/exec/helper-ffi.h:55:
+    static ffi_type *glue(cif_args_,NAME)[3] = {                \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#84: FILE: include/exec/helper-ffi.h:55:
+    static ffi_type *glue(cif_args_,NAME)[3] = {                \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#87: FILE: include/exec/helper-ffi.h:58:
+    static ffi_cif glue(cif_,NAME) = {                          \

ERROR: space required after that ',' (ctx:VxV)
#87: FILE: include/exec/helper-ffi.h:58:
+    static ffi_cif glue(cif_,NAME) = {                          \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#89: FILE: include/exec/helper-ffi.h:60:
+        .arg_types = glue(cif_args_,NAME),                      \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#92: FILE: include/exec/helper-ffi.h:63:
+#define DEF_HELPER_FLAGS_4(NAME, FLAGS, ret, t1, t2, t3, t4)            \
+    static ffi_type *glue(cif_args_,NAME)[4] = {                        \
+        dh_ffitype(t1), dh_ffitype(t2), dh_ffitype(t3), dh_ffitype(t4)  \
+    };                                                                  \
+    static ffi_cif glue(cif_,NAME) = {                                  \
+        .rtype = dh_ffitype(ret), .nargs = 4,                           \
+        .arg_types = glue(cif_args_,NAME),                              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#93: FILE: include/exec/helper-ffi.h:64:
+    static ffi_type *glue(cif_args_,NAME)[4] = {                        \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#93: FILE: include/exec/helper-ffi.h:64:
+    static ffi_type *glue(cif_args_,NAME)[4] = {                        \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#96: FILE: include/exec/helper-ffi.h:67:
+    static ffi_cif glue(cif_,NAME) = {                                  \

ERROR: space required after that ',' (ctx:VxV)
#96: FILE: include/exec/helper-ffi.h:67:
+    static ffi_cif glue(cif_,NAME) = {                                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#98: FILE: include/exec/helper-ffi.h:69:
+        .arg_types = glue(cif_args_,NAME),                              \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#101: FILE: include/exec/helper-ffi.h:72:
+#define DEF_HELPER_FLAGS_5(NAME, FLAGS, ret, t1, t2, t3, t4, t5)        \
+    static ffi_type *glue(cif_args_,NAME)[5] = {                        \
+        dh_ffitype(t1), dh_ffitype(t2), dh_ffitype(t3),                 \
+        dh_ffitype(t4), dh_ffitype(t5)                                  \
+    };                                                                  \
+    static ffi_cif glue(cif_,NAME) = {                                  \
+        .rtype = dh_ffitype(ret), .nargs = 5,                           \
+        .arg_types = glue(cif_args_,NAME),                              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#102: FILE: include/exec/helper-ffi.h:73:
+    static ffi_type *glue(cif_args_,NAME)[5] = {                        \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#102: FILE: include/exec/helper-ffi.h:73:
+    static ffi_type *glue(cif_args_,NAME)[5] = {                        \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#106: FILE: include/exec/helper-ffi.h:77:
+    static ffi_cif glue(cif_,NAME) = {                                  \

ERROR: space required after that ',' (ctx:VxV)
#106: FILE: include/exec/helper-ffi.h:77:
+    static ffi_cif glue(cif_,NAME) = {                                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#108: FILE: include/exec/helper-ffi.h:79:
+        .arg_types = glue(cif_args_,NAME),                              \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#111: FILE: include/exec/helper-ffi.h:82:
+#define DEF_HELPER_FLAGS_6(NAME, FLAGS, ret, t1, t2, t3, t4, t5, t6)    \
+    static ffi_type *glue(cif_args_,NAME)[6] = {                        \
+        dh_ffitype(t1), dh_ffitype(t2), dh_ffitype(t3),                 \
+        dh_ffitype(t4), dh_ffitype(t5), dh_ffitype(t6)                  \
+    };                                                                  \
+    static ffi_cif glue(cif_,NAME) = {                                  \
+        .rtype = dh_ffitype(ret), .nargs = 6,                           \
+        .arg_types = glue(cif_args_,NAME),                              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#112: FILE: include/exec/helper-ffi.h:83:
+    static ffi_type *glue(cif_args_,NAME)[6] = {                        \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#112: FILE: include/exec/helper-ffi.h:83:
+    static ffi_type *glue(cif_args_,NAME)[6] = {                        \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#116: FILE: include/exec/helper-ffi.h:87:
+    static ffi_cif glue(cif_,NAME) = {                                  \

ERROR: space required after that ',' (ctx:VxV)
#116: FILE: include/exec/helper-ffi.h:87:
+    static ffi_cif glue(cif_,NAME) = {                                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#118: FILE: include/exec/helper-ffi.h:89:
+        .arg_types = glue(cif_args_,NAME),                              \
                                    ^

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#121: FILE: include/exec/helper-ffi.h:92:
+#define DEF_HELPER_FLAGS_7(NAME, FLAGS, ret, t1, t2, t3, t4, t5, t6, t7) \
+    static ffi_type *glue(cif_args_,NAME)[7] = {                        \
+        dh_ffitype(t1), dh_ffitype(t2), dh_ffitype(t3),                 \
+        dh_ffitype(t4), dh_ffitype(t5), dh_ffitype(t6), dh_ffitype(t7)  \
+    };                                                                  \
+    static ffi_cif glue(cif_,NAME) = {                                  \
+        .rtype = dh_ffitype(ret), .nargs = 7,                           \
+        .arg_types = glue(cif_args_,NAME),                              \
+    };

ERROR: spaces required around that '*' (ctx:WxV)
#122: FILE: include/exec/helper-ffi.h:93:
+    static ffi_type *glue(cif_args_,NAME)[7] = {                        \
                     ^

ERROR: space required after that ',' (ctx:VxV)
#122: FILE: include/exec/helper-ffi.h:93:
+    static ffi_type *glue(cif_args_,NAME)[7] = {                        \
                                    ^

ERROR: open brace '{' following function declarations go on the next line
#126: FILE: include/exec/helper-ffi.h:97:
+    static ffi_cif glue(cif_,NAME) = {                                  \

ERROR: space required after that ',' (ctx:VxV)
#126: FILE: include/exec/helper-ffi.h:97:
+    static ffi_cif glue(cif_,NAME) = {                                  \
                             ^

ERROR: space required after that ',' (ctx:VxV)
#128: FILE: include/exec/helper-ffi.h:99:
+        .arg_types = glue(cif_args_,NAME),                              \
                                    ^

total: 55 errors, 1 warnings, 309 lines checked

Patch 37/71 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

38/71 Checking commit 03fb53571a97 (tcg/tci: Use ffi for calls)
ERROR: spaces required around that '+' (ctx:VxV)
#93: FILE: tcg/tcg.c:2085:
+        bool is_64bit = sizemask & (1 << (i+1)*2);
                                            ^

ERROR: spaces required around that '*' (ctx:VxV)
#93: FILE: tcg/tcg.c:2085:
+        bool is_64bit = sizemask & (1 << (i+1)*2);
                                               ^

ERROR: suspect code indent for conditional statements (8, 11)
#122: FILE: tcg/tcg.c:2104:
+        if (TCG_TARGET_REG_BITS < 64 && is_64bit) {
+           /*

total: 3 errors, 0 warnings, 387 lines checked

Patch 38/71 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

39/71 Checking commit 4b276e00585f (tcg/tci: Improve tcg_target_call_clobber_regs)
40/71 Checking commit 6b16ed82c3cb (tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order)
41/71 Checking commit a8f550f73633 (tcg/tci: Push opcode emit into each case)
42/71 Checking commit 158aea50157a (tcg/tci: Split out tcg_out_op_rrs)
43/71 Checking commit de027aa8d54a (tcg/tci: Split out tcg_out_op_l)
44/71 Checking commit 3e08393a2a94 (tcg/tci: Split out tcg_out_op_p)
45/71 Checking commit 8a239e2737b6 (tcg/tci: Split out tcg_out_op_rr)
46/71 Checking commit 92262f4db0a6 (tcg/tci: Split out tcg_out_op_rrr)
47/71 Checking commit 2e5ce8a25bff (tcg/tci: Split out tcg_out_op_rrrc)
48/71 Checking commit 74efd8927ccd (tcg/tci: Split out tcg_out_op_rrrrrc)
49/71 Checking commit c5ebc4e7dad3 (tcg/tci: Split out tcg_out_op_rrrbb)
50/71 Checking commit ab0f94f4c906 (tcg/tci: Split out tcg_out_op_rrcl)
51/71 Checking commit 06327d7aa3ca (tcg/tci: Split out tcg_out_op_rrrrrr)
52/71 Checking commit 410ecb8a8f40 (tcg/tci: Split out tcg_out_op_rrrr)
53/71 Checking commit e31d965631c6 (tcg/tci: Split out tcg_out_op_rrrrcl)
54/71 Checking commit 1ba20d596566 (tcg/tci: Split out tcg_out_op_{rrm,rrrm,rrrrm})
55/71 Checking commit c191fb85d058 (tcg/tci: Split out tcg_out_op_v)
56/71 Checking commit 700498232323 (tcg/tci: Split out tcg_out_op_np)
57/71 Checking commit db6b59ff016d (tcg/tci: Split out tcg_out_op_r[iI])
58/71 Checking commit c17b133aa9e4 (tcg/tci: Reserve r13 for a temporary)
59/71 Checking commit b776dc697813 (tcg/tci: Emit setcond before brcond)
60/71 Checking commit 62612727551d (tcg/tci: Remove tci_write_reg)
61/71 Checking commit 19bec07a5e12 (tcg/tci: Change encoding to uint32_t units)
62/71 Checking commit e1ad4f48baaf (tcg/tci: Implement goto_ptr)
63/71 Checking commit 4568e3455959 (tcg/tci: Implement movcond)
64/71 Checking commit b83da745d3d4 (tcg/tci: Implement andc, orc, eqv, nand, nor)
65/71 Checking commit e7ab3061f755 (tcg/tci: Implement extract, sextract)
66/71 Checking commit a35dc197d225 (tcg/tci: Implement clz, ctz, ctpop)
67/71 Checking commit 191eee2f94e6 (tcg/tci: Implement mulu2, muls2)
68/71 Checking commit 445fd0c7b411 (tcg/tci: Implement add2, sub2)
69/71 Checking commit ad8b71759c36 (tcg/tci: Split out tci_qemu_ld, tci_qemu_st)
70/71 Checking commit e125dfdfdad7 (tests/tcg: Increase timeout for TCI)
71/71 Checking commit e85d15221e70 (gitlab: Enable cross-i386 builds of TCI)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210217202036.1724901-1-richard.henderson@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com