Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
On 10/31/2016 08:00 AM, Peter Maydell wrote: On 24 October 2016 at 20:04, Richard Hendersonwrote: Pinging target maintainers. If I don't get responses by the end of the week, I'll only push the generic tcg bits and the two targets that I maintain. Sorry we didn't get to this :-( Unfortunately our risu test environment had bitrotted a bit so it wasn't as easy as I'd hoped to test the ARM frontend stuff. Yeah, I ran into a few problems in testing arm32 hosting ppc64 that really exercised this (much more so than i686). I'll have to push this whole patch set off til next time. r~
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
On 24 October 2016 at 20:04, Richard Hendersonwrote: > Pinging target maintainers. If I don't get responses by the end of the > week, I'll only push the generic tcg bits and the two targets that I > maintain. Sorry we didn't get to this :-( Unfortunately our risu test environment had bitrotted a bit so it wasn't as easy as I'd hoped to test the ARM frontend stuff. thanks -- PMM
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
On Mon, Oct 24, 2016 at 12:04:33PM -0700, Richard Henderson wrote: > Pinging target maintainers. If I don't get responses by the end of the > week, I'll only push the generic tcg bits and the two targets that I > maintain. Sorry, missed this first time around. The ppc host side looked ok to me, but the ppc target side didn't look quite right. -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson signature.asc Description: PGP signature
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
On 24/10/2016 21:04, Richard Henderson wrote: > Pinging target maintainers. If I don't get responses by the end of the > week, I'll only push the generic tcg bits and the two targets that I > maintain. There's no documentation in tcg/README; apart from that looks good. Paolo > > r~ > > > On 10/18/2016 08:10 AM, Richard Henderson wrote: >> Better tested this time, including aarch64 host. >> >> Changes since v1: >> * Added tcg_gen_deposit_z_*. Depositing into zero turns out to be >> quite common among targets. Providing that as a primitive expander >> allows us to easily generate optimal-ish code for hosts with and >> without a real deposit operation. >> * Cleanups in tcg/s390 akin to those I already did for tcg/arm. >> * Add support in tcg/s390 for deposit into zero. >> * More special cases in the expanders for better code generation, >> especially on an x86 host *without* the extract primitives. >> * Silly think-o on aarch64 host. >> >> >> r~ >> >> >> Richard Henderson (18): >> tcg: Add field extraction primitives >> tcg: Minor adjustments to deposit expanders >> tcg: Add deposit_z expander >> tcg/aarch64: Implement field extraction opcodes >> tcg/arm: Move isa detection to tcg-target.h >> tcg/arm: Implement field extraction opcodes >> tcg/i386: Implement field extraction opcodes >> tcg/mips: Implement field extraction opcodes >> tcg/ppc: Implement field extraction opcodes >> tcg/s390: Expose host facilities to tcg-target.h >> tcg/s390: Implement field extraction opcodes >> tcg/s390: Support deposit into zero >> target-alpha: Use deposit and extract ops >> target-arm: Use new deposit and extract ops >> target-i386: Use new deposit and extract ops >> target-mips: Use the new extract op >> target-ppc: Use the new deposit and extract ops >> target-s390x: Use the new deposit and extract ops >> >> target-alpha/translate.c | 67 --- >> target-arm/translate-a64.c | 79 +++- >> target-arm/translate.c | 37 +--- >> target-i386/translate.c | 45 +++-- >> target-mips/translate.c | 12 +- >> target-ppc/translate.c | 35 ++-- >> target-s390x/translate.c | 34 ++-- >> tcg/aarch64/tcg-target.h | 4 + >> tcg/aarch64/tcg-target.inc.c | 14 ++ >> tcg/arm/tcg-target.h | 38 +++- >> tcg/arm/tcg-target.inc.c | 63 +++--- >> tcg/i386/tcg-target.h| 10 + >> tcg/i386/tcg-target.inc.c| 38 >> tcg/ia64/tcg-target.h| 4 + >> tcg/mips/tcg-target.h| 2 + >> tcg/mips/tcg-target.inc.c| 4 + >> tcg/optimize.c | 29 +++ >> tcg/ppc/tcg-target.h | 4 + >> tcg/ppc/tcg-target.inc.c | 10 + >> tcg/s390/tcg-target.h| 122 +++- >> tcg/s390/tcg-target.inc.c| 113 ++- >> tcg/sparc/tcg-target.h | 4 + >> tcg/tcg-op.c | 465 >> ++- >> tcg/tcg-op.h | 18 ++ >> tcg/tcg-opc.h| 4 + >> tcg/tcg.h| 8 + >> tcg/tci/tcg-target.h | 4 + >> 27 files changed, 954 insertions(+), 313 deletions(-) >> > > >
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
On Mon, Oct 24, 2016 at 12:04:33PM -0700, Richard Henderson wrote: > Pinging target maintainers. If I don't get responses by the end of the > week, I'll only push the generic tcg bits and the two targets that I > maintain. I can't say I fully reviewed it, but I trust your judgement. For the i386 parts: Acked-by: Eduardo Habkost> > > r~ > > > On 10/18/2016 08:10 AM, Richard Henderson wrote: > > Better tested this time, including aarch64 host. > > > > Changes since v1: > > * Added tcg_gen_deposit_z_*. Depositing into zero turns out to be > > quite common among targets. Providing that as a primitive expander > > allows us to easily generate optimal-ish code for hosts with and > > without a real deposit operation. > > * Cleanups in tcg/s390 akin to those I already did for tcg/arm. > > * Add support in tcg/s390 for deposit into zero. > > * More special cases in the expanders for better code generation, > > especially on an x86 host *without* the extract primitives. > > * Silly think-o on aarch64 host. > > > > > > r~ > > > > > > Richard Henderson (18): > > tcg: Add field extraction primitives > > tcg: Minor adjustments to deposit expanders > > tcg: Add deposit_z expander > > tcg/aarch64: Implement field extraction opcodes > > tcg/arm: Move isa detection to tcg-target.h > > tcg/arm: Implement field extraction opcodes > > tcg/i386: Implement field extraction opcodes > > tcg/mips: Implement field extraction opcodes > > tcg/ppc: Implement field extraction opcodes > > tcg/s390: Expose host facilities to tcg-target.h > > tcg/s390: Implement field extraction opcodes > > tcg/s390: Support deposit into zero > > target-alpha: Use deposit and extract ops > > target-arm: Use new deposit and extract ops > > target-i386: Use new deposit and extract ops > > target-mips: Use the new extract op > > target-ppc: Use the new deposit and extract ops > > target-s390x: Use the new deposit and extract ops > > > > target-alpha/translate.c | 67 --- > > target-arm/translate-a64.c | 79 +++- > > target-arm/translate.c | 37 +--- > > target-i386/translate.c | 45 +++-- > > target-mips/translate.c | 12 +- > > target-ppc/translate.c | 35 ++-- > > target-s390x/translate.c | 34 ++-- > > tcg/aarch64/tcg-target.h | 4 + > > tcg/aarch64/tcg-target.inc.c | 14 ++ > > tcg/arm/tcg-target.h | 38 +++- > > tcg/arm/tcg-target.inc.c | 63 +++--- > > tcg/i386/tcg-target.h| 10 + > > tcg/i386/tcg-target.inc.c| 38 > > tcg/ia64/tcg-target.h| 4 + > > tcg/mips/tcg-target.h| 2 + > > tcg/mips/tcg-target.inc.c| 4 + > > tcg/optimize.c | 29 +++ > > tcg/ppc/tcg-target.h | 4 + > > tcg/ppc/tcg-target.inc.c | 10 + > > tcg/s390/tcg-target.h| 122 +++- > > tcg/s390/tcg-target.inc.c| 113 ++- > > tcg/sparc/tcg-target.h | 4 + > > tcg/tcg-op.c | 465 > > ++- > > tcg/tcg-op.h | 18 ++ > > tcg/tcg-opc.h| 4 + > > tcg/tcg.h| 8 + > > tcg/tci/tcg-target.h | 4 + > > 27 files changed, 954 insertions(+), 313 deletions(-) > > > -- Eduardo
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
Pinging target maintainers. If I don't get responses by the end of the week, I'll only push the generic tcg bits and the two targets that I maintain. r~ On 10/18/2016 08:10 AM, Richard Henderson wrote: Better tested this time, including aarch64 host. Changes since v1: * Added tcg_gen_deposit_z_*. Depositing into zero turns out to be quite common among targets. Providing that as a primitive expander allows us to easily generate optimal-ish code for hosts with and without a real deposit operation. * Cleanups in tcg/s390 akin to those I already did for tcg/arm. * Add support in tcg/s390 for deposit into zero. * More special cases in the expanders for better code generation, especially on an x86 host *without* the extract primitives. * Silly think-o on aarch64 host. r~ Richard Henderson (18): tcg: Add field extraction primitives tcg: Minor adjustments to deposit expanders tcg: Add deposit_z expander tcg/aarch64: Implement field extraction opcodes tcg/arm: Move isa detection to tcg-target.h tcg/arm: Implement field extraction opcodes tcg/i386: Implement field extraction opcodes tcg/mips: Implement field extraction opcodes tcg/ppc: Implement field extraction opcodes tcg/s390: Expose host facilities to tcg-target.h tcg/s390: Implement field extraction opcodes tcg/s390: Support deposit into zero target-alpha: Use deposit and extract ops target-arm: Use new deposit and extract ops target-i386: Use new deposit and extract ops target-mips: Use the new extract op target-ppc: Use the new deposit and extract ops target-s390x: Use the new deposit and extract ops target-alpha/translate.c | 67 --- target-arm/translate-a64.c | 79 +++- target-arm/translate.c | 37 +--- target-i386/translate.c | 45 +++-- target-mips/translate.c | 12 +- target-ppc/translate.c | 35 ++-- target-s390x/translate.c | 34 ++-- tcg/aarch64/tcg-target.h | 4 + tcg/aarch64/tcg-target.inc.c | 14 ++ tcg/arm/tcg-target.h | 38 +++- tcg/arm/tcg-target.inc.c | 63 +++--- tcg/i386/tcg-target.h| 10 + tcg/i386/tcg-target.inc.c| 38 tcg/ia64/tcg-target.h| 4 + tcg/mips/tcg-target.h| 2 + tcg/mips/tcg-target.inc.c| 4 + tcg/optimize.c | 29 +++ tcg/ppc/tcg-target.h | 4 + tcg/ppc/tcg-target.inc.c | 10 + tcg/s390/tcg-target.h| 122 +++- tcg/s390/tcg-target.inc.c| 113 ++- tcg/sparc/tcg-target.h | 4 + tcg/tcg-op.c | 465 ++- tcg/tcg-op.h | 18 ++ tcg/tcg-opc.h| 4 + tcg/tcg.h| 8 + tcg/tci/tcg-target.h | 4 + 27 files changed, 954 insertions(+), 313 deletions(-)
Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
Hi, Your series seems to have some coding style problems. See output below for more information: Type: series Message-id: 1476803431-7208-1-git-send-email-...@twiddle.net Subject: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 # Useful git options git config --local diff.renamelimit 0 git config --local diff.renames True commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git show --no-patch --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' c797e38 target-s390x: Use the new deposit and extract ops 8665678 target-ppc: Use the new deposit and extract ops 3ecbf06 target-mips: Use the new extract op 2729c07 target-i386: Use new deposit and extract ops 07d7282 target-arm: Use new deposit and extract ops c2a8f3c target-alpha: Use deposit and extract ops 1e56779 tcg/s390: Support deposit into zero 21e361f tcg/s390: Implement field extraction opcodes 23f1f91 tcg/s390: Expose host facilities to tcg-target.h a2378d7 tcg/ppc: Implement field extraction opcodes d2df385 tcg/mips: Implement field extraction opcodes ad6690d tcg/i386: Implement field extraction opcodes 84cdccb tcg/arm: Implement field extraction opcodes 2337625 tcg/arm: Move isa detection to tcg-target.h 1e01570 tcg/aarch64: Implement field extraction opcodes f6f72e0 tcg: Add deposit_z expander a0dcab5 tcg: Minor adjustments to deposit expanders 3359201 tcg: Add field extraction primitives === OUTPUT BEGIN === Checking PATCH 1/18: tcg: Add field extraction primitives... ERROR: spaces required around that ':' (ctx:VxE) #105: FILE: tcg/optimize.c:881: +CASE_OP_32_64(extract): ^ ERROR: spaces required around that ':' (ctx:VxE) #111: FILE: tcg/optimize.c:887: +CASE_OP_32_64(sextract): ^ ERROR: spaces required around that ':' (ctx:VxE) #125: FILE: tcg/optimize.c:1064: +CASE_OP_32_64(extract): ^ ERROR: spaces required around that ':' (ctx:VxE) #133: FILE: tcg/optimize.c:1072: +CASE_OP_32_64(sextract): ^ ERROR: space prohibited after that '&&' (ctx:ExW) #237: FILE: tcg/tcg-op.c:592: +&& TCG_TARGET_extract_i32_valid(ofs, len)) { ^ ERROR: space prohibited after that '&&' (ctx:ExW) #300: FILE: tcg/tcg-op.c:655: +&& TCG_TARGET_extract_i32_valid(ofs, len)) { ^ ERROR: space prohibited after that '&&' (ctx:ExW) #386: FILE: tcg/tcg-op.c:1782: +&& TCG_TARGET_extract_i64_valid(ofs, len)) { ^ ERROR: space prohibited after that '&&' (ctx:ExW) #485: FILE: tcg/tcg-op.c:1881: +&& TCG_TARGET_extract_i64_valid(ofs, len)) { ^ total: 8 errors, 0 warnings, 563 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 2/18: tcg: Minor adjustments to deposit expanders... Checking PATCH 3/18: tcg: Add deposit_z expander... ERROR: space prohibited after that '&&' (ctx:ExW) #33: FILE: tcg/tcg-op.c:587: + && TCG_TARGET_deposit_i32_valid(ofs, len)) { ^ ERROR: space prohibited after that '&&' (ctx:ExW) #98: FILE: tcg/tcg-op.c:1819: + && TCG_TARGET_deposit_i64_valid(ofs, len)) { ^ total: 2 errors, 0 warnings, 185 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 4/18: tcg/aarch64: Implement field extraction opcodes... Checking PATCH 5/18: tcg/arm: Move isa detection to tcg-target.h... WARNING: architecture specific defines should be avoided #18: FILE: tcg/arm/tcg-target.h:30: +#ifndef __ARM_ARCH WARNING: architecture specific defines should be avoided #19: FILE: tcg/arm/tcg-target.h:31: +# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ WARNING: architecture specific defines should be avoided #38: FILE: tcg/arm/tcg-target.h:50: +#if defined(__ARM_ARCH_5T__) \ total: 0 errors, 3 warnings, 107 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 6/18: tcg/arm: Implement field extraction opcodes... Checking PATCH 7/18: tcg/i386: Implement field extraction opcodes... Checking PATCH 8/18: tcg/mips: Implement field extraction opcodes... Checking PATCH 9/18: tcg/ppc: Implement field extraction opco
[Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
Better tested this time, including aarch64 host. Changes since v1: * Added tcg_gen_deposit_z_*. Depositing into zero turns out to be quite common among targets. Providing that as a primitive expander allows us to easily generate optimal-ish code for hosts with and without a real deposit operation. * Cleanups in tcg/s390 akin to those I already did for tcg/arm. * Add support in tcg/s390 for deposit into zero. * More special cases in the expanders for better code generation, especially on an x86 host *without* the extract primitives. * Silly think-o on aarch64 host. r~ Richard Henderson (18): tcg: Add field extraction primitives tcg: Minor adjustments to deposit expanders tcg: Add deposit_z expander tcg/aarch64: Implement field extraction opcodes tcg/arm: Move isa detection to tcg-target.h tcg/arm: Implement field extraction opcodes tcg/i386: Implement field extraction opcodes tcg/mips: Implement field extraction opcodes tcg/ppc: Implement field extraction opcodes tcg/s390: Expose host facilities to tcg-target.h tcg/s390: Implement field extraction opcodes tcg/s390: Support deposit into zero target-alpha: Use deposit and extract ops target-arm: Use new deposit and extract ops target-i386: Use new deposit and extract ops target-mips: Use the new extract op target-ppc: Use the new deposit and extract ops target-s390x: Use the new deposit and extract ops target-alpha/translate.c | 67 --- target-arm/translate-a64.c | 79 +++- target-arm/translate.c | 37 +--- target-i386/translate.c | 45 +++-- target-mips/translate.c | 12 +- target-ppc/translate.c | 35 ++-- target-s390x/translate.c | 34 ++-- tcg/aarch64/tcg-target.h | 4 + tcg/aarch64/tcg-target.inc.c | 14 ++ tcg/arm/tcg-target.h | 38 +++- tcg/arm/tcg-target.inc.c | 63 +++--- tcg/i386/tcg-target.h| 10 + tcg/i386/tcg-target.inc.c| 38 tcg/ia64/tcg-target.h| 4 + tcg/mips/tcg-target.h| 2 + tcg/mips/tcg-target.inc.c| 4 + tcg/optimize.c | 29 +++ tcg/ppc/tcg-target.h | 4 + tcg/ppc/tcg-target.inc.c | 10 + tcg/s390/tcg-target.h| 122 +++- tcg/s390/tcg-target.inc.c| 113 ++- tcg/sparc/tcg-target.h | 4 + tcg/tcg-op.c | 465 ++- tcg/tcg-op.h | 18 ++ tcg/tcg-opc.h| 4 + tcg/tcg.h| 8 + tcg/tci/tcg-target.h | 4 + 27 files changed, 954 insertions(+), 313 deletions(-) -- 2.7.4