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: [DO NOT APPLY 11/10] x86: remaining ambiguous operand cases


On Tue, Aug 6, 2019 at 7:32 AM Jan Beulich <jbeulich@suse.com> wrote:
>
>
> The further tests added below produce the following testsuite failures:
>
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:7: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:11: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:15: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:24: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:70: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:85: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:108: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:128: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:131: Warning: 0000000012345678 shortened to 0000000000005678
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:132: Error: operand size mismatch for `vcvtneps2bf16'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:133: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:134: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:135: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:136: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:137: Error: operand size mismatch for `vcvtpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:138: Error: operand size mismatch for `vcvtqq2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:143: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:144: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:145: Error: operand size mismatch for `vcvttpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:146: Error: operand size mismatch for `vcvtuqq2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg16.s:154: Warning: 0000000012345678 shortened to 0000000000005678
>
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:131: Error: operand size mismatch for `vcvtneps2bf16'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:132: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:133: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:134: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:135: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:136: Error: operand size mismatch for `vcvtpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:137: Error: operand size mismatch for `vcvtqq2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:142: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:143: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:144: Error: operand size mismatch for `vcvttpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg32.s:145: Error: operand size mismatch for `vcvtuqq2ps'
>
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:134: Error: operand size mismatch for `vcvtneps2bf16'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:135: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:136: Error: operand size mismatch for `vcvtpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:137: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:138: Error: operand size mismatch for `vcvtpd2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:139: Error: operand size mismatch for `vcvtpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:140: Error: operand size mismatch for `vcvtqq2ps'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:145: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:146: Error: operand size mismatch for `vcvttpd2dq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:147: Error: operand size mismatch for `vcvttpd2udq'
> /home/jbeulich/cpp/binutils/master-git/2019-06-24/gas/testsuite/gas/i386/noreg64.s:148: Error: operand size mismatch for `vcvtuqq2ps'
>
> Questions:
> 1) Should 32-bit immediates in 16-bit mode result in 32-bit encoding to be emitted?
>     If so, what about symbol references - should we assume 16- or 32-bit addresses
>     in this case?

No.  Suffix should be required in this case.

> 2) Should the XMM/YMM ambiguity be resolved (if so I'd suggest to default to XMM)?

No.  Suffix should be required in this case.

H.J.


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