aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2018-07-13 11:46:44 +0100
committerNick Clifton <nickc@redhat.com>2018-07-13 11:50:16 +0100
commit4ef4710f5c3e417dc43057e10d7675699bb38431 (patch)
tree39086752fcfe401a2762d7392ea6d547ff1f6475 /gas/testsuite
parent5c1eda30f55e9c543de26fec0246f4d7655c81e4 (diff)
downloadgdb-4ef4710f5c3e417dc43057e10d7675699bb38431.zip
gdb-4ef4710f5c3e417dc43057e10d7675699bb38431.tar.gz
gdb-4ef4710f5c3e417dc43057e10d7675699bb38431.tar.bz2
Allow bit-patterns in the immediate field of ARM neon mov instructions.
* config/tc-arm.c (do_neon_mov): When converting an integer immediate into a floating point value, check that the conversion is valid. Also warn if the immediate is valid as both a floating point value and a bit pattern. * testsuite/gas/arm/vfp-mov-enc.s: Add instructions that use floating point bit patterns. * testsuite/gas/arm/vfp-mov-enc.d: Add regexps for the disassembly of the new insns.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/arm/vfp-mov-enc.d3
-rw-r--r--gas/testsuite/gas/arm/vfp-mov-enc.s4
2 files changed, 7 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arm/vfp-mov-enc.d b/gas/testsuite/gas/arm/vfp-mov-enc.d
index 5c4b266..fda47f2 100644
--- a/gas/testsuite/gas/arm/vfp-mov-enc.d
+++ b/gas/testsuite/gas/arm/vfp-mov-enc.d
@@ -11,3 +11,6 @@ Disassembly of section .text:
0[0-9a-f]+ <[^>]+> 4ef7da00 vmovmi.f32 s27, #112 ; 0x3f800000 1.0
0[0-9a-f]+ <[^>]+> cebb1b04 vmovgt.f64 d1, #180 ; 0xc1a00000 -20.0
0[0-9a-f]+ <[^>]+> ceb81b00 vmovgt.f64 d1, #128 ; 0xc0000000 -2.0
+0[0-9a-f]+ <[^>]+> eef0aa00 vmov.f32 s21, #0 ; 0x40000000 2.0
+0[0-9a-f]+ <[^>]+> eef97a07 vmov.f32 s15, #151 ; 0xc0b80000 -5.750
+0[0-9a-f]+ <[^>]+> eefc4a05 vmov.f32 s9, #197 ; 0xbe280000 -0.1640625
diff --git a/gas/testsuite/gas/arm/vfp-mov-enc.s b/gas/testsuite/gas/arm/vfp-mov-enc.s
index 4362fb1..049f46b 100644
--- a/gas/testsuite/gas/arm/vfp-mov-enc.s
+++ b/gas/testsuite/gas/arm/vfp-mov-enc.s
@@ -4,3 +4,7 @@ VMOVMI.F32 s27,#1
VMOVMI.F32 s27,#1.0
VMOVGT.F64 d1,#-20
VMOVGT.F64 d1,#-2
+ @ Check that integer-encoded floating-point bit-patterns still work
+ vmov s21,#0x40000000
+ vmov s15,#0xc0b80000
+ vmov s9,#0xbe280000