diff options
author | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 08:11:44 +0000 |
---|---|---|
committer | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 08:11:44 +0000 |
commit | c70a898785be75ec28614634bcea0f9220032dfb (patch) | |
tree | 18bc99782be7d46db72793ac4c264a4c474f6926 /gas/testsuite | |
parent | 30bdf75259fabb1825e7244eed21551c024b725c (diff) | |
download | gdb-c70a898785be75ec28614634bcea0f9220032dfb.zip gdb-c70a898785be75ec28614634bcea0f9220032dfb.tar.gz gdb-c70a898785be75ec28614634bcea0f9220032dfb.tar.bz2 |
* gas/config/tc-arm.c (el_type_type_check): Add handling for 16-bit
floating point types.
(do_neon_cvttb_2): New function.
(do_neon_cvttb_1): Likewise.
(do_neon_cvtb): Refactor to use do_neon_cvttb_1.
(do_neon_cvtt): Likewise.
* gas/testsuite/gas/arm/armv8-a+fp.d: Update testcase.
* gas/testsuite/gas/arm/armv8-a+fp.s: Likewise.
* gas/testsuite/gas/arm/half-prec-vfpv3.s: Likewise.
* opcodes/arm-dis.c (coprocessor_opcodes): Add support for HP/DP
conversions.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv8-a+fp.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv8-a+fp.s | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/half-prec-vfpv3.s | 64 |
4 files changed, 70 insertions, 32 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 9f227a1..bfaaa6c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * gas/arm/armv8-a+fp.d: Update testcase. + * gas/arm/armv8-a+fp.s: Likewise. + * gas/arm/half-prec-vfpv3.s: Likewise. + +2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * gas/arm/armv8-a+fpv5.d: Update testcase. * gas/arm/armv8-a+fpv5.s: Likewise. * gas/arm/armv8-a+simdv3.d: Likewise. diff --git a/gas/testsuite/gas/arm/armv8-a+fp.d b/gas/testsuite/gas/arm/armv8-a+fp.d index e478411..bb52e0a 100644 --- a/gas/testsuite/gas/arm/armv8-a+fp.d +++ b/gas/testsuite/gas/arm/armv8-a+fp.d @@ -50,6 +50,14 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> feb91b41 vrintn.f64.f64 d1, d1 0[0-9a-f]+ <[^>]+> fefaeb6e vrintp.f64.f64 d30, d30 0[0-9a-f]+ <[^>]+> fefbfb6f vrintm.f64.f64 d31, d31 +0[0-9a-f]+ <[^>]+> eeb30bc0 vcvtt.f16.f64 s0, d0 +0[0-9a-f]+ <[^>]+> eef30b60 vcvtb.f16.f64 s1, d16 +0[0-9a-f]+ <[^>]+> eeb3fbcf vcvtt.f16.f64 s30, d15 +0[0-9a-f]+ <[^>]+> eef3fb6f vcvtb.f16.f64 s31, d31 +0[0-9a-f]+ <[^>]+> eeb20bc0 vcvtt.f64.f16 d0, s0 +0[0-9a-f]+ <[^>]+> eef20b60 vcvtb.f64.f16 d16, s1 +0[0-9a-f]+ <[^>]+> eeb2fbcf vcvtt.f64.f16 d15, s30 +0[0-9a-f]+ <[^>]+> eef2fb6f vcvtb.f64.f16 d31, s31 0[0-9a-f]+ <[^>]+> fe00 0a00 vseleq.f32 s0, s0, s0 0[0-9a-f]+ <[^>]+> fe50 0aa0 vselvs.f32 s1, s1, s1 0[0-9a-f]+ <[^>]+> fe2f fa0f vselge.f32 s30, s30, s30 @@ -96,3 +104,11 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> feb9 1b41 vrintn.f64.f64 d1, d1 0[0-9a-f]+ <[^>]+> fefa eb6e vrintp.f64.f64 d30, d30 0[0-9a-f]+ <[^>]+> fefb fb6f vrintm.f64.f64 d31, d31 +0[0-9a-f]+ <[^>]+> eeb3 0bc0 vcvtt.f16.f64 s0, d0 +0[0-9a-f]+ <[^>]+> eef3 0b60 vcvtb.f16.f64 s1, d16 +0[0-9a-f]+ <[^>]+> eeb3 fbcf vcvtt.f16.f64 s30, d15 +0[0-9a-f]+ <[^>]+> eef3 fb6f vcvtb.f16.f64 s31, d31 +0[0-9a-f]+ <[^>]+> eeb2 0bc0 vcvtt.f64.f16 d0, s0 +0[0-9a-f]+ <[^>]+> eef2 0b60 vcvtb.f64.f16 d16, s1 +0[0-9a-f]+ <[^>]+> eeb2 fbcf vcvtt.f64.f16 d15, s30 +0[0-9a-f]+ <[^>]+> eef2 fb6f vcvtb.f64.f16 d31, s31 diff --git a/gas/testsuite/gas/arm/armv8-a+fp.s b/gas/testsuite/gas/arm/armv8-a+fp.s index 10a391a..f99302f 100644 --- a/gas/testsuite/gas/arm/armv8-a+fp.s +++ b/gas/testsuite/gas/arm/armv8-a+fp.s @@ -50,6 +50,14 @@ vrintn.f64.f64 d1, d1 vrintp.f64.f64 d30, d30 vrintm.f64.f64 d31, d31 + vcvtt.f16.f64 s0, d0 + vcvtb.f16.f64 s1, d16 + vcvtt.f16.f64 s30, d15 + vcvtb.f16.f64 s31, d31 + vcvtt.f64.f16 d0, s0 + vcvtb.f64.f16 d16, s1 + vcvtt.f64.f16 d15, s30 + vcvtb.f64.f16 d31, s31 .thumb vseleq.f32 s0, s0, s0 @@ -98,3 +106,11 @@ vrintn.f64.f64 d1, d1 vrintp.f64.f64 d30, d30 vrintm.f64.f64 d31, d31 + vcvtt.f16.f64 s0, d0 + vcvtb.f16.f64 s1, d16 + vcvtt.f16.f64 s30, d15 + vcvtb.f16.f64 s31, d31 + vcvtt.f64.f16 d0, s0 + vcvtb.f64.f16 d16, s1 + vcvtt.f64.f16 d15, s30 + vcvtb.f64.f16 d31, s31 diff --git a/gas/testsuite/gas/arm/half-prec-vfpv3.s b/gas/testsuite/gas/arm/half-prec-vfpv3.s index acd1508..d658807 100644 --- a/gas/testsuite/gas/arm/half-prec-vfpv3.s +++ b/gas/testsuite/gas/arm/half-prec-vfpv3.s @@ -1,20 +1,20 @@ .text - vcvtt.f32.f32 s0, s1 - vcvtteq.f32.f32 s2, s3 - vcvttne.f32.f32 s2, s3 - vcvttcs.f32.f32 s2, s3 - vcvttcc.f32.f32 s2, s3 - vcvttmi.f32.f32 s2, s3 - vcvttpl.f32.f32 s2, s3 - vcvttvs.f32.f32 s2, s3 - vcvttvc.f32.f32 s2, s3 - vcvtthi.f32.f32 s2, s3 - vcvttls.f32.f32 s2, s3 - vcvttge.f32.f32 s2, s3 - vcvttlt.f32.f32 s2, s3 - vcvttgt.f32.f32 s2, s3 - vcvttle.f32.f32 s2, s3 - vcvttal.f32.f32 s2, s3 + vcvtt.f32.f16 s0, s1 + vcvtteq.f32.f16 s2, s3 + vcvttne.f32.f16 s2, s3 + vcvttcs.f32.f16 s2, s3 + vcvttcc.f32.f16 s2, s3 + vcvttmi.f32.f16 s2, s3 + vcvttpl.f32.f16 s2, s3 + vcvttvs.f32.f16 s2, s3 + vcvttvc.f32.f16 s2, s3 + vcvtthi.f32.f16 s2, s3 + vcvttls.f32.f16 s2, s3 + vcvttge.f32.f16 s2, s3 + vcvttlt.f32.f16 s2, s3 + vcvttgt.f32.f16 s2, s3 + vcvttle.f32.f16 s2, s3 + vcvttal.f32.f16 s2, s3 vcvtt.f16.f32 s0, s1 vcvtteq.f16.f32 s2, s3 @@ -33,22 +33,22 @@ vcvttle.f16.f32 s2, s3 vcvttal.f16.f32 s2, s3 - vcvtb.f32.f32 s0, s1 - vcvtbeq.f32.f32 s2, s3 - vcvtbne.f32.f32 s2, s3 - vcvtbcs.f32.f32 s2, s3 - vcvtbcc.f32.f32 s2, s3 - vcvtbmi.f32.f32 s2, s3 - vcvtbpl.f32.f32 s2, s3 - vcvtbvs.f32.f32 s2, s3 - vcvtbvc.f32.f32 s2, s3 - vcvtbhi.f32.f32 s2, s3 - vcvtbls.f32.f32 s2, s3 - vcvtbge.f32.f32 s2, s3 - vcvtblt.f32.f32 s2, s3 - vcvtbgt.f32.f32 s2, s3 - vcvtble.f32.f32 s2, s3 - vcvtbal.f32.f32 s2, s3 + vcvtb.f32.f16 s0, s1 + vcvtbeq.f32.f16 s2, s3 + vcvtbne.f32.f16 s2, s3 + vcvtbcs.f32.f16 s2, s3 + vcvtbcc.f32.f16 s2, s3 + vcvtbmi.f32.f16 s2, s3 + vcvtbpl.f32.f16 s2, s3 + vcvtbvs.f32.f16 s2, s3 + vcvtbvc.f32.f16 s2, s3 + vcvtbhi.f32.f16 s2, s3 + vcvtbls.f32.f16 s2, s3 + vcvtbge.f32.f16 s2, s3 + vcvtblt.f32.f16 s2, s3 + vcvtbgt.f32.f16 s2, s3 + vcvtble.f32.f16 s2, s3 + vcvtbal.f32.f16 s2, s3 vcvtb.f16.f32 s0, s1 vcvtbeq.f16.f32 s2, s3 |