* [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes @ 2021-02-15 13:35 Jan Beulich 2021-02-15 13:37 ` [PATCH 1/4] x86: make common property tests common Jan Beulich ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: Jan Beulich @ 2021-02-15 13:35 UTC (permalink / raw) To: Binutils There are more quirks afaict, but I wanted to start somewhere. 1: make common property tests common 2: record register use for SIMD insns without respective explicit operands 3: honor template rather than actual operands when updating i.xstate 4: CVTPI2PD has special behavior Jan ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] x86: make common property tests common 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich @ 2021-02-15 13:37 ` Jan Beulich 2021-02-15 13:37 ` [PATCH 2/4] x86: record register use for SIMD insns without respective explicit operands Jan Beulich ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Jan Beulich @ 2021-02-15 13:37 UTC (permalink / raw) To: Binutils There's no need to run the exact same test twice. Move the tests which don't differ between 32- and 64-bit to the "Common tests" section. gas/ 2021-02-XX Jan Beulich <jbeulich@suse.com> * testsuite/gas/i386/i386.exp: Move bitness-independent property tests to bitness independent section. * testsuite/gas/i386/x86-64-property-2.d, testsuite/gas/i386/x86-64-property-3.d, testsuite/gas/i386/x86-64-property-4.d, testsuite/gas/i386/x86-64-property-5.d, testsuite/gas/i386/x86-64-property-6.d, testsuite/gas/i386/x86-64-property-10.d, testsuite/gas/i386/x86-64-property-11.d, testsuite/gas/i386/x86-64-property-12.d, testsuite/gas/i386/x86-64-property-13.d: Delete. --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -655,15 +655,6 @@ if [gas_32_check] then { run_dump_test "unique" run_dump_test "property-1" - run_dump_test "property-2" - run_dump_test "property-3" - run_dump_test "property-4" - run_dump_test "property-5" - run_dump_test "property-6" - run_dump_test "property-10" - run_dump_test "property-11" - run_dump_test "property-12" - run_dump_test "property-13" if {[istarget "*-*-linux*"]} then { run_dump_test "align-branch-3" @@ -725,6 +716,16 @@ if {[is_elf_format] || [istarget "*-*-vx run_dump_test "dw2-compressed-3a" run_dump_test "dw2-compressed-3b" + run_dump_test "property-2" + run_dump_test "property-3" + run_dump_test "property-4" + run_dump_test "property-5" + run_dump_test "property-6" + run_dump_test "property-10" + run_dump_test "property-11" + run_dump_test "property-12" + run_dump_test "property-13" + if {![istarget "*-*-dragonfly*"] && ![istarget "*-*-gnu*"] && ![istarget "*-*-freebsd*"] @@ -1274,18 +1275,9 @@ if [gas_64_check] then { run_dump_test "x86-64-unique" run_dump_test "x86-64-property-1" - run_dump_test "x86-64-property-2" - run_dump_test "x86-64-property-3" - run_dump_test "x86-64-property-4" - run_dump_test "x86-64-property-5" - run_dump_test "x86-64-property-6" run_dump_test "x86-64-property-7" run_dump_test "x86-64-property-8" run_dump_test "x86-64-property-9" - run_dump_test "x86-64-property-10" - run_dump_test "x86-64-property-11" - run_dump_test "x86-64-property-12" - run_dump_test "x86-64-property-13" run_dump_test "x86-64-property-14" if {[istarget "*-*-linux*"]} then { --- a/gas/testsuite/gas/i386/x86-64-property-2.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 2 -#source: property-2.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline - x86 feature used: x86 --- a/gas/testsuite/gas/i386/x86-64-property-3.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 3 -#source: property-3.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v2 - x86 feature used: x86, XMM --- a/gas/testsuite/gas/i386/x86-64-property-4.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 4 -#source: property-4.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v3 - x86 feature used: x86, XMM --- a/gas/testsuite/gas/i386/x86-64-property-5.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 5 -#source: property-5.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v4 - x86 feature used: x86, XMM --- a/gas/testsuite/gas/i386/x86-64-property-6.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 6 -#source: property-6.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v4 - x86 feature used: x86, MASK --- a/gas/testsuite/gas/i386/x86-64-property-10.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 10 -#source: property-10.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline - x86 feature used: x86, XMM --- a/gas/testsuite/gas/i386/x86-64-property-11.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 11 -#source: property-11.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v3 - x86 feature used: x86, XMM --- a/gas/testsuite/gas/i386/x86-64-property-12.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 12 -#source: property-12.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline, x86-64-v4 - x86 feature used: x86, XMM, MASK --- a/gas/testsuite/gas/i386/x86-64-property-13.d +++ /dev/null @@ -1,10 +0,0 @@ -#name: x86-64 property 13 -#source: property-13.s -#as: -mx86-used-note=yes --generate-missing-build-notes=no -#readelf: -n - -Displaying notes found in: .note.gnu.property -[ ]+Owner[ ]+Data size[ ]+Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: x86-64-baseline - x86 feature used: x86, XMM, YMM, ZMM, MASK ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/4] x86: record register use for SIMD insns without respective explicit operands 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich 2021-02-15 13:37 ` [PATCH 1/4] x86: make common property tests common Jan Beulich @ 2021-02-15 13:37 ` Jan Beulich 2021-02-15 13:38 ` [PATCH 3/4] x86: honor template rather than actual operands when updating i.xstate Jan Beulich ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Jan Beulich @ 2021-02-15 13:37 UTC (permalink / raw) To: Binutils VZERO{ALL,UPPER} modify YMM registers despite having no operands. While {,V}{LD,ST}MXCSR don't modify XMM registers, MXCSR and XMMn collectively form underlying machine state. gas/ 2021-02-XX Jan Beulich <jbeulich@suse.com> * config/tc-i386.c (output_insn): Handle ldmxcsr, stmxcsr, vldmxcsr, vstmxcsr, vzeroall, and vzeroupper. * testsuite/gas/i386/property-ldmxcsr.s, testsuite/gas/i386/property-ldmxcsr.d, testsuite/gas/i386/property-vldmxcsr.s, testsuite/gas/i386/property-vldmxcsr.d, testsuite/gas/i386/property-vzeroall.s, testsuite/gas/i386/property-vzeroall.d: New. * testsuite/gas/i386/i386.exp: Run new tests. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -9208,10 +9208,12 @@ output_insn (void) || i.tm.cpu_flags.bitfield.cpu687 || i.tm.cpu_flags.bitfield.cpufisttp) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X87; + if ((i.xstate & xstate_mmx) || i.tm.base_opcode == 0xf77 /* emms */ || i.tm.base_opcode == 0xf0e /* femms */) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_MMX; + if (i.index_reg) { if (i.index_reg->reg_type.bitfield.zmmword) @@ -9221,10 +9223,20 @@ output_insn (void) else if (i.index_reg->reg_type.bitfield.xmmword) i.xstate |= xstate_xmm; } + + /* vzeroall / vzeroupper */ + if (i.tm.base_opcode == 0x77 && i.tm.cpu_flags.bitfield.cpuavx) + i.xstate |= xstate_ymm; + if ((i.xstate & xstate_xmm) + /* ldmxcsr / stmxcsr */ + || (i.tm.base_opcode == 0xfae && i.tm.cpu_flags.bitfield.cpusse) + /* vldmxcsr / vstmxcsr */ + || (i.tm.base_opcode == 0xae && i.tm.cpu_flags.bitfield.cpuavx) || i.tm.cpu_flags.bitfield.cpuwidekl || i.tm.cpu_flags.bitfield.cpukl) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XMM; + if ((i.xstate & xstate_ymm) == xstate_ymm) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_YMM; if ((i.xstate & xstate_zmm) == xstate_zmm) --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -725,6 +725,9 @@ if {[is_elf_format] || [istarget "*-*-vx run_dump_test "property-11" run_dump_test "property-12" run_dump_test "property-13" + run_dump_test "property-ldmxcsr" + run_dump_test "property-vldmxcsr" + run_dump_test "property-vzeroall" if {![istarget "*-*-dragonfly*"] && ![istarget "*-*-gnu*"] --- /dev/null +++ b/gas/testsuite/gas/i386/property-ldmxcsr.d @@ -0,0 +1,9 @@ +#name: i386 property ldmxcsr +#as: -mx86-used-note=yes --generate-missing-build-notes=no +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA used: x86-64-baseline + x86 feature used: x86, XMM --- /dev/null +++ b/gas/testsuite/gas/i386/property-ldmxcsr.s @@ -0,0 +1,2 @@ + .text + ldmxcsr (%eax) --- /dev/null +++ b/gas/testsuite/gas/i386/property-vldmxcsr.d @@ -0,0 +1,9 @@ +#name: i386 property vldmxcsr +#as: -mx86-used-note=yes --generate-missing-build-notes=no +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA used: x86-64-baseline, x86-64-v3 + x86 feature used: x86, XMM --- /dev/null +++ b/gas/testsuite/gas/i386/property-vldmxcsr.s @@ -0,0 +1,2 @@ + .text + vldmxcsr (%eax) --- /dev/null +++ b/gas/testsuite/gas/i386/property-vzeroall.d @@ -0,0 +1,9 @@ +#name: i386 property vzeroall +#as: -mx86-used-note=yes --generate-missing-build-notes=no +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA used: x86-64-baseline, x86-64-v3 + x86 feature used: x86, XMM, YMM --- /dev/null +++ b/gas/testsuite/gas/i386/property-vzeroall.s @@ -0,0 +1,2 @@ + .text + vzeroall ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/4] x86: honor template rather than actual operands when updating i.xstate 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich 2021-02-15 13:37 ` [PATCH 1/4] x86: make common property tests common Jan Beulich 2021-02-15 13:37 ` [PATCH 2/4] x86: record register use for SIMD insns without respective explicit operands Jan Beulich @ 2021-02-15 13:38 ` Jan Beulich 2021-02-15 13:38 ` [PATCH 4/4] x86: CVTPI2PD has special behavior Jan Beulich 2021-02-15 14:52 ` [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes H.J. Lu 4 siblings, 0 replies; 6+ messages in thread From: Jan Beulich @ 2021-02-15 13:38 UTC (permalink / raw) To: Binutils This undoes a change to md_assemble() that 32930e4edbc0 ("x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker") did without any explanation. This broke a CVTPI2PS property test that a subsequent test will add, and the updates to existing tests also demonstrate what was wrong: For example, AVX insns update the full YMM, even if a Vex128 variant is in use. gas/ 2021-02-XX Jan Beulich <jbeulich@suse.com> * config/tc-i386.c (md_assemble): Use template rather than actuals when updating i.xstate. * testsuite/gas/i386/property-4.d, testsuite/gas/i386/property-5.d, testsuite/gas/i386/property-12.d: Adjust expectations. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4874,7 +4874,7 @@ md_assemble (char *line) for (j = 0; j < i.operands; j++) { i.types[j] = operand_type_and (i.types[j], i.tm.operand_types[j]); - switch (i.types[j].bitfield.class) + switch (i.tm.operand_types[j].bitfield.class) { default: break; @@ -4885,13 +4885,13 @@ md_assemble (char *line) i.xstate |= xstate_mask; break; case RegSIMD: - if (i.types[j].bitfield.tmmword) + if (i.tm.operand_types[j].bitfield.tmmword) i.xstate |= xstate_tmm; - else if (i.types[j].bitfield.zmmword) + else if (i.tm.operand_types[j].bitfield.zmmword) i.xstate |= xstate_zmm; - else if (i.types[j].bitfield.ymmword) + else if (i.tm.operand_types[j].bitfield.ymmword) i.xstate |= xstate_ymm; - else if (i.types[j].bitfield.xmmword) + else if (i.tm.operand_types[j].bitfield.xmmword) i.xstate |= xstate_xmm; break; } --- a/gas/testsuite/gas/i386/property-4.d +++ b/gas/testsuite/gas/i386/property-4.d @@ -6,4 +6,4 @@ Displaying notes found in: .note.gnu.pro [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA used: x86-64-baseline, x86-64-v3 - x86 feature used: x86, XMM + x86 feature used: x86, XMM, YMM --- a/gas/testsuite/gas/i386/property-5.d +++ b/gas/testsuite/gas/i386/property-5.d @@ -6,4 +6,4 @@ Displaying notes found in: .note.gnu.pro [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA used: x86-64-baseline, x86-64-v4 - x86 feature used: x86, XMM + x86 feature used: x86, XMM, YMM, ZMM --- a/gas/testsuite/gas/i386/property-12.d +++ b/gas/testsuite/gas/i386/property-12.d @@ -6,4 +6,4 @@ Displaying notes found in: .note.gnu.pro [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA used: x86-64-baseline, x86-64-v4 - x86 feature used: x86, XMM, MASK + x86 feature used: x86, XMM, YMM, ZMM, MASK ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 4/4] x86: CVTPI2PD has special behavior 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich ` (2 preceding siblings ...) 2021-02-15 13:38 ` [PATCH 3/4] x86: honor template rather than actual operands when updating i.xstate Jan Beulich @ 2021-02-15 13:38 ` Jan Beulich 2021-02-15 14:52 ` [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes H.J. Lu 4 siblings, 0 replies; 6+ messages in thread From: Jan Beulich @ 2021-02-15 13:38 UTC (permalink / raw) To: Binutils CVTPI2PD with a memory operand, unlike CVTPI2PS, doesn't engage MMX logic. Therefore it - has a proper AVX equivalent (CVTDQ2PD) and hence can be subject to SSE2AVX translation and SSE checking, - should not record MMX use in the respective ELF note. gas/ 2021-02-XX Jan Beulich <jbeulich@suse.com> * testsuite/gas/i386/sse-check.s, testsuite/gas/i386/sse2avx.s, testsuite/gas/i386/x86-64-sse2avx.s: Add CVTPI2PD cases. * testsuite/gas/i386/sse-check-error.l, testsuite/gas/i386/sse-check-warn.e, testsuite/gas/i386/sse-check.d, testsuite/gas/i386/sse2avx.d, testsuite/gas/i386/x86-64-sse-check-error.l, testsuite/gas/i386/x86-64-sse2avx.d: Adjust expecations. * testsuite/gas/i386/property-cvtpi2pd.s, testsuite/gas/i386/property-cvtpi2pd.d, testsuite/gas/i386/property-cvtpi2ps.s, testsuite/gas/i386/property-cvtpi2ps.d: New. * testsuite/gas/i386/i386.exp: Run new tests. opcodes/ 2021-02-XX Jan Beulich <jbeulich@suse.com> * i386-opc.tbl: Split CVTPI2PD template. Add SSE2AVX variant. * i386-tbl.h: Re-generate. --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -725,6 +725,8 @@ if {[is_elf_format] || [istarget "*-*-vx run_dump_test "property-11" run_dump_test "property-12" run_dump_test "property-13" + run_dump_test "property-cvtpi2pd" + run_dump_test "property-cvtpi2ps" run_dump_test "property-ldmxcsr" run_dump_test "property-vldmxcsr" run_dump_test "property-vzeroall" --- /dev/null +++ b/gas/testsuite/gas/i386/property-cvtpi2pd.d @@ -0,0 +1,9 @@ +#name: i386 property cvtpi2pd +#as: -mx86-used-note=yes --generate-missing-build-notes=no +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA used: x86-64-baseline + x86 feature used: x86, XMM --- /dev/null +++ b/gas/testsuite/gas/i386/property-cvtpi2pd.s @@ -0,0 +1,2 @@ + .text + cvtpi2pd (%eax), %xmm0 --- /dev/null +++ b/gas/testsuite/gas/i386/property-cvtpi2ps.d @@ -0,0 +1,9 @@ +#name: i386 property cvtpi2ps +#as: -mx86-used-note=yes --generate-missing-build-notes=no +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA used: x86-64-baseline + x86 feature used: x86, MMX, XMM --- /dev/null +++ b/gas/testsuite/gas/i386/property-cvtpi2ps.s @@ -0,0 +1,2 @@ + .text + cvtpi2ps (%eax), %xmm0 --- a/gas/testsuite/gas/i386/sse-check-error.l +++ b/gas/testsuite/gas/i386/sse-check-error.l @@ -1,14 +1,15 @@ .*: Assembler messages: .*:7: Error: .* .*:10: Error: .* -.*:13: Error: .* -.*:16: Error: .* -.*:19: Error: .* +.*:14: Error: .* +.*:17: Error: .* .*:20: Error: .* -.*:26: Error: .* -.*:29: Error: .* -.*:32: Error: .* -.*:35: Error: .* +.*:23: Error: .* +.*:24: Error: .* +.*:30: Error: .* +.*:33: Error: .* +.*:36: Error: .* +.*:39: Error: .* GAS LISTING .* @@ -26,49 +27,55 @@ GAS LISTING .* [ ]*10[ ]+\?\?\?\? 660F58CA addpd %xmm2,%xmm1 .* Error: SSE instruction `addpd' is used [ ]*11[ ]+ -[ ]*12[ ]+\# SSE3 instruction -[ ]*13[ ]+\?\?\?\? 660FD0CA addsubpd %xmm2,%xmm1 +[ ]*[0-9]+[ ]+# special case SSE2 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F2ACA cvtpi2pd %mm2,%xmm1 +[ ]*[0-9]+[ ]+\?\?\?\? 660F2A0A cvtpi2pd \(%edx\),%xmm1 +.* Error: SSE instruction `cvtpi2pd' is used +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE3 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660FD0CA addsubpd %xmm2,%xmm1 .* Error: SSE instruction `addsubpd' is used -[ ]*14[ ]+ -[ ]*15[ ]+\# SSSE3 instruction -[ ]*16[ ]+\?\?\?\? 660F3801 phaddw %xmm2,%xmm1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSSE3 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F3801 phaddw %xmm2,%xmm1 .* Error: SSE instruction `phaddw' is used -[ ]*16[ ]+CA -[ ]*17[ ]+ -[ ]*18[ ]+\# SSE4 instructions -[ ]*19[ ]+\?\?\?\? 660F3815 blendvpd %xmm0,%xmm1,%xmm0 +[ ]*[0-9]+[ ]+CA +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE4 instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F3815 blendvpd %xmm0,%xmm1,%xmm0 .* Error: SSE instruction `blendvpd' is used -[ ]*19[ ]+C1 -[ ]*20[ ]+\?\?\?\? 660F3837 pcmpgtq %xmm1,%xmm0 +[ ]*[0-9]+[ ]+C1 +[ ]*[0-9]+[ ]+\?\?\?\? 660F3837 pcmpgtq %xmm1,%xmm0 .* Error: SSE instruction `pcmpgtq' is used -[ ]*20[ ]+C1 -[ ]*21[ ]+ -[ ]*22[ ]+\# SSE4a instruction.* -[ ]*23[ ]+\?\?\?\? 660F78C0 extrq \$0, \$0, %xmm0 -[ ]*23[ ]+0000 -[ ]*24[ ]+ -[ ]*25[ ]+\# PCMUL instruction -[ ]*26[ ]+\?\?\?\? 660F3A44 pclmulqdq \$-1,%xmm1,%xmm2 +[ ]*[0-9]+[ ]+C1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE4a instruction.* +[ ]*[0-9]+[ ]+\?\?\?\? 660F78C0 extrq \$0, \$0, %xmm0 +[ ]*[0-9]+[ ]+0000 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# PCMUL instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F3A44 pclmulqdq \$-1,%xmm1,%xmm2 .* Error: SSE instruction `pclmulqdq' is used -[ ]*26[ ]+D1FF -[ ]*27[ ]+ -[ ]*28[ ]+\# AES instructions -[ ]*29[ ]+\?\?\?\? 660F38DE aesdec %xmm1,%xmm2 +[ ]*[0-9]+[ ]+D1FF +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# AES instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F38DE aesdec %xmm1,%xmm2 .* Error: SSE instruction `aesdec' is used -[ ]*29[ ]+D1 -[ ]*30[ ]+ -[ ]*31[ ]+\# SHA instruction -[ ]*32[ ]+\?\?\?\? 0F38C8C0 sha1nexte %xmm0, %xmm0 +[ ]*[0-9]+[ ]+D1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SHA instruction +[ ]*[0-9]+[ ]+\?\?\?\? 0F38C8C0 sha1nexte %xmm0, %xmm0 .* Error: SSE instruction `sha1nexte' is used -[ ]*33[ ]+ -[ ]*34[ ]+\# GFNI instructions -[ ]*35[ ]+\?\?\?\? 660F38CF gf2p8mulb %xmm1,%xmm2 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# GFNI instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F38CF gf2p8mulb %xmm1,%xmm2 .* Error: SSE instruction `gf2p8mulb' is used -[ ]*35[ ]+D1 -[ ]*36[ ]+\?\?\?\? 62F27D09 vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\} -[ ]*36[ ]+CFC0 -[ ]*37[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 -[ ]*37[ ]+CFC0 \fGAS LISTING .* +[ ]*[0-9]+[ ]+D1 +[ ]*[0-9]+[ ]+\?\?\?\? 62F27D09 vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\} +[ ]*[0-9]+[ ]+CFC0 +[ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 +[ ]*[0-9]+[ ]+CFC0 + --- a/gas/testsuite/gas/i386/sse-check-warn.e +++ b/gas/testsuite/gas/i386/sse-check-warn.e @@ -1,11 +1,12 @@ .*: Assembler messages: .*:7: Warning: SSE instruction `addps' is used .*:10: Warning: SSE instruction `addpd' is used -.*:13: Warning: SSE instruction `addsubpd' is used -.*:16: Warning: SSE instruction `phaddw' is used -.*:19: Warning: SSE instruction `blendvpd' is used -.*:20: Warning: SSE instruction `pcmpgtq' is used -.*:26: Warning: SSE instruction `pclmulqdq' is used -.*:29: Warning: SSE instruction `aesdec' is used -.*:32: Warning: SSE instruction `sha1nexte' is used -.*:35: Warning: SSE instruction `gf2p8mulb' is used +.*:14: Warning: SSE instruction `cvtpi2pd' is used +.*:17: Warning: SSE instruction `addsubpd' is used +.*:20: Warning: SSE instruction `phaddw' is used +.*:23: Warning: SSE instruction `blendvpd' is used +.*:24: Warning: SSE instruction `pcmpgtq' is used +.*:30: Warning: SSE instruction `pclmulqdq' is used +.*:33: Warning: SSE instruction `aesdec' is used +.*:36: Warning: SSE instruction `sha1nexte' is used +.*:39: Warning: SSE instruction `gf2p8mulb' is used --- a/gas/testsuite/gas/i386/sse-check.d +++ b/gas/testsuite/gas/i386/sse-check.d @@ -9,6 +9,8 @@ Disassembly of section .text: 0+ <_start>: [ ]*[a-f0-9]+: 0f 58 ca addps %xmm2,%xmm1 [ ]*[a-f0-9]+: 66 0f 58 ca addpd %xmm2,%xmm1 +[ ]*[a-f0-9]+: 66 0f 2a ca cvtpi2pd %mm2,%xmm1 +[ ]*[a-f0-9]+: (67 )?66 0f 2a 0a( )? cvtpi2pd \(%edx\),%xmm1 [ ]*[a-f0-9]+: 66 0f d0 ca addsubpd %xmm2,%xmm1 [ ]*[a-f0-9]+: 66 0f 38 01 ca phaddw %xmm2,%xmm1 [ ]*[a-f0-9]+: 66 0f 38 15 c1 blendvpd %xmm0,%xmm1,%xmm0 --- a/gas/testsuite/gas/i386/sse-check.s +++ b/gas/testsuite/gas/i386/sse-check.s @@ -9,6 +9,10 @@ _start: # SSE2 instruction addpd %xmm2,%xmm1 +# special case SSE2 instruction + cvtpi2pd %mm2,%xmm1 + cvtpi2pd (%edx),%xmm1 + # SSE3 instruction addsubpd %xmm2,%xmm1 --- a/gas/testsuite/gas/i386/sse2avx.d +++ b/gas/testsuite/gas/i386/sse2avx.d @@ -408,6 +408,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 2f 21 vcomisd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 fa e6 f4 vcvtdq2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%ecx\),%xmm4 +[ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 f8 5a f4 vcvtps2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 5a 21 vcvtps2pd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 fb 12 f4 vmovddup %xmm4,%xmm6 @@ -986,6 +987,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 2f 21 vcomisd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 fa e6 f4 vcvtdq2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%ecx\),%xmm4 +[ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 f8 5a f4 vcvtps2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 5a 21 vcvtps2pd \(%ecx\),%xmm4 [ ]*[a-f0-9]+: c5 fb 12 f4 vmovddup %xmm4,%xmm6 --- a/gas/testsuite/gas/i386/sse2avx.s +++ b/gas/testsuite/gas/i386/sse2avx.s @@ -425,6 +425,7 @@ _start: comisd (%ecx),%xmm4 cvtdq2pd %xmm4,%xmm6 cvtdq2pd (%ecx),%xmm4 + cvtpi2pd (%ecx),%xmm4 cvtps2pd %xmm4,%xmm6 cvtps2pd (%ecx),%xmm4 movddup %xmm4,%xmm6 @@ -1086,6 +1087,7 @@ _start: comisd xmm4,QWORD PTR [ecx] cvtdq2pd xmm6,xmm4 cvtdq2pd xmm4,QWORD PTR [ecx] + cvtpi2pd xmm4,QWORD PTR [ecx] cvtps2pd xmm6,xmm4 cvtps2pd xmm4,QWORD PTR [ecx] movddup xmm6,xmm4 --- a/gas/testsuite/gas/i386/x86-64-sse-check-error.l +++ b/gas/testsuite/gas/i386/x86-64-sse-check-error.l @@ -1,14 +1,15 @@ .*: Assembler messages: .*:7: Error: .* .*:10: Error: .* -.*:13: Error: .* -.*:16: Error: .* -.*:19: Error: .* +.*:14: Error: .* +.*:17: Error: .* .*:20: Error: .* -.*:26: Error: .* -.*:29: Error: .* -.*:32: Error: .* -.*:35: Error: .* +.*:23: Error: .* +.*:24: Error: .* +.*:30: Error: .* +.*:33: Error: .* +.*:36: Error: .* +.*:39: Error: .* GAS LISTING .* @@ -26,49 +27,56 @@ GAS LISTING .* [ ]*10[ ]+\?\?\?\? 660F58CA addpd %xmm2,%xmm1 .* Error: SSE instruction `addpd' is used [ ]*11[ ]+ -[ ]*12[ ]+\# SSE3 instruction -[ ]*13[ ]+\?\?\?\? 660FD0CA addsubpd %xmm2,%xmm1 +[ ]*[0-9]+[ ]+# special case SSE2 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F2ACA cvtpi2pd %mm2,%xmm1 +[ ]*[0-9]+[ ]+\?\?\?\? 67660F2A cvtpi2pd \(%edx\),%xmm1 +.* Error: SSE instruction `cvtpi2pd' is used +[ ]*[0-9]+[ ]+0A +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE3 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660FD0CA addsubpd %xmm2,%xmm1 .* Error: SSE instruction `addsubpd' is used -[ ]*14[ ]+ -[ ]*15[ ]+\# SSSE3 instruction -[ ]*16[ ]+\?\?\?\? 660F3801 phaddw %xmm2,%xmm1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSSE3 instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F3801 phaddw %xmm2,%xmm1 .* Error: SSE instruction `phaddw' is used -[ ]*16[ ]+CA -[ ]*17[ ]+ -[ ]*18[ ]+\# SSE4 instructions -[ ]*19[ ]+\?\?\?\? 660F3815 blendvpd %xmm0,%xmm1,%xmm0 +[ ]*[0-9]+[ ]+CA +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE4 instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F3815 blendvpd %xmm0,%xmm1,%xmm0 .* Error: SSE instruction `blendvpd' is used -[ ]*19[ ]+C1 -[ ]*20[ ]+\?\?\?\? 660F3837 pcmpgtq %xmm1,%xmm0 +[ ]*[0-9]+[ ]+C1 +[ ]*[0-9]+[ ]+\?\?\?\? 660F3837 pcmpgtq %xmm1,%xmm0 .* Error: SSE instruction `pcmpgtq' is used -[ ]*20[ ]+C1 -[ ]*21[ ]+ -[ ]*22[ ]+\# SSE4a instruction.* -[ ]*23[ ]+\?\?\?\? 660F78C0 extrq \$0, \$0, %xmm0 -[ ]*23[ ]+0000 -[ ]*24[ ]+ -[ ]*25[ ]+\# PCMUL instruction -[ ]*26[ ]+\?\?\?\? 660F3A44 pclmulqdq \$-1,%xmm1,%xmm2 +[ ]*[0-9]+[ ]+C1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SSE4a instruction.* +[ ]*[0-9]+[ ]+\?\?\?\? 660F78C0 extrq \$0, \$0, %xmm0 +[ ]*[0-9]+[ ]+0000 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# PCMUL instruction +[ ]*[0-9]+[ ]+\?\?\?\? 660F3A44 pclmulqdq \$-1,%xmm1,%xmm2 .* Error: SSE instruction `pclmulqdq' is used -[ ]*26[ ]+D1FF -[ ]*27[ ]+ -[ ]*28[ ]+\# AES instructions -[ ]*29[ ]+\?\?\?\? 660F38DE aesdec %xmm1,%xmm2 +[ ]*[0-9]+[ ]+D1FF +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# AES instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F38DE aesdec %xmm1,%xmm2 .* Error: SSE instruction `aesdec' is used -[ ]*29[ ]+D1 -[ ]*30[ ]+ -[ ]*31[ ]+\# SHA instruction -[ ]*32[ ]+\?\?\?\? 0F38C8C0 sha1nexte %xmm0, %xmm0 +[ ]*[0-9]+[ ]+D1 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# SHA instruction +[ ]*[0-9]+[ ]+\?\?\?\? 0F38C8C0 sha1nexte %xmm0, %xmm0 .* Error: SSE instruction `sha1nexte' is used -[ ]*33[ ]+ -[ ]*34[ ]+\# GFNI instructions -[ ]*35[ ]+\?\?\?\? 660F38CF gf2p8mulb %xmm1,%xmm2 -.* Error: SSE instruction `gf2p8mulb' is used -[ ]*35[ ]+D1 -[ ]*36[ ]+\?\?\?\? 62F27D09 vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\} -[ ]*36[ ]+CFC0 -[ ]*37[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 -[ ]*37[ ]+CFC0 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# GFNI instructions +[ ]*[0-9]+[ ]+\?\?\?\? 660F38CF gf2p8mulb %xmm1,%xmm2 \fGAS LISTING .* +.* Error: SSE instruction `gf2p8mulb' is used +[ ]*[0-9]+[ ]+D1 +[ ]*[0-9]+[ ]+\?\?\?\? 62F27D09 vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\} +[ ]*[0-9]+[ ]+CFC0 +[ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 +[ ]*[0-9]+[ ]+CFC0 + --- a/gas/testsuite/gas/i386/x86-64-sse2avx.d +++ b/gas/testsuite/gas/i386/x86-64-sse2avx.d @@ -474,6 +474,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 2f 21 vcomisd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 fa e6 f4 vcvtdq2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%rcx\),%xmm4 +[ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 f8 5a f4 vcvtps2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 5a 21 vcvtps2pd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 fb 12 f4 vmovddup %xmm4,%xmm6 @@ -1137,6 +1138,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 2f 21 vcomisd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 fa e6 f4 vcvtdq2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%rcx\),%xmm4 +[ ]*[a-f0-9]+: c5 fa e6 21 vcvtdq2pd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 f8 5a f4 vcvtps2pd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 5a 21 vcvtps2pd \(%rcx\),%xmm4 [ ]*[a-f0-9]+: c5 fb 12 f4 vmovddup %xmm4,%xmm6 --- a/gas/testsuite/gas/i386/x86-64-sse2avx.s +++ b/gas/testsuite/gas/i386/x86-64-sse2avx.s @@ -489,6 +489,7 @@ _start: comisd (%rcx),%xmm4 cvtdq2pd %xmm4,%xmm6 cvtdq2pd (%rcx),%xmm4 + cvtpi2pd (%rcx),%xmm4 cvtps2pd %xmm4,%xmm6 cvtps2pd (%rcx),%xmm4 movddup %xmm4,%xmm6 @@ -1260,6 +1261,7 @@ _start: comisd xmm4,QWORD PTR [rcx] cvtdq2pd xmm6,xmm4 cvtdq2pd xmm4,QWORD PTR [rcx] + cvtpi2pd xmm4,QWORD PTR [rcx] cvtps2pd xmm6,xmm4 cvtps2pd xmm4,QWORD PTR [rcx] movddup xmm6,xmm4 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -1310,7 +1310,9 @@ cmpsd, 3, 0xf2c2, None, 1, CpuAVX, Modrm cmpsd, 3, 0x0fc2, None, 2, CpuSSE2, Prefix_0XF2|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Imm8, Qword|Unspecified|BaseIndex|RegXMM, RegXMM } comisd, 2, 0x662f, None, 1, CpuAVX, Modrm|Vex=3|OpcodePrefix=0|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } comisd, 2, 0x0f2f, None, 2, CpuSSE2, Prefix_0X66|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } -cvtpi2pd, 2, 0x0f2a, None, 2, CpuSSE2, Prefix_0X66|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|NoAVX, { Qword|Unspecified|BaseIndex|RegMMX, RegXMM } +cvtpi2pd, 2, 0x0f2a, None, 2, CpuSSE2, Prefix_0X66|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|NoAVX, { RegMMX, RegXMM } +cvtpi2pd, 2, 0xf3e6, None, 1, CpuAVX, Modrm|Vex|OpcodePrefix=0|VexW0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex, RegXMM } +cvtpi2pd, 2, 0x0f2a, None, 2, CpuSSE2, Prefix_0X66|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex, RegXMM } cvtsi2sd, 2, 0xf22a, None, 1, CpuAVX|CpuNo64, Modrm|Vex=3|OpcodePrefix=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Reg32|Dword|Unspecified|BaseIndex, RegXMM } cvtsi2sd, 2, 0xf22a, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|OpcodePrefix=0|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|SSE2AVX|ATTSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } cvtsi2sd, 2, 0xf22a, None, 1, CpuAVX|Cpu64, Modrm|Vex=3|OpcodePrefix=0|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|SSE2AVX|IntelSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich ` (3 preceding siblings ...) 2021-02-15 13:38 ` [PATCH 4/4] x86: CVTPI2PD has special behavior Jan Beulich @ 2021-02-15 14:52 ` H.J. Lu 4 siblings, 0 replies; 6+ messages in thread From: H.J. Lu @ 2021-02-15 14:52 UTC (permalink / raw) To: Jan Beulich; +Cc: Binutils On Mon, Feb 15, 2021 at 5:35 AM Jan Beulich <jbeulich@suse.com> wrote: > > There are more quirks afaict, but I wanted to start somewhere. > > 1: make common property tests common > 2: record register use for SIMD insns without respective explicit operands > 3: honor template rather than actual operands when updating i.xstate > 4: CVTPI2PD has special behavior > > Jan OK to all. Thanks. -- H.J. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-02-15 14:53 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-15 13:35 [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes Jan Beulich 2021-02-15 13:37 ` [PATCH 1/4] x86: make common property tests common Jan Beulich 2021-02-15 13:37 ` [PATCH 2/4] x86: record register use for SIMD insns without respective explicit operands Jan Beulich 2021-02-15 13:38 ` [PATCH 3/4] x86: honor template rather than actual operands when updating i.xstate Jan Beulich 2021-02-15 13:38 ` [PATCH 4/4] x86: CVTPI2PD has special behavior Jan Beulich 2021-02-15 14:52 ` [PATCH 0/4] x86: some adjustments to handling of -mx86-used-note=yes H.J. Lu
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).