diff options
author | Paul Brook <paul@codesourcery.com> | 2006-11-29 16:26:56 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-11-29 16:26:56 +0000 |
commit | 00249aaae7d7cb22e216966cea456be188810cdf (patch) | |
tree | 05d0b537ad72ee49faa760794d570cd0b74b4287 /gas | |
parent | ac6c2fba055f3e5617d63b00c29279c876e4e0f9 (diff) | |
download | gdb-00249aaae7d7cb22e216966cea456be188810cdf.zip gdb-00249aaae7d7cb22e216966cea456be188810cdf.tar.gz gdb-00249aaae7d7cb22e216966cea456be188810cdf.tar.bz2 |
2006-11-29 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (do_vfp_sp_const, do_vfp_dp_const): Fix operans
encoding.
gas/testsuite/
* gas/arm/vfpv3-const-conv.s: Improve test coverage.
* gas/arm/vfpv3-const-conv.d: Adjust expected output.
* gas/arm/vfp-neon-syntax_t2.d: Ditto.
* gas/arm/vfp-neon-syntax.d: Ditto.
opcodes/
* arm-dis.c (coprocessor_opcodes): Fix bitfields for fconstd/fconstd.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 8 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/vfp-neon-syntax.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/vfp-neon-syntax_t2.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/vfpv3-const-conv.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/vfpv3-const-conv.s | 8 |
7 files changed, 34 insertions, 22 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5a87bd4..e21af06 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2006-11-29 Paul Brook <paul@codesourcery.com> + + * config/tc-arm.c (do_vfp_sp_const, do_vfp_dp_const): Fix operans + encoding. + 2006-11-27 Sterling Augustine <sterling@tensilica.com> * config/tc-xtensa.c (xtensa_sanity_check): Check for RELAX_IMMED diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index f7a3e74..7f3751d 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7719,16 +7719,16 @@ static void do_vfp_sp_const (void) { encode_arm_vfp_reg (inst.operands[0].reg, VFP_REG_Sd); - inst.instruction |= (inst.operands[1].imm & 15) << 16; - inst.instruction |= (inst.operands[1].imm >> 4); + inst.instruction |= (inst.operands[1].imm & 0xf0) << 12; + inst.instruction |= (inst.operands[1].imm & 0x0f); } static void do_vfp_dp_const (void) { encode_arm_vfp_reg (inst.operands[0].reg, VFP_REG_Dd); - inst.instruction |= (inst.operands[1].imm & 15) << 16; - inst.instruction |= (inst.operands[1].imm >> 4); + inst.instruction |= (inst.operands[1].imm & 0xf0) << 12; + inst.instruction |= (inst.operands[1].imm & 0x0f); } static void diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e3c14fc..ef83e7f 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2006-11-29 Paul Brook <paul@codesourcery.com> + + * gas/arm/vfpv3-const-conv.s: Improve test coverage. + * gas/arm/vfpv3-const-conv.d: Adjust expected output. + * gas/arm/vfp-neon-syntax_t2.d: Ditto. + * gas/arm/vfp-neon-syntax.d: Ditto. + 2006-11-27 Bob Wilson <bob.wilson@acm.org> * gas/elf/section2.e-xtensa: New file. diff --git a/gas/testsuite/gas/arm/vfp-neon-syntax.d b/gas/testsuite/gas/arm/vfp-neon-syntax.d index 22620ad..8d97435 100644 --- a/gas/testsuite/gas/arm/vfp-neon-syntax.d +++ b/gas/testsuite/gas/arm/vfp-neon-syntax.d @@ -7,16 +7,16 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> eeb00a60 fcpys s0, s1 0[0-9a-f]+ <[^>]+> eeb00b41 fcpyd d0, d1 -0[0-9a-f]+ <[^>]+> eeb00a05 fconsts s0, #80 -0[0-9a-f]+ <[^>]+> eeb00b07 fconstd d0, #112 +0[0-9a-f]+ <[^>]+> eeb50a00 fconsts s0, #80 +0[0-9a-f]+ <[^>]+> eeb70b00 fconstd d0, #112 0[0-9a-f]+ <[^>]+> ee100a90 fmrs r0, s1 0[0-9a-f]+ <[^>]+> ee001a10 fmsr s0, r1 0[0-9a-f]+ <[^>]+> ec510a11 fmrrs r0, r1, {s2, s3} 0[0-9a-f]+ <[^>]+> ec442a10 fmsrr {s0, s1}, r2, r4 0[0-9a-f]+ <[^>]+> 0eb00a60 fcpyseq s0, s1 0[0-9a-f]+ <[^>]+> 0eb00b41 fcpydeq d0, d1 -0[0-9a-f]+ <[^>]+> 0eb00a05 fconstseq s0, #80 -0[0-9a-f]+ <[^>]+> 0eb00b07 fconstdeq d0, #112 +0[0-9a-f]+ <[^>]+> 0eb50a00 fconstseq s0, #80 +0[0-9a-f]+ <[^>]+> 0eb70b00 fconstdeq d0, #112 0[0-9a-f]+ <[^>]+> 0e100a90 fmrseq r0, s1 0[0-9a-f]+ <[^>]+> 0e001a10 fmsreq s0, r1 0[0-9a-f]+ <[^>]+> 0c510a11 fmrrseq r0, r1, {s2, s3} diff --git a/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d b/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d index 49c2d2f..5c02235 100644 --- a/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d +++ b/gas/testsuite/gas/arm/vfp-neon-syntax_t2.d @@ -7,8 +7,8 @@ Disassembly of section \.text: 0[0-9a-f]+ <[^>]+> eeb0 0a60 fcpys s0, s1 0[0-9a-f]+ <[^>]+> eeb0 0b41 fcpyd d0, d1 -0[0-9a-f]+ <[^>]+> eeb0 0a05 fconsts s0, #80 -0[0-9a-f]+ <[^>]+> eeb0 0b07 fconstd d0, #112 +0[0-9a-f]+ <[^>]+> eeb5 0a00 fconsts s0, #80 +0[0-9a-f]+ <[^>]+> eeb7 0b00 fconstd d0, #112 0[0-9a-f]+ <[^>]+> ee10 0a90 fmrs r0, s1 0[0-9a-f]+ <[^>]+> ee00 1a10 fmsr s0, r1 0[0-9a-f]+ <[^>]+> ec51 0a11 fmrrs r0, r1, {s2, s3} @@ -16,8 +16,8 @@ Disassembly of section \.text: 0[0-9a-f]+ <[^>]+> bf01 itttt eq 0[0-9a-f]+ <[^>]+> eeb0 0a60 fcpyseq s0, s1 0[0-9a-f]+ <[^>]+> eeb0 0b41 fcpydeq d0, d1 -0[0-9a-f]+ <[^>]+> eeb0 0a05 fconstseq s0, #80 -0[0-9a-f]+ <[^>]+> eeb0 0b07 fconstdeq d0, #112 +0[0-9a-f]+ <[^>]+> eeb5 0a00 fconstseq s0, #80 +0[0-9a-f]+ <[^>]+> eeb7 0b00 fconstdeq d0, #112 0[0-9a-f]+ <[^>]+> bf01 itttt eq 0[0-9a-f]+ <[^>]+> ee10 0a90 fmrseq r0, s1 0[0-9a-f]+ <[^>]+> ee00 1a10 fmsreq s0, r1 diff --git a/gas/testsuite/gas/arm/vfpv3-const-conv.d b/gas/testsuite/gas/arm/vfpv3-const-conv.d index ddabd1c..9515fef 100644 --- a/gas/testsuite/gas/arm/vfpv3-const-conv.d +++ b/gas/testsuite/gas/arm/vfpv3-const-conv.d @@ -5,12 +5,12 @@ .*: +file format .*arm.* Disassembly of section \.text: -0[0-9a-f]+ <[^>]+> eef48a00 fconsts s17, #4 -0[0-9a-f]+ <[^>]+> eeb59a00 fconsts s18, #5 -0[0-9a-f]+ <[^>]+> eef69a00 fconsts s19, #6 -0[0-9a-f]+ <[^>]+> eef41b00 fconstd d17, #4 -0[0-9a-f]+ <[^>]+> eef52b00 fconstd d18, #5 -0[0-9a-f]+ <[^>]+> eef63b00 fconstd d19, #6 +0[0-9a-f]+ <[^>]+> eef08a04 fconsts s17, #4 +0[0-9a-f]+ <[^>]+> eeba9a05 fconsts s18, #165 +0[0-9a-f]+ <[^>]+> eef49a00 fconsts s19, #64 +0[0-9a-f]+ <[^>]+> eef01b04 fconstd d17, #4 +0[0-9a-f]+ <[^>]+> eefa2b05 fconstd d18, #165 +0[0-9a-f]+ <[^>]+> eef43b00 fconstd d19, #64 0[0-9a-f]+ <[^>]+> eefa8a63 fshtos s17, #9 0[0-9a-f]+ <[^>]+> eefa1b63 fshtod d17, #9 0[0-9a-f]+ <[^>]+> eefa8aeb fsltos s17, #9 diff --git a/gas/testsuite/gas/arm/vfpv3-const-conv.s b/gas/testsuite/gas/arm/vfpv3-const-conv.s index c40301c..d726d14 100644 --- a/gas/testsuite/gas/arm/vfpv3-const-conv.s +++ b/gas/testsuite/gas/arm/vfpv3-const-conv.s @@ -1,11 +1,11 @@ .arm .syntax unified fconsts s17, #4 - fconsts s18, #5 - fconsts s19, #6 + fconsts s18, #0xa5 + fconsts s19, #0x40 fconstd d17, #4 - fconstd d18, #5 - fconstd d19, #6 + fconstd d18, #0xa5 + fconstd d19, #0x40 fshtos s17, 9 fshtod d17, 9 fsltos s17, 9 |