From e6655fdab471a198013e2f21f16c80ed39dd1318 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 29 Oct 2009 18:01:13 +0000 Subject: [PATCH] 2009-10-29 Paul Brook gas/ * config/tc-arm.c (neon_tab_entry): Fix VNMLA/VNMLS opcodes. gas/testsuite/ * gas/arm/vfp-neon-syntax.d: Update expected results. * gas/arm/vfp-neon-syntax_t2.d: Update expected results. --- gas/ChangeLog | 4 ++++ gas/config/tc-arm.c | 4 ++-- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/vfp-neon-syntax.d | 16 ++++++++-------- gas/testsuite/gas/arm/vfp-neon-syntax_t2.d | 16 ++++++++-------- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index a9f6785..8c28273 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2009-10-29 Paul Brook + * config/tc-arm.c (neon_tab_entry): Fix VNMLA/VNMLS opcodes. + +2009-10-29 Paul Brook + * doc/c-arm.texi: Document ARM -mcpu=cortex-a5. * config/arm/tc-arm.c (arm_cpu_option_table): Add cortex-a5. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index e176ada..52242a8 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11328,8 +11328,8 @@ struct neon_tab_entry X(vqmovn, 0x1b20200, N_INV, N_INV), \ X(vqmovun, 0x1b20240, N_INV, N_INV), \ X(vnmul, 0xe200a40, 0xe200b40, N_INV), \ - X(vnmla, 0xe000a40, 0xe000b40, N_INV), \ - X(vnmls, 0xe100a40, 0xe100b40, N_INV), \ + X(vnmla, 0xe100a40, 0xe100b40, N_INV), \ + X(vnmls, 0xe100a00, 0xe100b00, N_INV), \ X(vcmp, 0xeb40a40, 0xeb40b40, N_INV), \ X(vcmpz, 0xeb50a40, 0xeb50b40, N_INV), \ X(vcmpe, 0xeb40ac0, 0xeb40bc0, N_INV), \ diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a101c5f..7c63668 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-10-29 Paul Brook + + * gas/arm/vfp-neon-syntax.d: Update expected results. + * gas/arm/vfp-neon-syntax_t2.d: Update expected results. + 2009-10-28 Alan Modra * gas/i386/intelpic.d: Correct. diff --git a/gas/testsuite/gas/arm/vfp-neon-syntax.d b/gas/testsuite/gas/arm/vfp-neon-syntax.d index c171cb1..c14c9db 100644 --- a/gas/testsuite/gas/arm/vfp-neon-syntax.d +++ b/gas/testsuite/gas/arm/vfp-neon-syntax.d @@ -45,14 +45,14 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> ee210b42 (vnmul\.f64|fnmuld) d0, d1, d2 0[0-9a-f]+ <[^>]+> 0e200ac1 (vnmuleq\.f32|fnmulseq) s0, s1, s2 0[0-9a-f]+ <[^>]+> 0e210b42 (vnmuleq\.f64|fnmuldeq) d0, d1, d2 -0[0-9a-f]+ <[^>]+> ee000ac1 (vmls\.f32|fnmacs) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee010b42 (vmls\.f64|fnmacd) d0, d1, d2 -0[0-9a-f]+ <[^>]+> 0e000ac1 (vmlseq\.f32|fnmacseq) s0, s1, s2 -0[0-9a-f]+ <[^>]+> 0e010b42 (vmlseq\.f64|fnmacdeq) d0, d1, d2 -0[0-9a-f]+ <[^>]+> ee100ac1 (vnmla\.f32|fnmscs) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee110b42 (vnmla\.f64|fnmscd) d0, d1, d2 -0[0-9a-f]+ <[^>]+> 0e100ac1 (vnmlaeq\.f32|fnmscseq) s0, s1, s2 -0[0-9a-f]+ <[^>]+> 0e110b42 (vnmlaeq\.f64|fnmscdeq) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee100ac1 (vnmla\.f32|fnmacs) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee110b42 (vnmla\.f64|fnmacd) d0, d1, d2 +0[0-9a-f]+ <[^>]+> 0e100ac1 (vnmlaeq\.f32|fnmacseq) s0, s1, s2 +0[0-9a-f]+ <[^>]+> 0e110b42 (vnmlaeq\.f64|fnmacdeq) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee100a81 (vnmls\.f32|fnmscs) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee110b02 (vnmls\.f64|fnmscd) d0, d1, d2 +0[0-9a-f]+ <[^>]+> 0e100a81 (vnmlseq\.f32|fnmscseq) s0, s1, s2 +0[0-9a-f]+ <[^>]+> 0e110b02 (vnmlseq\.f64|fnmscdeq) d0, d1, d2 0[0-9a-f]+ <[^>]+> ee200a81 (vmul\.f32|fmuls) s0, s1, s2 0[0-9a-f]+ <[^>]+> ee210b02 (vmul\.f64|fmuld) d0, d1, d2 0[0-9a-f]+ <[^>]+> 0e200a81 (vmuleq\.f32|fmulseq) s0, s1, s2 diff --git a/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d b/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d index 9124c33..e5b6f2d 100644 --- a/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d +++ b/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d @@ -53,16 +53,16 @@ Disassembly of section \.text: 0[0-9a-f]+ <[^>]+> bf04 itt eq 0[0-9a-f]+ <[^>]+> ee20 0ac1 (vnmuleq\.f32|fnmulseq) s0, s1, s2 0[0-9a-f]+ <[^>]+> ee21 0b42 (vnmuleq\.f64|fnmuldeq) d0, d1, d2 -0[0-9a-f]+ <[^>]+> ee00 0ac1 (vmls\.f32|fnmacs) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee01 0b42 (vmls\.f64|fnmacd) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee10 0ac1 (vnmla\.f32|fnmacs) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee11 0b42 (vnmla\.f64|fnmacd) d0, d1, d2 0[0-9a-f]+ <[^>]+> bf04 itt eq -0[0-9a-f]+ <[^>]+> ee00 0ac1 (vmlseq\.f32|fnmacseq) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee01 0b42 (vmlseq\.f64|fnmacdeq) d0, d1, d2 -0[0-9a-f]+ <[^>]+> ee10 0ac1 (vnmla\.f32|fnmscs) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee11 0b42 (vnmla\.f64|fnmscd) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee10 0ac1 (vnmlaeq\.f32|fnmacseq) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee11 0b42 (vnmlaeq\.f64|fnmacdeq) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee10 0a81 (vnmls\.f32|fnmscs) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee11 0b02 (vnmls\.f64|fnmscd) d0, d1, d2 0[0-9a-f]+ <[^>]+> bf04 itt eq -0[0-9a-f]+ <[^>]+> ee10 0ac1 (vnmlaeq\.f32|fnmscseq) s0, s1, s2 -0[0-9a-f]+ <[^>]+> ee11 0b42 (vnmlaeq\.f64|fnmscdeq) d0, d1, d2 +0[0-9a-f]+ <[^>]+> ee10 0a81 (vnmlseq\.f32|fnmscseq) s0, s1, s2 +0[0-9a-f]+ <[^>]+> ee11 0b02 (vnmlseq\.f64|fnmscdeq) d0, d1, d2 0[0-9a-f]+ <[^>]+> ee20 0a81 (vmul\.f32|fmuls) s0, s1, s2 0[0-9a-f]+ <[^>]+> ee21 0b02 (vmul\.f64|fmuld) d0, d1, d2 0[0-9a-f]+ <[^>]+> bf04 itt eq -- 2.7.4