public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: will schmidt <will_schmidt@vnet.ibm.com>
To: Carl Love <cel@us.ibm.com>,
	gdb-patches@sourceware.org,
	Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Subject: Re: [PATCH] PowerPC: Make test gdb.arch/powerpc-power10.exp Endian independent.
Date: Tue, 17 May 2022 13:09:18 -0500	[thread overview]
Message-ID: <30abfbfb2c60a879b7235468dd31cbc736b9cad9.camel@vnet.ibm.com> (raw)
In-Reply-To: <e223ac6175bd6335ff652df6b4f1fcad87d630d4.camel@us.ibm.com>

On Tue, 2022-05-17 at 10:13 -0700, Carl Love wrote:
> GDB maintainers:
> 
> The gdb.arch/powerpc-power10.exp test uses the .quad statement to store
> a 64-bit hex value representing the 64-bit prefixed instruction. The
> prefix instruction consists of the 32-bit prefix followed by a 32-bit
> suffix.  When the 64-bit value is stored in Big Endian (BE) format, the
> suffix part of the instruction is stored in the lower address and the
> prefix is stored in the uppder address per the BE convention.
> 
> The test uses gdb to disassemble the instructions.  The issue is the
> disassembler fetches a single 32-bit word at a time.  If the 32-bit
> word contains 0x1 in the upper 6 bits, bits [0:5], it is the prefix
> word for a prefixed instruction and the following 32-bits are fetched
> to complete the 64-bit instruction.  When GDB disassembles the prefixed
> instruction on BE systems stored using .quad, GDB associates the prefix
> word with the wrong suffix word.  
> 
> This patch fixes the issue by replacing the .quad statements with two
> .long statements so the prefix and word portions of the prefixed
> instruction occur in the correct order on both BE and LE systems.
> 
> The patch has been tested on Power 10, Power 7 LE and BE systems.
> 
> Please let me know if this patch is acceptable for mainline.  Thanks.
> 
>                        Carl Love
> 


> 
> ---------------------------------------------------------
> PowerPC: Make test gdb.arch/powerpc-power10.exp Endian independent.
> 
> The .quad statement stores the 64-bit hex value in Endian order.  When used
> to store a 64-bit prefix instructions on Big Endian systems, the .quad
> statement stores the 32-bit suffix followed by the 32-bit prefix rather
> than the correct order of prefix word followed by the suffix word.  GDB
> fetches 32-bits at a time when disassembling instructions.  The disassembly
> on BE gets messed up since GDB fetches the suffix first and interprets it
> as a word instruction not a prefixed instruction.  When gdb fetches the
> prefix part of the instruction, following the initial suffix word, gdb
> associates the prefix word incorrectly with the following 32-bits as the
> suffix for the instruction when in fact it is the following instruction.
> 


"Correct order" may be subjective.  Would "Native byte order" be a
better term to use in here?



> For example on BE we have two prefixed instructions stored using the
> .quad statement as follows:
> 
>  addr    word                GDB action
> ---------------------------------------------
>   1      suffix inst A   <- GDB interprets as a word instruction
>   2      prefix inst A   <- GDB uses this prefix with
> 
>   3      suffix inst B   <- this suffix rather than the suffix at addr 1.
>   4      prefix inst B
> 
> This patch changes the .quad statement into two .longs to explicitly store
> the prefix followed by the suffix of the instruction.
> 
> The patch rearranges the instructions to put all of the word instructions
> together followed by the prefix instructions for clarity.
> 
> The patch has been tested on Power 10 and Power 7 BE and LE to verify
> the change works as expected.
> ---
>  gdb/testsuite/gdb.arch/powerpc-power10.s | 1112 +++++++++++++++-------
>  1 file changed, 744 insertions(+), 368 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.arch/powerpc-power10.s b/gdb/testsuite/gdb.arch/powerpc-power10.s
> index 67ccdb42182..45bb574e81e 100644
> --- a/gdb/testsuite/gdb.arch/powerpc-power10.s
> +++ b/gdb/testsuite/gdb.arch/powerpc-power10.s
> @@ -18,6 +18,7 @@
>  	.text
>  	.globl func
>  func:
> +/* Word instructions */
>  	.long 0x7c200176	/* brd r0,r1 */

Maybe "32-bit long instructions" to match style of subsequent?  
Probably OK either way. 

> 
> +
> +/* Prefixed instructions are 64-bits long.

yup. :-)

> 					  Do not use .quad as that stores
> +   the data in Endian word order.  The disassembler fetches 32-bits at a time,
> +   thus the prefix and suffix will be fetched in the reverse order on Big
> +   Endian.  Use two .long statements, the first .long is for the prefix word
> +   and the second .long is for the suffix word to make the word order
> +   independent of the machine Endianess.  */

I'd prefer this be rearranged a bit, something like " Use multiple
.long statements to represent the 64-bit instructions so the
instructions are properly represented in the machines native byte
order.     ... "

Since this is a testcase..  this is probably OK either
way.

Thanks
-Will






> +	.long 0x06000000	/* paddi r0,r1,0 */
> +	.long 0x38010000
> +	.long 0x06000000	/* paddi r0,r1,12 */
> +	.long 0x3801000c
> +	.long 0x06000000	/* paddi r0,r1,48 */
> +	.long 0x38010030
> +	.long 0x06000000	/* paddi r0,r1,98 */
> +	.long 0x38010062
> +	.long 0x7c201138	/* pdepd r0,r1,r2 */
> +	.long 0x7c201178
> +	.long 0x06000000	/* plbz r0,0(r1) */
> +	.long 0x88010000
> +	.long 0x06000000	/* plbz r0,16(r1) */
> +	.long 0x88010010
> +	.long 0x06000000	/* plbz r0,32(r1) */
> +	.long 0x88010020
> +	.long 0x06000000	/* plbz r0,64(r1) */
> +	.long 0x88010040
> +	.long 0x06000000	/* plbz r0,8(r1) */
> +	.long 0x88010008
> +	.long 0x04000000	/* pld r0,0(r1) */
> +	.long 0xe4010000
> +	.long 0x04000000	/* pld r0,16(r1) */
> +	.long 0xe4010010
> +	.long 0x04000000	/* pld r0,32(r1) */
> +	.long 0xe4010020
> +	.long 0x04000000	/* pld r0,64(r1) */
> +	.long 0xe4010040
> +	.long 0x04000000	/* pld r0,8(r1) */
> +	.long 0xe4010008
> +	.long 0x06000000	/* plfd f28,0(0) */
> +	.long 0xcb800000
> +	.long 0x06000000	/* plfd f28,16(0) */
> +	.long 0xcb800010
> +	.long 0x06000000	/* plfd f28,32(0) */
> +	.long 0xcb800020
> +	.long 0x06000000	/* plfd f28,4(0) */
> +	.long 0xcb800004
> +	.long 0x06000000	/* plfd f28,64(0) */
> +	.long 0xcb800040
> +	.long 0x06000000	/* plfd f28,8(0) */
> +	.long 0xcb800008
> +	.long 0x06000000	/* plfs f28,0(0) */
> +	.long 0xc3800000
> +	.long 0x06000000	/* plfs f28,16(0) */
> +	.long 0xc3800010
> +	.long 0x06000000	/* plfs f28,32(0) */
> +	.long 0xc3800020
> +	.long 0x06000000	/* plfs f28,4(0) */
> +	.long 0xc3800004
> +	.long 0x06000000	/* plfs f28,64(0) */
> +	.long 0xc3800040
> +	.long 0x06000000	/* plfs f28,8(0) */
> +	.long 0xc3800008
> +	.long 0x06000000	/* plha r0,0(r1) */
> +	.long 0xa8010000
> +	.long 0x06000000	/* plha r0,16(r1) */
> +	.long 0xa8010010
> +	.long 0x06000000	/* plha r0,32(r1) */
> +	.long 0xa8010020
> +	.long 0x06000000	/* plha r0,64(r1) */
> +	.long 0xa8010040
> +	.long 0x06000000	/* plha r0,8(r1) */
> +	.long 0xa8010008
> +	.long 0x06000000	/* plhz r0,0(r1) */
> +	.long 0xa0010000
> +	.long 0x06000000	/* plhz r0,16(r1) */
> +	.long 0xa0010010
> +	.long 0x06000000	/* plhz r0,32(r1) */
> +	.long 0xa0010020
> +	.long 0x06000000	/* plhz r0,64(r1) */
> +	.long 0xa0010040
> +	.long 0x06000000	/* plhz r0,8(r1) */
> +	.long 0xa0010008
> +	.long 0x04000000	/* plq r26,0(0) */
> +	.long 0xe3400000
> +	.long 0x04000000	/* plq r26,16(0) */
> +	.long 0xe3400010
> +	.long 0x04000000	/* plq r26,32(0) */
> +	.long 0xe3400020
> +	.long 0x04000000	/* plq r26,48(0) */
> +	.long 0xe3400030
> +	.long 0x04000000	/* plq r26,64(0) */
> +	.long 0xe3400040
> +	.long 0x04000000	/* plq r26,8(0) */
> +	.long 0xe3400008
> +	.long 0x04000000	/* plwa r0,0(r1) */
> +	.long 0xa4010000
> +	.long 0x04000000	/* plwa r0,16(r1) */
> +	.long 0xa4010010
> +	.long 0x04000000	/* plwa r0,32(r1) */
> +	.long 0xa4010020
> +	.long 0x04000000	/* plwa r0,64(r1) */
> +	.long 0xa4010040
> +	.long 0x04000000	/* plwa r0,8(r1) */
> +	.long 0xa4010008
> +	.long 0x06000000	/* plwz r0,0(r1) */
> +	.long 0x80010000
> +	.long 0x06000000	/* plwz r0,16(r1) */
> +	.long 0x80010010
> +	.long 0x06000000	/* plwz r0,32(r1) */
> +	.long 0x80010020
> +	.long 0x06000000	/* plwz r0,64(r1) */
> +	.long 0x80010040
> +	.long 0x06000000	/* plwz r0,8(r1) */
> +	.long 0x80010008
> +	.long 0x04000000	/* plxsd v0,0(r1) */
> +	.long 0xa8010000
> +	.long 0x04000000	/* plxsd v0,16(r1) */
> +	.long 0xa8010010
> +	.long 0x04000000	/* plxsd v0,32(r1) */
> +	.long 0xa8010020
> +	.long 0x04000000	/* plxsd v0,4(r1) */
> +	.long 0xa8010004
> +	.long 0x04000000	/* plxsd v0,64(r1) */
> +	.long 0xa8010040
> +	.long 0x04000000	/* plxsd v0,8(r1) */
> +	.long 0xa8010008
> +	.long 0x04000000	/* plxssp v0,0(r1) */
> +	.long 0xac010000
> +	.long 0x04000000	/* plxssp v0,16(r1) */
> +	.long 0xac010010
> +	.long 0x04000000	/* plxssp v0,32(r1) */
> +	.long 0xac010020
> +	.long 0x04000000	/* plxssp v0,4(r1) */
> +	.long 0xac010004
> +	.long 0x04000000	/* plxssp v0,64(r1) */
> +	.long 0xac010040
> +	.long 0x04000000	/* plxssp v0,8(r1) */
> +	.long 0xac010008
> +	.long 0x04000000	/* plxvp vs20,0(0) */
> +	.long 0xea800000
> +	.long 0x04000000	/* plxvp vs20,16(0) */
> +	.long 0xea800010
> +	.long 0x04000000	/* plxvp vs20,24(0) */
> +	.long 0xea800018
> +	.long 0x04000000	/* plxvp vs20,32(0) */
> +	.long 0xea800020
> +	.long 0x04000000	/* plxvp vs20,8(0) */
> +	.long 0xea800008
> +	.long 0x04000000	/* plxv vs0,0(r1) */
> +	.long 0xc8010000
> +	.long 0x04000000	/* plxv vs0,16(r1) */
> +	.long 0xc8010010
> +	.long 0x04000000	/* plxv vs0,4(r1) */
> +	.long 0xc8010004
> +	.long 0x04000000	/* plxv vs0,8(r1) */
> +	.long 0xc8010008
> +	.long 0x07900000	/* pmxvbf16ger2 a4,vs0,vs1,0,0,0 */
> +	.long 0xee000998
> +	.long 0x07904000	/* pmxvbf16ger2 a4,vs0,vs1,0,0,1 */
> +	.long 0xee000998
> +	.long 0x0790000d	/* pmxvbf16ger2 a4,vs0,vs1,0,13,0 */
> +	.long 0xee000998
> +	.long 0x0790400d	/* pmxvbf16ger2 a4,vs0,vs1,0,13,1 */
> +	.long 0xee000998
> +	.long 0x079000b0	/* pmxvbf16ger2 a4,vs0,vs1,11,0,0 */
> +	.long 0xee000998
> +	.long 0x079040b0	/* pmxvbf16ger2 a4,vs0,vs1,11,0,1 */
> +	.long 0xee000998
> +	.long 0x079000bd	/* pmxvbf16ger2 a4,vs0,vs1,11,13,0 */
> +	.long 0xee000998
> +	.long 0x079040bd	/* pmxvbf16ger2 a4,vs0,vs1,11,13,1 */
> +	.long 0xee000998
> +	.long 0x07900000	/* pmxvbf16ger2nn a4,vs0,vs1,0,0,0 */
> +	.long 0xee000f90
> +	.long 0x07904000	/* pmxvbf16ger2nn a4,vs0,vs1,0,0,1 */
> +	.long 0xee000f90
> +	.long 0x0790000d	/* pmxvbf16ger2nn a4,vs0,vs1,0,13,0 */
> +	.long 0xee000f90
> +	.long 0x0790400d	/* pmxvbf16ger2nn a4,vs0,vs1,0,13,1 */
> +	.long 0xee000f90
> +	.long 0x079000b0	/* pmxvbf16ger2nn a4,vs0,vs1,11,0,0 */
> +	.long 0xee000f90
> +	.long 0x079040b0	/* pmxvbf16ger2nn a4,vs0,vs1,11,0,1 */
> +	.long 0xee000f90
> +	.long 0x079000bd	/* pmxvbf16ger2nn a4,vs0,vs1,11,13,0 */
> +	.long 0xee000f90
> +	.long 0x079040bd	/* pmxvbf16ger2nn a4,vs0,vs1,11,13,1 */
> +	.long 0xee000f90
> +	.long 0x07900000	/* pmxvbf16ger2np a4,vs0,vs1,0,0,0 */
> +	.long 0xee000b90
> +	.long 0x07904000	/* pmxvbf16ger2np a4,vs0,vs1,0,0,1 */
> +	.long 0xee000b90
> +	.long 0x0790000d	/* pmxvbf16ger2np a4,vs0,vs1,0,13,0 */
> +	.long 0xee000b90
> +	.long 0x0790400d	/* pmxvbf16ger2np a4,vs0,vs1,0,13,1 */
> +	.long 0xee000b90
> +	.long 0x079000b0	/* pmxvbf16ger2np a4,vs0,vs1,11,0,0 */
> +	.long 0xee000b90
> +	.long 0x079040b0	/* pmxvbf16ger2np a4,vs0,vs1,11,0,1 */
> +	.long 0xee000b90
> +	.long 0x079000bd	/* pmxvbf16ger2np a4,vs0,vs1,11,13,0 */
> +	.long 0xee000b90
> +	.long 0x079040bd	/* pmxvbf16ger2np a4,vs0,vs1,11,13,1 */
> +	.long 0xee000b90
> +	.long 0x07900000	/* pmxvbf16ger2pn a4,vs0,vs1,0,0,0 */
> +	.long 0xee000d90
> +	.long 0x07904000	/* pmxvbf16ger2pn a4,vs0,vs1,0,0,1 */
> +	.long 0xee000d90
> +	.long 0x0790000d	/* pmxvbf16ger2pn a4,vs0,vs1,0,13,0 */
> +	.long 0xee000d90
> +	.long 0x0790400d	/* pmxvbf16ger2pn a4,vs0,vs1,0,13,1 */
> +	.long 0xee000d90
> +	.long 0x079000b0	/* pmxvbf16ger2pn a4,vs0,vs1,11,0,0 */
> +	.long 0xee000d90
> +	.long 0x079040b0	/* pmxvbf16ger2pn a4,vs0,vs1,11,0,1 */
> +	.long 0xee000d90
> +	.long 0x079000bd	/* pmxvbf16ger2pn a4,vs0,vs1,11,13,0 */
> +	.long 0xee000d90
> +	.long 0x079040bd	/* pmxvbf16ger2pn a4,vs0,vs1,11,13,1 */
> +	.long 0xee000d90
> +	.long 0x07900000	/* pmxvbf16ger2pp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000990
> +	.long 0x07904000	/* pmxvbf16ger2pp a4,vs0,vs1,0,0,1 */
> +	.long 0xee000990
> +	.long 0x0790000d	/* pmxvbf16ger2pp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000990
> +	.long 0x0790400d	/* pmxvbf16ger2pp a4,vs0,vs1,0,13,1 */
> +	.long 0xee000990
> +	.long 0x079000b0	/* pmxvbf16ger2pp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000990
> +	.long 0x079040b0	/* pmxvbf16ger2pp a4,vs0,vs1,11,0,1 */
> +	.long 0xee000990
> +	.long 0x079000bd	/* pmxvbf16ger2pp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000990
> +	.long 0x079040bd	/* pmxvbf16ger2pp a4,vs0,vs1,11,13,1 */
> +	.long 0xee000990
> +	.long 0x07900000	/* pmxvf16ger2 a4,vs0,vs1,0,0,0 */
> +	.long 0xee000898
> +	.long 0x07904000	/* pmxvf16ger2 a4,vs0,vs1,0,0,1 */
> +	.long 0xee000898
> +	.long 0x0790000d	/* pmxvf16ger2 a4,vs0,vs1,0,13,0 */
> +	.long 0xee000898
> +	.long 0x0790400d	/* pmxvf16ger2 a4,vs0,vs1,0,13,1 */
> +	.long 0xee000898
> +	.long 0x079000b0	/* pmxvf16ger2 a4,vs0,vs1,11,0,0 */
> +	.long 0xee000898
> +	.long 0x079040b0	/* pmxvf16ger2 a4,vs0,vs1,11,0,1 */
> +	.long 0xee000898
> +	.long 0x079000bd	/* pmxvf16ger2 a4,vs0,vs1,11,13,0 */
> +	.long 0xee000898
> +	.long 0x079040bd	/* pmxvf16ger2 a4,vs0,vs1,11,13,1 */
> +	.long 0xee000898
> +	.long 0x07900000	/* pmxvf16ger2nn a4,vs0,vs1,0,0,0 */
> +	.long 0xee000e90
> +	.long 0x07904000	/* pmxvf16ger2nn a4,vs0,vs1,0,0,1 */
> +	.long 0xee000e90
> +	.long 0x0790000d	/* pmxvf16ger2nn a4,vs0,vs1,0,13,0 */
> +	.long 0xee000e90
> +	.long 0x0790400d	/* pmxvf16ger2nn a4,vs0,vs1,0,13,1 */
> +	.long 0xee000e90
> +	.long 0x079000b0	/* pmxvf16ger2nn a4,vs0,vs1,11,0,0 */
> +	.long 0xee000e90
> +	.long 0x079040b0	/* pmxvf16ger2nn a4,vs0,vs1,11,0,1 */
> +	.long 0xee000e90
> +	.long 0x079000bd	/* pmxvf16ger2nn a4,vs0,vs1,11,13,0 */
> +	.long 0xee000e90
> +	.long 0x079040bd	/* pmxvf16ger2nn a4,vs0,vs1,11,13,1 */
> +	.long 0xee000e90
> +	.long 0x07900000	/* pmxvf16ger2np a4,vs0,vs1,0,0,0 */
> +	.long 0xee000a90
> +	.long 0x07904000	/* pmxvf16ger2np a4,vs0,vs1,0,0,1 */
> +	.long 0xee000a90
> +	.long 0x0790000d	/* pmxvf16ger2np a4,vs0,vs1,0,13,0 */
> +	.long 0xee000a90
> +	.long 0x0790400d	/* pmxvf16ger2np a4,vs0,vs1,0,13,1 */
> +	.long 0xee000a90
> +	.long 0x079000b0	/* pmxvf16ger2np a4,vs0,vs1,11,0,0 */
> +	.long 0xee000a90
> +	.long 0x079040b0	/* pmxvf16ger2np a4,vs0,vs1,11,0,1 */
> +	.long 0xee000a90
> +	.long 0x079000bd	/* pmxvf16ger2np a4,vs0,vs1,11,13,0 */
> +	.long 0xee000a90
> +	.long 0x079040bd	/* pmxvf16ger2np a4,vs0,vs1,11,13,1 */
> +	.long 0xee000a90
> +	.long 0x07900000	/* pmxvf16ger2pn a4,vs0,vs1,0,0,0 */
> +	.long 0xee000c90
> +	.long 0x07904000	/* pmxvf16ger2pn a4,vs0,vs1,0,0,1 */
> +	.long 0xee000c90
> +	.long 0x0790000d	/* pmxvf16ger2pn a4,vs0,vs1,0,13,0 */
> +	.long 0xee000c90
> +	.long 0x0790400d	/* pmxvf16ger2pn a4,vs0,vs1,0,13,1 */
> +	.long 0xee000c90
> +	.long 0x079000b0	/* pmxvf16ger2pn a4,vs0,vs1,11,0,0 */
> +	.long 0xee000c90
> +	.long 0x079040b0	/* pmxvf16ger2pn a4,vs0,vs1,11,0,1 */
> +	.long 0xee000c90
> +	.long 0x079000bd	/* pmxvf16ger2pn a4,vs0,vs1,11,13,0 */
> +	.long 0xee000c90
> +	.long 0x079040bd	/* pmxvf16ger2pn a4,vs0,vs1,11,13,1 */
> +	.long 0xee000c90
> +	.long 0x07900000	/* pmxvf16ger2pp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000890
> +	.long 0x07904000	/* pmxvf16ger2pp a4,vs0,vs1,0,0,1 */
> +	.long 0xee000890
> +	.long 0x0790000d	/* pmxvf16ger2pp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000890
> +	.long 0x0790400d	/* pmxvf16ger2pp a4,vs0,vs1,0,13,1 */
> +	.long 0xee000890
> +	.long 0x079000b0	/* pmxvf16ger2pp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000890
> +	.long 0x079040b0	/* pmxvf16ger2pp a4,vs0,vs1,11,0,1 */
> +	.long 0xee000890
> +	.long 0x079000bd	/* pmxvf16ger2pp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000890
> +	.long 0x079040bd	/* pmxvf16ger2pp a4,vs0,vs1,11,13,1 */
> +	.long 0xee000890
> +	.long 0x07900000	/* pmxvf32ger a4,vs0,vs1,0,0 */
> +	.long 0xee0008d8
> +	.long 0x0790000d	/* pmxvf32ger a4,vs0,vs1,0,13 */
> +	.long 0xee0008d8
> +	.long 0x079000b0	/* pmxvf32ger a4,vs0,vs1,11,0 */
> +	.long 0xee0008d8
> +	.long 0x079000bd	/* pmxvf32ger a4,vs0,vs1,11,13 */
> +	.long 0xee0008d8
> +	.long 0x07900000	/* pmxvf32gernn a4,vs0,vs1,0,0 */
> +	.long 0xee000ed0
> +	.long 0x0790000d	/* pmxvf32gernn a4,vs0,vs1,0,13 */
> +	.long 0xee000ed0
> +	.long 0x079000b0	/* pmxvf32gernn a4,vs0,vs1,11,0 */
> +	.long 0xee000ed0
> +	.long 0x079000bd	/* pmxvf32gernn a4,vs0,vs1,11,13 */
> +	.long 0xee000ed0
> +	.long 0x07900000	/* pmxvf32gernp a4,vs0,vs1,0,0 */
> +	.long 0xee000ad0
> +	.long 0x0790000d	/* pmxvf32gernp a4,vs0,vs1,0,13 */
> +	.long 0xee000ad0
> +	.long 0x079000b0	/* pmxvf32gernp a4,vs0,vs1,11,0 */
> +	.long 0xee000ad0
> +	.long 0x079000bd	/* pmxvf32gernp a4,vs0,vs1,11,13 */
> +	.long 0xee000ad0
> +	.long 0x07900000	/* pmxvf32gerpn a4,vs0,vs1,0,0 */
> +	.long 0xee000cd0
> +	.long 0x0790000d	/* pmxvf32gerpn a4,vs0,vs1,0,13 */
> +	.long 0xee000cd0
> +	.long 0x079000b0	/* pmxvf32gerpn a4,vs0,vs1,11,0 */
> +	.long 0xee000cd0
> +	.long 0x079000bd	/* pmxvf32gerpn a4,vs0,vs1,11,13 */
> +	.long 0xee000cd0
> +	.long 0x07900000	/* pmxvf32gerpp a4,vs0,vs1,0,0 */
> +	.long 0xee0008d0
> +	.long 0x0790000d	/* pmxvf32gerpp a4,vs0,vs1,0,13 */
> +	.long 0xee0008d0
> +	.long 0x079000b0	/* pmxvf32gerpp a4,vs0,vs1,11,0 */
> +	.long 0xee0008d0
> +	.long 0x079000bd	/* pmxvf32gerpp a4,vs0,vs1,11,13 */
> +	.long 0xee0008d0
> +	.long 0x07900000	/* pmxvf64ger a4,vs22,vs0,0,0 */
> +	.long 0xee1601d8
> +	.long 0x07900004	/* pmxvf64ger a4,vs22,vs0,0,1 */
> +	.long 0xee1601d8
> +	.long 0x079000b0	/* pmxvf64ger a4,vs22,vs0,11,0 */
> +	.long 0xee1601d8
> +	.long 0x079000b4	/* pmxvf64ger a4,vs22,vs0,11,1 */
> +	.long 0xee1601d8
> +	.long 0x07900000	/* pmxvf64gernn a4,vs22,vs0,0,0 */
> +	.long 0xee1607d0
> +	.long 0x07900004	/* pmxvf64gernn a4,vs22,vs0,0,1 */
> +	.long 0xee1607d0
> +	.long 0x079000b0	/* pmxvf64gernn a4,vs22,vs0,11,0 */
> +	.long 0xee1607d0
> +	.long 0x079000b4	/* pmxvf64gernn a4,vs22,vs0,11,1 */
> +	.long 0xee1607d0
> +	.long 0x07900000	/* pmxvf64gernp a4,vs22,vs0,0,0 */
> +	.long 0xee1603d0
> +	.long 0x07900004	/* pmxvf64gernp a4,vs22,vs0,0,1 */
> +	.long 0xee1603d0
> +	.long 0x079000b0	/* pmxvf64gernp a4,vs22,vs0,11,0 */
> +	.long 0xee1603d0
> +	.long 0x079000b4	/* pmxvf64gernp a4,vs22,vs0,11,1 */
> +	.long 0xee1603d0
> +	.long 0x07900000	/* pmxvf64gerpn a4,vs22,vs0,0,0 */
> +	.long 0xee1605d0
> +	.long 0x07900004	/* pmxvf64gerpn a4,vs22,vs0,0,1 */
> +	.long 0xee1605d0
> +	.long 0x079000b0	/* pmxvf64gerpn a4,vs22,vs0,11,0 */
> +	.long 0xee1605d0
> +	.long 0x079000b4	/* pmxvf64gerpn a4,vs22,vs0,11,1 */
> +	.long 0xee1605d0
> +	.long 0x07900000	/* pmxvf64gerpp a4,vs22,vs0,0,0 */
> +	.long 0xee1601d0
> +	.long 0x07900004	/* pmxvf64gerpp a4,vs22,vs0,0,1 */
> +	.long 0xee1601d0
> +	.long 0x079000b0	/* pmxvf64gerpp a4,vs22,vs0,11,0 */
> +	.long 0xee1601d0
> +	.long 0x079000b4	/* pmxvf64gerpp a4,vs22,vs0,11,1 */
> +	.long 0xee1601d0
> +	.long 0x07900000	/* pmxvi16ger2 a4,vs0,vs1,0,0,0 */
> +	.long 0xee000a58
> +	.long 0x07904000	/* pmxvi16ger2 a4,vs0,vs1,0,0,1 */
> +	.long 0xee000a58
> +	.long 0x0790000d	/* pmxvi16ger2 a4,vs0,vs1,0,13,0 */
> +	.long 0xee000a58
> +	.long 0x0790400d	/* pmxvi16ger2 a4,vs0,vs1,0,13,1 */
> +	.long 0xee000a58
> +	.long 0x079000b0	/* pmxvi16ger2 a4,vs0,vs1,11,0,0 */
> +	.long 0xee000a58
> +	.long 0x079040b0	/* pmxvi16ger2 a4,vs0,vs1,11,0,1 */
> +	.long 0xee000a58
> +	.long 0x079000bd	/* pmxvi16ger2 a4,vs0,vs1,11,13,0 */
> +	.long 0xee000a58
> +	.long 0x079040bd	/* pmxvi16ger2 a4,vs0,vs1,11,13,1 */
> +	.long 0xee000a58
> +	.long 0x07900000	/* pmxvi16ger2pp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000b58
> +	.long 0x07904000	/* pmxvi16ger2pp a4,vs0,vs1,0,0,1 */
> +	.long 0xee000b58
> +	.long 0x0790000d	/* pmxvi16ger2pp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000b58
> +	.long 0x0790400d	/* pmxvi16ger2pp a4,vs0,vs1,0,13,1 */
> +	.long 0xee000b58
> +	.long 0x079000b0	/* pmxvi16ger2pp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000b58
> +	.long 0x079040b0	/* pmxvi16ger2pp a4,vs0,vs1,11,0,1 */
> +	.long 0xee000b58
> +	.long 0x079000bd	/* pmxvi16ger2pp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000b58
> +	.long 0x079040bd	/* pmxvi16ger2pp a4,vs0,vs1,11,13,1 */
> +	.long 0xee000b58
> +	.long 0x07900000	/* pmxvi16ger2s a4,vs0,vs1,0,0,0 */
> +	.long 0xee000958
> +	.long 0x07904000	/* pmxvi16ger2s a4,vs0,vs1,0,0,1 */
> +	.long 0xee000958
> +	.long 0x0790000d	/* pmxvi16ger2s a4,vs0,vs1,0,13,0 */
> +	.long 0xee000958
> +	.long 0x0790400d	/* pmxvi16ger2s a4,vs0,vs1,0,13,1 */
> +	.long 0xee000958
> +	.long 0x079000b0	/* pmxvi16ger2s a4,vs0,vs1,11,0,0 */
> +	.long 0xee000958
> +	.long 0x079040b0	/* pmxvi16ger2s a4,vs0,vs1,11,0,1 */
> +	.long 0xee000958
> +	.long 0x079000bd	/* pmxvi16ger2s a4,vs0,vs1,11,13,0 */
> +	.long 0xee000958
> +	.long 0x079040bd	/* pmxvi16ger2s a4,vs0,vs1,11,13,1 */
> +	.long 0xee000958
> +	.long 0x07900000	/* pmxvi16ger2spp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000950
> +	.long 0x07904000	/* pmxvi16ger2spp a4,vs0,vs1,0,0,1 */
> +	.long 0xee000950
> +	.long 0x0790000d	/* pmxvi16ger2spp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000950
> +	.long 0x0790400d	/* pmxvi16ger2spp a4,vs0,vs1,0,13,1 */
> +	.long 0xee000950
> +	.long 0x079000b0	/* pmxvi16ger2spp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000950
> +	.long 0x079040b0	/* pmxvi16ger2spp a4,vs0,vs1,11,0,1 */
> +	.long 0xee000950
> +	.long 0x079000bd	/* pmxvi16ger2spp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000950
> +	.long 0x079040bd	/* pmxvi16ger2spp a4,vs0,vs1,11,13,1 */
> +	.long 0xee000950
> +	.long 0x07900000	/* pmxvi4ger8 a4,vs0,vs1,0,0,0 */
> +	.long 0xee000918
> +	.long 0x07902d00	/* pmxvi4ger8 a4,vs0,vs1,0,0,45 */
> +	.long 0xee000918
> +	.long 0x07900001	/* pmxvi4ger8 a4,vs0,vs1,0,1,0 */
> +	.long 0xee000918
> +	.long 0x07902d01	/* pmxvi4ger8 a4,vs0,vs1,0,1,45 */
> +	.long 0xee000918
> +	.long 0x079000b0	/* pmxvi4ger8 a4,vs0,vs1,11,0,0 */
> +	.long 0xee000918
> +	.long 0x07902db0	/* pmxvi4ger8 a4,vs0,vs1,11,0,45 */
> +	.long 0xee000918
> +	.long 0x079000b1	/* pmxvi4ger8 a4,vs0,vs1,11,1,0 */
> +	.long 0xee000918
> +	.long 0x07902db1	/* pmxvi4ger8 a4,vs0,vs1,11,1,45 */
> +	.long 0xee000918
> +	.long 0x07900000	/* pmxvi4ger8pp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000910
> +	.long 0x07902d00	/* pmxvi4ger8pp a4,vs0,vs1,0,0,45 */
> +	.long 0xee000910
> +	.long 0x07900001	/* pmxvi4ger8pp a4,vs0,vs1,0,1,0 */
> +	.long 0xee000910
> +	.long 0x07902d01	/* pmxvi4ger8pp a4,vs0,vs1,0,1,45 */
> +	.long 0xee000910
> +	.long 0x079000b0	/* pmxvi4ger8pp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000910
> +	.long 0x07902db0	/* pmxvi4ger8pp a4,vs0,vs1,11,0,45 */
> +	.long 0xee000910
> +	.long 0x079000b1	/* pmxvi4ger8pp a4,vs0,vs1,11,1,0 */
> +	.long 0xee000910
> +	.long 0x07902db1	/* pmxvi4ger8pp a4,vs0,vs1,11,1,45 */
> +	.long 0xee000910
> +	.long 0x07900000	/* pmxvi8ger4 a4,vs0,vs1,0,0,0 */
> +	.long 0xee000818
> +	.long 0x07905000	/* pmxvi8ger4 a4,vs0,vs1,0,0,5 */
> +	.long 0xee000818
> +	.long 0x0790000d	/* pmxvi8ger4 a4,vs0,vs1,0,13,0 */
> +	.long 0xee000818
> +	.long 0x0790500d	/* pmxvi8ger4 a4,vs0,vs1,0,13,5 */
> +	.long 0xee000818
> +	.long 0x079000b0	/* pmxvi8ger4 a4,vs0,vs1,11,0,0 */
> +	.long 0xee000818
> +	.long 0x079050b0	/* pmxvi8ger4 a4,vs0,vs1,11,0,5 */
> +	.long 0xee000818
> +	.long 0x079000bd	/* pmxvi8ger4 a4,vs0,vs1,11,13,0 */
> +	.long 0xee000818
> +	.long 0x079050bd	/* pmxvi8ger4 a4,vs0,vs1,11,13,5 */
> +	.long 0xee000818
> +	.long 0x07900000	/* pmxvi8ger4pp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000810
> +	.long 0x07905000	/* pmxvi8ger4pp a4,vs0,vs1,0,0,5 */
> +	.long 0xee000810
> +	.long 0x0790000d	/* pmxvi8ger4pp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000810
> +	.long 0x0790500d	/* pmxvi8ger4pp a4,vs0,vs1,0,13,5 */
> +	.long 0xee000810
> +	.long 0x079000b0	/* pmxvi8ger4pp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000810
> +	.long 0x079050b0	/* pmxvi8ger4pp a4,vs0,vs1,11,0,5 */
> +	.long 0xee000810
> +	.long 0x079000bd	/* pmxvi8ger4pp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000810
> +	.long 0x079050bd	/* pmxvi8ger4pp a4,vs0,vs1,11,13,5 */
> +	.long 0xee000810
> +	.long 0x07900000	/* pmxvi8ger4spp a4,vs0,vs1,0,0,0 */
> +	.long 0xee000b18
> +	.long 0x07905000	/* pmxvi8ger4spp a4,vs0,vs1,0,0,5 */
> +	.long 0xee000b18
> +	.long 0x0790000d	/* pmxvi8ger4spp a4,vs0,vs1,0,13,0 */
> +	.long 0xee000b18
> +	.long 0x0790500d	/* pmxvi8ger4spp a4,vs0,vs1,0,13,5 */
> +	.long 0xee000b18
> +	.long 0x079000b0	/* pmxvi8ger4spp a4,vs0,vs1,11,0,0 */
> +	.long 0xee000b18
> +	.long 0x079050b0	/* pmxvi8ger4spp a4,vs0,vs1,11,0,5 */
> +	.long 0xee000b18
> +	.long 0x079000bd	/* pmxvi8ger4spp a4,vs0,vs1,11,13,0 */
> +	.long 0xee000b18
> +	.long 0x079050bd	/* pmxvi8ger4spp a4,vs0,vs1,11,13,5 */
> +	.long 0xee000b18
> +	.long 0x06000000	/* pstb r0,0(r1) */
> +	.long 0x98010000
> +	.long 0x06000000	/* pstb r0,16(r1) */
> +	.long 0x98010010
> +	.long 0x06000000	/* pstb r0,32(r1) */
> +	.long 0x98010020
> +	.long 0x06000000	/* pstb r0,8(r1) */
> +	.long 0x98010008
> +	.long 0x04000000	/* pstd r0,0(r1) */
> +	.long 0xf4010000
> +	.long 0x04000000	/* pstd r0,16(r1) */
> +	.long 0xf4010010
> +	.long 0x04000000	/* pstd r0,32(r1) */
> +	.long 0xf4010020
> +	.long 0x04000000	/* pstd r0,8(r1) */
> +	.long 0xf4010008
> +	.long 0x06000000	/* pstfd f26,0(0) */
> +	.long 0xdb400000
> +	.long 0x06000000	/* pstfd f26,16(0) */
> +	.long 0xdb400010
> +	.long 0x06000000	/* pstfd f26,32(0) */
> +	.long 0xdb400020
> +	.long 0x06000000	/* pstfd f26,4(0) */
> +	.long 0xdb400004
> +	.long 0x06000000	/* pstfd f26,8(0) */
> +	.long 0xdb400008
> +	.long 0x06000000	/* pstfs f26,0(0) */
> +	.long 0xd3400000
> +	.long 0x06000000	/* pstfs f26,16(0) */
> +	.long 0xd3400010
> +	.long 0x06000000	/* pstfs f26,32(0) */
> +	.long 0xd3400020
> +	.long 0x06000000	/* pstfs f26,4(0) */
> +	.long 0xd3400004
> +	.long 0x06000000	/* pstfs f26,8(0) */
> +	.long 0xd3400008
> +	.long 0x06000000	/* psth r0,0(r1) */
> +	.long 0xb0010000
> +	.long 0x06000000	/* psth r0,16(r1) */
> +	.long 0xb0010010
> +	.long 0x06000000	/* psth r0,32(r1) */
> +	.long 0xb0010020
> +	.long 0x06000000	/* psth r0,8(r1) */
> +	.long 0xb0010008
> +	.long 0x04000000	/* pstq r24,0(0) */
> +	.long 0xf3000000
> +	.long 0x04000000	/* pstq r24,16(0) */
> +	.long 0xf3000010
> +	.long 0x04000000	/* pstq r24,32(0) */
> +	.long 0xf3000020
> +	.long 0x04000000	/* pstq r24,64(0) */
> +	.long 0xf3000040
> +	.long 0x04000000	/* pstq r24,8(0) */
> +	.long 0xf3000008
> +	.long 0x06000000	/* pstw r0,0(r1) */
> +	.long 0x90010000
> +	.long 0x06000000	/* pstw r0,16(r1) */
> +	.long 0x90010010
> +	.long 0x06000000	/* pstw r0,32(r1) */
> +	.long 0x90010020
> +	.long 0x06000000	/* pstw r0,8(r1) */
> +	.long 0x90010008
> +	.long 0x04000000	/* pstxsd v22,0(0) */
> +	.long 0xbac00000
> +	.long 0x04000000	/* pstxsd v22,16(0) */
> +	.long 0xbac00010
> +	.long 0x04000000	/* pstxsd v22,32(0) */
> +	.long 0xbac00020
> +	.long 0x04000000	/* pstxsd v22,4(0) */
> +	.long 0xbac00004
> +	.long 0x04000000	/* pstxsd v22,64(0) */
> +	.long 0xbac00040
> +	.long 0x04000000	/* pstxsd v22,8(0) */
> +	.long 0xbac00008
> +	.long 0x04000000	/* pstxssp v22,0(0) */
> +	.long 0xbec00000
> +	.long 0x04000000	/* pstxssp v22,16(0) */
> +	.long 0xbec00010
> +	.long 0x04000000	/* pstxssp v22,32(0) */
> +	.long 0xbec00020
> +	.long 0x04000000	/* pstxssp v22,4(0) */
> +	.long 0xbec00004
> +	.long 0x04000000	/* pstxssp v22,64(0) */
> +	.long 0xbec00040
> +	.long 0x04000000	/* pstxssp v22,8(0) */
> +	.long 0xbec00008
> +	.long 0x04000000	/* pstxvp vs20,0(0) */
> +	.long 0xfa800000
> +	.long 0x04000000	/* pstxvp vs20,16(0) */
> +	.long 0xfa800010
> +	.long 0x04000000	/* pstxvp vs20,32(0) */
> +	.long 0xfa800020
> +	.long 0x04000000	/* pstxvp vs20,48(0) */
> +	.long 0xfa800030
> +	.long 0x04000000	/* pstxv vs0,0(r1) */
> +	.long 0xd8010000
> +	.long 0x04000000	/* pstxv vs0,16(r1) */
> +	.long 0xd8010010
> +	.long 0x04000000	/* pstxv vs0,4(r1) */
> +	.long 0xd8010004
> +	.long 0x04000000	/* pstxv vs0,8(r1) */
> +	.long 0xd8010008
> +	.long 0x05000000	/* xxblendvb vs0,vs1,vs2,vs3 */
> +	.long 0x840110c0
> +	.long 0x05000000	/* xxblendvd vs0,vs1,vs2,vs3 */
> +	.long 0x840110f0
> +	.long 0x05000000	/* xxblendvh vs0,vs1,vs2,vs3 */
> +	.long 0x840110d0
> +	.long 0x05000000	/* xxblendvw vs0,vs1,vs2,vs3 */
> +	.long 0x840110e0
> +	.long 0x05000000	/* xxeval vs0,vs1,vs2,vs3,0 */
> +	.long 0x880110d0
> +	.long 0x05000003	/* xxeval vs0,vs1,vs2,vs3,3 */
> +	.long 0x880110d0
> +	.long 0x05000000	/* xxpermx vs0,vs1,vs2,vs3,0 */
> +	.long 0x880110c0
> +	.long 0x05000003	/* xxpermx vs0,vs1,vs2,vs3,3 */
> +	.long 0x880110c0
> +	.long 0x05000000	/* xxsplti32dx vs0,0,127 */
> +	.long 0x8000007f
> +	.long 0x05000000	/* xxsplti32dx vs0,0,15 */
> +	.long 0x8000000f
> +	.long 0x0500a5a5	/* xxsplti32dx vs0,0,2779096485 */
> +	.long 0x8000a5a5
> +	.long 0x05000000	/* xxsplti32dx vs0,0,3 */
> +	.long 0x80000003
> +	.long 0x05000000	/* xxsplti32dx vs0,0,31 */
> +	.long 0x8000001f
> +	.long 0x05000000	/* xxsplti32dx vs0,0,32768 */
> +	.long 0x80008000
> +	.long 0x0500ffff	/* xxsplti32dx vs0,0,4294967295 */
> +	.long 0x8000ffff
> +	.long 0x05000000	/* xxsplti32dx vs0,0,63 */
> +	.long 0x8000003f
> +	.long 0x05000001	/* xxsplti32dx vs0,0,66535 */
> +	.long 0x800003e7
> +	.long 0x05000000	/* xxsplti32dx vs0,0,7 */
> +	.long 0x80000007
> +	.long 0x05000000	/* xxsplti32dx vs0,1,127 */
> +	.long 0x8002007f
> +	.long 0x05000000	/* xxsplti32dx vs0,1,15 */
> +	.long 0x8002000f
> +	.long 0x0500a5a5	/* xxsplti32dx vs0,1,2779096485 */
> +	.long 0x8002a5a5
> +	.long 0x05000000	/* xxsplti32dx vs0,1,3 */
> +	.long 0x80020003
> +	.long 0x05000000	/* xxsplti32dx vs0,1,31 */
> +	.long 0x8002001f
> +	.long 0x05000000	/* xxsplti32dx vs0,1,32768 */
> +	.long 0x80028000
> +	.long 0x0500ffff	/* xxsplti32dx vs0,1,4294967295 */
> +	.long 0x8002ffff
> +	.long 0x05000000	/* xxsplti32dx vs0,1,63 */
> +	.long 0x8002003f
> +	.long 0x05000001	/* xxsplti32dx vs0,1,66535 */
> +	.long 0x800203e7
> +	.long 0x05000000	/* xxsplti32dx vs0,1,7 */
> +	.long 0x80020007
> +	.long 0x05000000	/* xxspltidp vs0,0 */
> +	.long 0x80040000
> +	.long 0x05000080	/* xxspltidp vs0,8388608 */
> +	.long 0x80040000
> +	.long 0x05000080	/* xxspltidp vs0,8388609 */
> +	.long 0x80040001
> +	.long 0x05000083	/* xxspltidp vs0,8594245 */
> +	.long 0x80042345
> +	.long 0x050000ff	/* xxspltidp vs0,16777215 */
> +	.long 0x8004ffff
> +	.long 0x05003200	/* xxspltidp vs0,838860800 */
> +	.long 0x80040000
> +	.long 0x05007f80	/* xxspltidp vs0,2139095040 */
> +	.long 0x80040000
> +	.long 0x05007f80	/* xxspltidp vs0,2139095041 */
> +	.long 0x80040001
> +	.long 0x05007f83	/* xxspltidp vs0,2139300677 */
> +	.long 0x80042345
> +	.long 0x05007fff	/* xxspltidp vs0,2147483647 */
> +	.long 0x8004ffff
> +	.long 0x05008000	/* xxspltidp vs0,2147483648 */
> +	.long 0x80040000
> +	.long 0x05008080	/* xxspltidp vs0,2155872256 */
> +	.long 0x80040000
> +	.long 0x05008080	/* xxspltidp vs0,2155872257 */
> +	.long 0x80040001
> +	.long 0x05008083	/* xxspltidp vs0,2156077893 */
> +	.long 0x80042345
> +	.long 0x050080ff	/* xxspltidp vs0,2164260863 */
> +	.long 0x8004ffff
> +	.long 0x0500ff80	/* xxspltidp vs0,4286578688 */
> +	.long 0x80040000
> +	.long 0x0500ff80	/* xxspltidp vs0,4286578689 */
> +	.long 0x80040001
> +	.long 0x0500ff83	/* xxspltidp vs0,4286784325 */
> +	.long 0x80042345
> +	.long 0x0500ffff	/* xxspltidp vs0,4294967295 */
> +	.long 0x8004ffff
> +	.long 0x05000000	/* xxspltiw vs0,0 */
> +	.long 0x80060000
> +	.long 0x05000000	/* xxspltiw vs0,0 */
> +	.long 0x80060001
> +	.long 0x05000000	/* xxspltiw vs0,3 */
> +	.long 0x80060003
> +	.long 0x05000000	/* xxspltiw vs0,8 */
> +	.long 0x80060008


  reply	other threads:[~2022-05-17 18:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-17 17:13 Carl Love
2022-05-17 18:09 ` will schmidt [this message]
2022-05-18 20:29   ` Ulrich Weigand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30abfbfb2c60a879b7235468dd31cbc736b9cad9.camel@vnet.ibm.com \
    --to=will_schmidt@vnet.ibm.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=cel@us.ibm.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).