diff options
author | Jie Zhang <jie.zhang@analog.com> | 2009-09-02 07:30:34 +0000 |
---|---|---|
committer | Jie Zhang <jie.zhang@analog.com> | 2009-09-02 07:30:34 +0000 |
commit | 39b4412d0f6613477ed25e5be158bcc7a1fd050a (patch) | |
tree | cb20da22d1091f73f0b9fddf15cfa8f8231721fa /gas/testsuite | |
parent | aa820537ead0135a7c38c619039dce8a6fc74ed1 (diff) | |
download | gdb-39b4412d0f6613477ed25e5be158bcc7a1fd050a.zip gdb-39b4412d0f6613477ed25e5be158bcc7a1fd050a.tar.gz gdb-39b4412d0f6613477ed25e5be158bcc7a1fd050a.tar.bz2 |
From Bernd Schmidt <bernd.schmidt@analog.com>
* config/gas/bfin-parse.y (asm_1): Clean up and unify error handling
for load and store insns.
(neg_value): Delete function.
testsuite/
From Bernd Schmidt <bernd.schmidt@analog.com>
* gas/bfin/expected_errors.l, gas/bfin/expected_errors.s:
Check error messages for invalid load/store insns.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/bfin/expected_errors.l | 69 | ||||
-rw-r--r-- | gas/testsuite/gas/bfin/expected_errors.s | 86 |
3 files changed, 161 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 39e6bc9..d639cee 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2009-09-02 Jie Zhang <jie.zhang@analog.com> + + From Bernd Schmidt <bernd.schmidt@analog.com> + * gas/bfin/expected_errors.l, gas/bfin/expected_errors.s: + Check error messages for invalid load/store insns. + 2009-09-01 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/att-regs.s: Add ymm tests for 16bit and 64bit. diff --git a/gas/testsuite/gas/bfin/expected_errors.l b/gas/testsuite/gas/bfin/expected_errors.l index 9578e7b..25cb690 100644 --- a/gas/testsuite/gas/bfin/expected_errors.l +++ b/gas/testsuite/gas/bfin/expected_errors.l @@ -21,3 +21,72 @@ .*:27: Error: Cannot move A1 to low half of register. Input text was \). .*:28: Error: Cannot move A0 to odd register. Input text was \). .*:29: Error: Cannot move A0 to high half of register. Input text was \). +.*:31: Error: Displacement out of range. Input text was r0. +.*:32: Error: Displacement out of range. Input text was r0. +.*:33: Error: Displacement out of range. Input text was r0. +.*:34: Error: Displacement out of range. Input text was r0. +.*:36: Error: Displacement out of range. Input text was r0. +.*:37: Error: Displacement out of range. Input text was r0. +.*:38: Error: Displacement out of range. Input text was r0. +.*:40: Error: Displacement out of range. Input text was r0. +.*:41: Error: Displacement out of range. Input text was r0. +.*:42: Error: Displacement out of range. Input text was r0. +.*:44: Error: Displacement out of range. Input text was \). +.*:45: Error: Displacement out of range. Input text was ]. +.*:46: Error: Displacement out of range. Input text was ]. +.*:47: Error: Displacement out of range. Input text was ]. +.*:49: Error: Plain symbol used as offset. Input text was ]. +.*:50: Error: Plain symbol used as offset. +.*:51: Error: Plain symbol used as offset. +.*:53: Error: Displacement out of range. Input text was ]. +.*:54: Error: Displacement out of range. +.*:55: Error: Displacement out of range. +.*:57: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:58: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:59: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:60: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:61: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:62: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was R2. +.*:64: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:65: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:66: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:67: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:68: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:69: Error: Preg \+\+ Preg expected in address. Input text was R2.h. +.*:71: Error: Ireg or Preg expected in address. Input text was R2. +.*:72: Error: Dreg expected for source operand. Input text was P2. +.*:74: Error: Ireg expected in address. Input text was R2.h. +.*:75: Error: Dreg expected for source operand. Input text was P2.h. +.*:77: Error: Preg expected in address. Input text was R2. +.*:78: Error: Preg expected in address. Input text was R2. +.*:79: Error: Dreg expected for source operand. Input text was P2. +.*:81: Error: Preg expected in address. Input text was R2. +.*:82: Error: Preg expected in address. Input text was R2. +.*:83: Error: Dreg expected for source operand. Input text was P2. +.*:85: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:86: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:87: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:88: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:89: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:90: Error: Preg \+\+ Preg or Ireg \+\+ Mreg expected in address. Input text was ]. +.*:92: Error: Preg expected in address. Input text was ]. +.*:93: Error: Preg expected in address. Input text was ]. +.*:94: Error: Preg expected in address. Input text was ]. +.*:95: Error: Preg expected in address. Input text was ]. +.*:96: Error: Preg expected in address. Input text was ]. +.*:97: Error: Preg expected in address. Input text was ]. +.*:99: Error: Ireg or Preg expected in address. Input text was ]. +.*:100: Error: Dreg expected in destination operand. Input text was ]. +.*:102: Error: syntax error. Input text was B. +.*:102: Error: +.*:103: Error: syntax error. Input text was B. +.*:103: Error: +.*:105: Error: Ireg expected in address. Input text was ]. +.*:106: Error: Ireg expected in address. Input text was ]. +.*:107: Error: Dreg expected for source operand. Input text was ]. +.*:109: Error: Preg expected in address. Input text was \). +.*:110: Error: Preg expected in address. Input text was \). +.*:111: Error: Dreg expected for destination operand. Input text was \). +.*:113: Error: Preg expected in address. Input text was \). +.*:114: Error: Preg expected in address. Input text was \). +.*:115: Error: Dreg expected for destination operand. Input text was \). diff --git a/gas/testsuite/gas/bfin/expected_errors.s b/gas/testsuite/gas/bfin/expected_errors.s index fd5d4df..812c2d9 100644 --- a/gas/testsuite/gas/bfin/expected_errors.s +++ b/gas/testsuite/gas/bfin/expected_errors.s @@ -27,3 +27,89 @@ R0.L = (A1 += R1.H * R3.H) (IU) R1 = (A0 += R1.H * R3.H) (IU) R1.H = (A0 += R1.H * R3.H) (IU) + + W [p0 + 1] = r0; + [p0 + 1] = r0; + [p0 + 2] = r0; + [p0 + 3] = r0; + + B [p0 + 32768] = r0; + W [p0 + 65536] = r0; + [p0 + 131072] = r0; + + B [p0 + -32769] = r0; + W [p0 + -65538] = r0; + [p0 + -131076] = r0; + + r0 = W [p0 + 1] (x); + r0 = [p0 + 1]; + r0 = [p0 + 2]; + r0 = [p0 + 3]; + + r0 = [p0 + foo]; + r0 = W [p0 + foo]; + r0 = B [p0 + foo]; + + r0 = [p0 + 131076]; + r0 = W [p0 + 65536]; + r0 = B [p0 + 131076]; + + [ R0 ++ M2 ] = R2; + [ I0 ++ R2 ] = R2; + [ R0 ++ P2 ] = R2; + [ P0 ++ R2 ] = R2; + [ P0 ++ M2 ] = R2; + [ I0 ++ P2 ] = R2; + + W [ R0 ++ M2 ] = R2.h; + W [ I0 ++ R2 ] = R2.h; + W [ R0 ++ P2 ] = R2.h; + W [ P0 ++ R2 ] = R2.h; + W [ P0 ++ M2 ] = R2.h; + W [ I0 ++ P2 ] = R2.h; + + [ R0 ++ ] = R2; + [ I0 ++ ] = P2; + + W [ R0 ++ ] = R2.h; + W [ I0 ++ ] = P2.h; + + W [ R0 ++ ] = R2; + W [ I0 ++ ] = R2; + W [ P0 ++ ] = P2; + + B [ R0 ++ ] = R2; + B [ I0 ++ ] = R2; + B [ P0 ++ ] = P2; + + R2 = [ R0 ++ M2 ]; + R2 = [ I0 ++ R2 ]; + R2 = [ R0 ++ P2 ]; + R2 = [ P0 ++ R2 ]; + R2 = [ P0 ++ M2 ]; + R2 = [ I0 ++ P2 ]; + + R2.h = W [ R0 ++ M2 ]; + R2.h = W [ I0 ++ R2 ]; + R2.h = W [ R0 ++ P2 ]; + R2.h = W [ P0 ++ R2 ]; + R2.h = W [ P0 ++ M2 ]; + R2.h = W [ I0 ++ P2 ]; + + R2 = [ R0 ++ ]; + P2 = [ I0 ++ ]; + + R0.l = B [ P0 ++ ]; + R0.l = B [ I0 ++ ]; + + R0.l = W [ P0 ++ ]; + R2.h = W [ R0 ++ ]; + P2.h = W [ I0 ++ ]; + + R2 = W [ R0 ++ ] (X); + R2 = W [ I0 ++ ] (X); + P2 = W [ P0 ++ ] (X); + + R2 = B [ R0 ++ ] (X); + R2 = B [ I0 ++ ] (X); + P2 = B [ P0 ++ ] (X); |