This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86: Mark cvtpi2ps and cvtpi2pd as MMX


On 19.02.2020 13:58, H.J. Lu wrote:
> --- a/gas/config/tc-i386.c
> +++ b/gas/config/tc-i386.c
> @@ -8636,7 +8636,9 @@ output_insn (void)
>  	x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X87;
>        if (i.has_regmmx
>  	  || i.tm.base_opcode == 0xf77 /* emms */
> -	  || i.tm.base_opcode == 0xf0e /* femms */)
> +	  || i.tm.base_opcode == 0xf0e /* femms */
> +	  || i.tm.base_opcode == 0xf2a /* cvtpi2ps */
> +	  || i.tm.base_opcode == 0x660f2a /* cvtpi2pd */)

While for the former I agree, the latter - as pointed out
elsewhere - does explicitly _not_ switch into MMX mode when
the source operand is in memory.

> --- a/gas/testsuite/gas/i386/i386.exp
> +++ b/gas/testsuite/gas/i386/i386.exp
> @@ -601,6 +601,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
>  	run_dump_test "evex-no-scale-32"
>  	run_dump_test "property-1"
>  	run_dump_test "property-2"
> +	run_dump_test "property-3"
>  
>  	if {[istarget "*-*-linux*"]} then {
>  	    run_dump_test "align-branch-3"
> @@ -1166,6 +1167,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
>  	run_dump_test "evex-no-scale-64"
>  	run_dump_test "x86-64-property-1"
>  	run_dump_test "x86-64-property-2"
> +	run_dump_test "x86-64-property-3"

While I appreciate you adding a test for this case, my
questions from several weeks back on the _intended_ behavior
of this tracking were because I found all of the to be
pretty broken. The brokenness would have become obvious (I
think) if proper testing of at least a fair part of cases
was actually done. Therefore I'm not convinced adding tests
of individual sub-sub-cases is actually going to be helpful.

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]