diff options
author | Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> | 2020-05-04 13:05:42 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2020-05-04 13:07:45 +0100 |
commit | fe05f369f0df7cad0a6500b79879addaad2e364d (patch) | |
tree | f853042df0e8d3aa491deb65bdfe6021f620ff96 /gas/testsuite | |
parent | 4706679daca21b5d637afaf5b55858b26f0f8c16 (diff) | |
download | binutils-fe05f369f0df7cad0a6500b79879addaad2e364d.zip binutils-fe05f369f0df7cad0a6500b79879addaad2e364d.tar.gz binutils-fe05f369f0df7cad0a6500b79879addaad2e364d.tar.bz2 |
gas: PR 25863: Fix scalar vmul inside it block when assembling for MVE
This fixes PR 25863 by fixing the condition in the parsing of vmul in
do_mve_vmull. It also simplifies the code in there fixing latent issues that
would lead to NEON code being accepted when it shouldn't.
gas/ChangeLog:
2020-05-04 Andre Vieira <andre.simoesdiasvieira@arm.com>
PR gas/25863
* config/tc-arm.c (do_mve_vmull): Fix scalar and NEON parsing of vmul.
* testsuite/gas/arm/mve-scalar-vmult-it.d: New test.
* testsuite/gas/arm/mve-scalar-vmult-it.s: New test.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/gas/arm/mve-scalar-vmul-it.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/mve-scalar-vmul-it.s | 5 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arm/mve-scalar-vmul-it.d b/gas/testsuite/gas/arm/mve-scalar-vmul-it.d new file mode 100644 index 0000000..f4564a5 --- /dev/null +++ b/gas/testsuite/gas/arm/mve-scalar-vmul-it.d @@ -0,0 +1,11 @@ +# name: Armv8.1-M Mainline scalar vmul instructions in it blocks (with MVE) +# as: -march=armv8.1-m.main+mve.fp+fp.dp +# objdump: -dr --prefix-addresses --show-raw-insn -marmv8.1-m.main + +.*: +file format .*arm.* + +Disassembly of section .text: +[^>]*> bfbc itt lt +[^>]*> ee20 0a81 vmullt.f32 s0, s1, s2 +[^>]*> ee21 0b02 vmullt.f64 d0, d1, d2 +#... diff --git a/gas/testsuite/gas/arm/mve-scalar-vmul-it.s b/gas/testsuite/gas/arm/mve-scalar-vmul-it.s new file mode 100644 index 0000000..e6c24ac --- /dev/null +++ b/gas/testsuite/gas/arm/mve-scalar-vmul-it.s @@ -0,0 +1,5 @@ +.syntax unified +.text +itt lt +vmullt.f32 s0, s1, s2 +vmullt.f64 d0, d1, d2 |