[PATCH][binutils][Arm] Removed warning for no longer UNPREDICTABLE MVE instructions.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH][binutils][Arm] Removed warning for no longer UNPREDICTABLE MVE instructions.

Barnaby Wilks
Hello,

This patch addresses the change in the June Armv8.1-M Mainline specification, that marks certain MVE instructions as
no longer UNPREDICTABLE when a source operand is the same as a destination operand for a 32-bit element size.
The instructions that this change apply to are:
VQDMLADH,
VQRDMLADH,
VQDMLSDH,
VQRDMLSDH

The updated documentation is herehttps://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf

Fixed this by removing the check for this warning from GAS as well as opcodes.

Added testcases to test that the warning is not generated for the instructions that have a 32-bit element size
and the same source and destination operand. Also fixed tests that would previously check for this warning.

Cross compiled and regtested on arm-none-eabi and arm-none-linux-gnueabihf.

I don't have write access, so if it's OK then could someone commit on my behalf?

Thanks,
Barney

gas/ChangeLog:

2019-06-25  Barnaby Wilks  <[hidden email]>

        * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
        * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
        * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
        * testsuite/gas/arm/mve-vqdmladh.d: New tests.
        * testsuite/gas/arm/mve-vqdmladh.s: New tests.
        * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
        * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
        * testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
        * testsuite/gas/arm/mve-vqdmlsdh.s: New tests.

opcodes/ChangeLog:

2019-06-25  Barnaby Wilks  <[hidden email]>

        * arm-dis.c (is_mve_unpredictable): Stop marking some MVE
        instructions as UNPREDICTABLE.


no-warn-unpredictable-mve.txt (29K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH][binutils][Arm] Removed warning for no longer UNPREDICTABLE MVE instructions.

Andre Vieira (lists)
Hi Barney,

Thanks for the patch! Looks good to me but you will need approval from a
maintainer.

Cheers,
Andre

On 08/07/2019 17:38, Barnaby Wilks wrote:

> Hello,
>
> This patch addresses the change in the June Armv8.1-M Mainline specification, that marks certain MVE instructions as
> no longer UNPREDICTABLE when a source operand is the same as a destination operand for a 32-bit element size.
> The instructions that this change apply to are:
> VQDMLADH,
> VQRDMLADH,
> VQDMLSDH,
> VQRDMLSDH
>
> The updated documentation is herehttps://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf
>
> Fixed this by removing the check for this warning from GAS as well as opcodes.
>
> Added testcases to test that the warning is not generated for the instructions that have a 32-bit element size
> and the same source and destination operand. Also fixed tests that would previously check for this warning.
>
> Cross compiled and regtested on arm-none-eabi and arm-none-linux-gnueabihf.
>
> I don't have write access, so if it's OK then could someone commit on my behalf?
>
> Thanks,
> Barney
>
> gas/ChangeLog:
>
> 2019-06-25  Barnaby Wilks  <[hidden email]>
>
> * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
> * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
> * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
> * testsuite/gas/arm/mve-vqdmladh.d: New tests.
> * testsuite/gas/arm/mve-vqdmladh.s: New tests.
> * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
> * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
> * testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
> * testsuite/gas/arm/mve-vqdmlsdh.s: New tests.
>
> opcodes/ChangeLog:
>
> 2019-06-25  Barnaby Wilks  <[hidden email]>
>
> * arm-dis.c (is_mve_unpredictable): Stop marking some MVE
> instructions as UNPREDICTABLE.
>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH][binutils][Arm] Removed warning for no longer UNPREDICTABLE MVE instructions.

Barnaby Wilks
In reply to this post by Barnaby Wilks
Hello,

Pinging this patch, could someone have a look at this please, and if it's OK commit for me?

Thanks,
Barney

On 7/8/19 5:38 PM, Barnaby Wilks wrote:

> Hello,
>
> This patch addresses the change in the June Armv8.1-M Mainline specification, that marks certain MVE instructions as
> no longer UNPREDICTABLE when a source operand is the same as a destination operand for a 32-bit element size.
> The instructions that this change apply to are:
> VQDMLADH,
> VQRDMLADH,
> VQDMLSDH,
> VQRDMLSDH
>
> The updated documentation is herehttps://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf
>
> Fixed this by removing the check for this warning from GAS as well as opcodes.
>
> Added testcases to test that the warning is not generated for the instructions that have a 32-bit element size
> and the same source and destination operand. Also fixed tests that would previously check for this warning.
>
> Cross compiled and regtested on arm-none-eabi and arm-none-linux-gnueabihf.
>
> I don't have write access, so if it's OK then could someone commit on my behalf?
>
> Thanks,
> Barney
>
> gas/ChangeLog:
>
> 2019-06-25  Barnaby Wilks  <[hidden email]>
>
> * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
> * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
> * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
> * testsuite/gas/arm/mve-vqdmladh.d: New tests.
> * testsuite/gas/arm/mve-vqdmladh.s: New tests.
> * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
> * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
> * testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
> * testsuite/gas/arm/mve-vqdmlsdh.s: New tests.
>
> opcodes/ChangeLog:
>
> 2019-06-25  Barnaby Wilks  <[hidden email]>
>
> * arm-dis.c (is_mve_unpredictable): Stop marking some MVE
> instructions as UNPREDICTABLE.
>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH][binutils][Arm] Removed warning for no longer UNPREDICTABLE MVE instructions.

Nick Clifton
Hi Barnaby,

> Pinging this patch,

Sorry for the delay.  The patch is approved and I have applied it to the source
repository.

Cheers
  Nick