[PATCH] x86: Do not dump DS/CS segment overrides for branch hints
H.J. Lu
hjl.tools@gmail.com
Sun Nov 29 00:11:40 GMT 2020
On Sat, Nov 28, 2020 at 4:00 PM Borislav Petkov <bp@suse.de> wrote:
>
> On Sat, Nov 28, 2020 at 06:07:37AM -0800, H.J. Lu wrote:
> > Please add a testcase to show that the regression is fixed.
>
> Ok, how's that diff (ontop of the previous one)?
>
> I've added them to x86-64-segovr because for 64-bit that test deals with
> segment overrides so they kinda logically belong there.
>
> And I couldn't find the corresponding test for i386 so I put them in
> the SSE2 test because those branch hints came together with the SSE2
> extensions, according to the SDM.
Please add 64-bit tests to x86-64-branch.s and add a new test file,
branch.s, for 32-bit tests.
> I can do separate files, if that is preferred though, but since that
> test is only two insns, I thought I should keep it simple and not add
> more files...
>
> diff --git a/gas/testsuite/gas/i386/sse2-16bit.d b/gas/testsuite/gas/i386/sse2-16bit.d
> index a0970362a508..15ab05b39964 100644
> --- a/gas/testsuite/gas/i386/sse2-16bit.d
> +++ b/gas/testsuite/gas/i386/sse2-16bit.d
> @@ -163,6 +163,8 @@ Disassembly of section .text:
> [ ]*[a-f0-9]+: 67 0f fb 00 psubq \(%eax\),%mm0
> [ ]*[a-f0-9]+: 66 0f fb c1 psubq %xmm1,%xmm0
> [ ]*[a-f0-9]+: 67 66 0f fb 00 psubq \(%eax\),%xmm0
> +[ ]*[a-f0-9]+: 3e 0f 84 14 fd je,pt 0 <foo>
> +[ ]*[a-f0-9]+: 2e 0f 84 0f fd je,pn 0 <foo>
> [ ]*[a-f0-9]+: 0f 58 2f addps \(%bx\),%xmm5
> [ ]*[a-f0-9]+: f3 0f 2a d9 cvtsi2ss %ecx,%xmm3
> [ ]*[a-f0-9]+: f3 0f 2d cb cvtss2si %xmm3,%ecx
> diff --git a/gas/testsuite/gas/i386/sse2.d b/gas/testsuite/gas/i386/sse2.d
> index 23f7b430bb68..52b6878cf10c 100644
> --- a/gas/testsuite/gas/i386/sse2.d
> +++ b/gas/testsuite/gas/i386/sse2.d
> @@ -163,4 +163,6 @@ Disassembly of section .text:
> [ ]*[a-f0-9]+: 0f fb 00 psubq \(%eax\),%mm0
> [ ]*[a-f0-9]+: 66 0f fb c1 psubq %xmm1,%xmm0
> [ ]*[a-f0-9]+: 66 0f fb 00 psubq \(%eax\),%xmm0
> +[ ]*[a-f0-9]+: 3e 0f 84 59 fd ff ff je,pt 0 <foo>
> +[ ]*[a-f0-9]+: 2e 0f 84 52 fd ff ff je,pn 0 <foo>
> #pass
> diff --git a/gas/testsuite/gas/i386/sse2.s b/gas/testsuite/gas/i386/sse2.s
> index c6375dcb06e9..6b52b87c5fdc 100644
> --- a/gas/testsuite/gas/i386/sse2.s
> +++ b/gas/testsuite/gas/i386/sse2.s
> @@ -155,3 +155,5 @@ foo:
> psubq (%eax),%mm0
> psubq %xmm1,%xmm0
> psubq (%eax),%xmm0
> + jz,pt foo
> + jz,pn foo
> diff --git a/gas/testsuite/gas/i386/x86-64-segovr.d b/gas/testsuite/gas/i386/x86-64-segovr.d
> index 2e7ebf26efa9..304d30fe00ea 100644
> --- a/gas/testsuite/gas/i386/x86-64-segovr.d
> +++ b/gas/testsuite/gas/i386/x86-64-segovr.d
> @@ -38,4 +38,6 @@ Disassembly of section .text:
> [ ]*[a-f0-9]+: 36 41 8b 45 00[ ]+ss mov[ ]+((0x)?0)?\(%r13\),%eax
> [ ]*[a-f0-9]+: 36 41 8b 06[ ]+ss mov[ ]+\(%r14\),%eax
> [ ]*[a-f0-9]+: 36 41 8b 07[ ]+ss mov[ ]+\(%r15\),%eax
> +[ ]*[a-f0-9]+: 3e 74 03[ ]+je,pt[ ]+6e <label>
> +[ ]*[a-f0-9]+: 2e 74 00[ ]+je,pn[ ]+6e <label>
> #pass
> diff --git a/gas/testsuite/gas/i386/x86-64-segovr.s b/gas/testsuite/gas/i386/x86-64-segovr.s
> index 08c045f231f5..d0386da807a0 100644
> --- a/gas/testsuite/gas/i386/x86-64-segovr.s
> +++ b/gas/testsuite/gas/i386/x86-64-segovr.s
> @@ -7,3 +7,6 @@ segovr:
> mov %\seg:(%r\reg), %eax
> .endr
> .endr
> +jz,pt label
> +jz,pn label
> +label:
>
Please submit a new patch with proper ChangeLog entries in commit
log. Please generate the patch "git format-patch -1" and also include
the patch as an attachment if you need someone else to commit it
for you.
Thanks.
--
H.J.
More information about the Binutils
mailing list