diff options
author | Jie Zhang <jie.zhang@analog.com> | 2010-02-26 15:57:59 +0000 |
---|---|---|
committer | Jie Zhang <jie.zhang@analog.com> | 2010-02-26 15:57:59 +0000 |
commit | f8a8e9d60e5f31f952a520f3de2be3ee3f00d345 (patch) | |
tree | 8ad2ff8629bbe43ee779c88989c282f0f38fb16d /gas | |
parent | 3fde54a228eaf5288bc42ea24b29c0e35b6f4984 (diff) | |
download | gdb-f8a8e9d60e5f31f952a520f3de2be3ee3f00d345.zip gdb-f8a8e9d60e5f31f952a520f3de2be3ee3f00d345.tar.gz gdb-f8a8e9d60e5f31f952a520f3de2be3ee3f00d345.tar.bz2 |
* config/tc-arm.c (do_t_strexd): Remove
operand[1] != operand[2] contraint.
testsuite/
* gas/arm/thumb32.s, gas/arm/thumb32.d: Add a new test
for strexd.
* gas/arm/thumb32.l: Adjust.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 3 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/thumb32.d | 41 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/thumb32.l | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/thumb32.s | 1 |
6 files changed, 38 insertions, 26 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5e49710..3df889b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2010-02-26 Jie Zhang <jie@codesourcery.com> + * config/tc-arm.c (do_t_strexd): Remove + operand[1] != operand[2] contraint. + +2010-02-26 Jie Zhang <jie@codesourcery.com> + * config/tc-arm.c (neon_select_shape): No need to match the remaining operands in the shape when one operand does not match. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 69057b7..f55fe61 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11275,8 +11275,7 @@ do_t_strexd (void) constraint (inst.operands[0].reg == inst.operands[1].reg || inst.operands[0].reg == inst.operands[2].reg - || inst.operands[0].reg == inst.operands[3].reg - || inst.operands[1].reg == inst.operands[2].reg, + || inst.operands[0].reg == inst.operands[3].reg, BAD_OVERLAP); inst.instruction |= inst.operands[0].reg; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 3dc4271..c302471 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2010-02-26 Jie Zhang <jie@codesourcery.com> + * gas/arm/thumb32.s, gas/arm/thumb32.d: Add a new test + for strexd. + * gas/arm/thumb32.l: Adjust. + +2010-02-26 Jie Zhang <jie@codesourcery.com> + * gas/arm/neon-ldst-align-bad.d: New test. * gas/arm/neon-ldst-align-bad.l: New test. * gas/arm/neon-ldst-align-bad.s: New test. diff --git a/gas/testsuite/gas/arm/thumb32.d b/gas/testsuite/gas/arm/thumb32.d index e2e6286..d04ef6b 100644 --- a/gas/testsuite/gas/arm/thumb32.d +++ b/gas/testsuite/gas/arm/thumb32.d @@ -555,6 +555,7 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> e8c4 2f51 strexh r1, r2, \[r4\] 0[0-9a-f]+ <[^>]+> e844 2100 strex r1, r2, \[r4\] 0[0-9a-f]+ <[^>]+> e8c4 2371 strexd r1, r2, r3, \[r4\] +0[0-9a-f]+ <[^>]+> e8c4 3371 strexd r1, r3, r3, \[r4\] 0[0-9a-f]+ <[^>]+> e854 1f81 ldrex r1, \[r4, #516\].* 0[0-9a-f]+ <[^>]+> e844 2181 strex r1, r2, \[r4, #516\].* 0[0-9a-f]+ <[^>]+> c80e ldmia r0!, \{r1, r2, r3\} @@ -944,26 +945,26 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> fa52 f183 uxtab r1, r2, r3 0[0-9a-f]+ <[^>]+> fa32 f183 uxtab16 r1, r2, r3 0[0-9a-f]+ <[^>]+> fa12 f183 uxtah r1, r2, r3 -0[0-9a-f]+ <[^>]+> f89f 12aa ldrb\.w r1, \[pc, #682\] ; 0+e7e <[^>]+> -0[0-9a-f]+ <[^>]+> f89f 1155 ldrb\.w r1, \[pc, #341\] ; 0+d2d <[^>]+> -0[0-9a-f]+ <[^>]+> f81f 12aa ldrb\.w r1, \[pc, #-682\] ; 0+932 <[^>]+> -0[0-9a-f]+ <[^>]+> f81f 1155 ldrb\.w r1, \[pc, #-341\] ; 0+a8b <[^>]+> -0[0-9a-f]+ <[^>]+> f99f 12aa ldrsb\.w r1, \[pc, #682\] ; 0+e8e <[^>]+> -0[0-9a-f]+ <[^>]+> f99f 1155 ldrsb\.w r1, \[pc, #341\] ; 0+d3d <[^>]+> -0[0-9a-f]+ <[^>]+> f91f 12aa ldrsb\.w r1, \[pc, #-682\] ; 0+942 <[^>]+> -0[0-9a-f]+ <[^>]+> f91f 1155 ldrsb\.w r1, \[pc, #-341\] ; 0+a9b <[^>]+> -0[0-9a-f]+ <[^>]+> f8bf 12aa ldrh\.w r1, \[pc, #682\] ; 0+e9e <[^>]+> -0[0-9a-f]+ <[^>]+> f8bf 1155 ldrh\.w r1, \[pc, #341\] ; 0+d4d <[^>]+> -0[0-9a-f]+ <[^>]+> f83f 12aa ldrh\.w r1, \[pc, #-682\] ; 0+952 <[^>]+> -0[0-9a-f]+ <[^>]+> f83f 1155 ldrh\.w r1, \[pc, #-341\] ; 0+aab <[^>]+> -0[0-9a-f]+ <[^>]+> f9bf 12aa ldrsh\.w r1, \[pc, #682\] ; 0+eae <[^>]+> -0[0-9a-f]+ <[^>]+> f9bf 1155 ldrsh\.w r1, \[pc, #341\] ; 0+d5d <[^>]+> -0[0-9a-f]+ <[^>]+> f93f 12aa ldrsh\.w r1, \[pc, #-682\] ; 0+962 <[^>]+> -0[0-9a-f]+ <[^>]+> f93f 1155 ldrsh\.w r1, \[pc, #-341\] ; 0+abb <[^>]+> -0[0-9a-f]+ <[^>]+> f8df 12aa ldr\.w r1, \[pc, #682\] ; 0+ebe <[^>]+> -0[0-9a-f]+ <[^>]+> f8df 1155 ldr\.w r1, \[pc, #341\] ; 0+d6d <[^>]+> -0[0-9a-f]+ <[^>]+> f85f 12aa ldr\.w r1, \[pc, #-682\] ; 0+972 <[^>]+> -0[0-9a-f]+ <[^>]+> f85f 1155 ldr\.w r1, \[pc, #-341\] ; 0+acb <[^>]+> +0[0-9a-f]+ <[^>]+> f89f 12aa ldrb\.w r1, \[pc, #682\] ; 0+e82 <[^>]+> +0[0-9a-f]+ <[^>]+> f89f 1155 ldrb\.w r1, \[pc, #341\] ; 0+d31 <[^>]+> +0[0-9a-f]+ <[^>]+> f81f 12aa ldrb\.w r1, \[pc, #-682\] ; 0+936 <[^>]+> +0[0-9a-f]+ <[^>]+> f81f 1155 ldrb\.w r1, \[pc, #-341\] ; 0+a8f <[^>]+> +0[0-9a-f]+ <[^>]+> f99f 12aa ldrsb\.w r1, \[pc, #682\] ; 0+e92 <[^>]+> +0[0-9a-f]+ <[^>]+> f99f 1155 ldrsb\.w r1, \[pc, #341\] ; 0+d41 <[^>]+> +0[0-9a-f]+ <[^>]+> f91f 12aa ldrsb\.w r1, \[pc, #-682\] ; 0+946 <[^>]+> +0[0-9a-f]+ <[^>]+> f91f 1155 ldrsb\.w r1, \[pc, #-341\] ; 0+a9f <[^>]+> +0[0-9a-f]+ <[^>]+> f8bf 12aa ldrh\.w r1, \[pc, #682\] ; 0+ea2 <[^>]+> +0[0-9a-f]+ <[^>]+> f8bf 1155 ldrh\.w r1, \[pc, #341\] ; 0+d51 <[^>]+> +0[0-9a-f]+ <[^>]+> f83f 12aa ldrh\.w r1, \[pc, #-682\] ; 0+956 <[^>]+> +0[0-9a-f]+ <[^>]+> f83f 1155 ldrh\.w r1, \[pc, #-341\] ; 0+aaf <[^>]+> +0[0-9a-f]+ <[^>]+> f9bf 12aa ldrsh\.w r1, \[pc, #682\] ; 0+eb2 <[^>]+> +0[0-9a-f]+ <[^>]+> f9bf 1155 ldrsh\.w r1, \[pc, #341\] ; 0+d61 <[^>]+> +0[0-9a-f]+ <[^>]+> f93f 12aa ldrsh\.w r1, \[pc, #-682\] ; 0+966 <[^>]+> +0[0-9a-f]+ <[^>]+> f93f 1155 ldrsh\.w r1, \[pc, #-341\] ; 0+abf <[^>]+> +0[0-9a-f]+ <[^>]+> f8df 12aa ldr\.w r1, \[pc, #682\] ; 0+ec2 <[^>]+> +0[0-9a-f]+ <[^>]+> f8df 1155 ldr\.w r1, \[pc, #341\] ; 0+d71 <[^>]+> +0[0-9a-f]+ <[^>]+> f85f 12aa ldr\.w r1, \[pc, #-682\] ; 0+976 <[^>]+> +0[0-9a-f]+ <[^>]+> f85f 1155 ldr\.w r1, \[pc, #-341\] ; 0+acf <[^>]+> 0[0-9a-f]+ <[^>]+> f200 0900 addw r9, r0, #0 0[0-9a-f]+ <[^>]+> f60f 76ff addw r6, pc, #4095 ; 0xfff 0[0-9a-f]+ <[^>]+> f6a9 2685 subw r6, r9, #2693 ; 0xa85 diff --git a/gas/testsuite/gas/arm/thumb32.l b/gas/testsuite/gas/arm/thumb32.l index eb404f2..71f4610 100644 --- a/gas/testsuite/gas/arm/thumb32.l +++ b/gas/testsuite/gas/arm/thumb32.l @@ -1,8 +1,4 @@ [^;]*: Assembler messages: -[^;]*:447: Warning: s suffix on comparison instruction is deprecated -[^;]*:447: Warning: s suffix on comparison instruction is deprecated -[^;]*:447: Warning: s suffix on comparison instruction is deprecated -[^;]*:447: Warning: s suffix on comparison instruction is deprecated [^;]*:448: Warning: s suffix on comparison instruction is deprecated [^;]*:448: Warning: s suffix on comparison instruction is deprecated [^;]*:448: Warning: s suffix on comparison instruction is deprecated @@ -15,3 +11,7 @@ [^;]*:450: Warning: s suffix on comparison instruction is deprecated [^;]*:450: Warning: s suffix on comparison instruction is deprecated [^;]*:450: Warning: s suffix on comparison instruction is deprecated +[^;]*:451: Warning: s suffix on comparison instruction is deprecated +[^;]*:451: Warning: s suffix on comparison instruction is deprecated +[^;]*:451: Warning: s suffix on comparison instruction is deprecated +[^;]*:451: Warning: s suffix on comparison instruction is deprecated diff --git a/gas/testsuite/gas/arm/thumb32.s b/gas/testsuite/gas/arm/thumb32.s index de4eb1e..fc0930d 100644 --- a/gas/testsuite/gas/arm/thumb32.s +++ b/gas/testsuite/gas/arm/thumb32.s @@ -400,6 +400,7 @@ ldxstx: strexh r1, r2, [r4] strex r1, r2, [r4] strexd r1, r2, r3, [r4] + strexd r1, r3, r3, [r4] ldrex r1, [r4,#516] strex r1, r2, [r4,#516] |