aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2009-09-02 07:30:34 +0000
committerJie Zhang <jie.zhang@analog.com>2009-09-02 07:30:34 +0000
commit39b4412d0f6613477ed25e5be158bcc7a1fd050a (patch)
treecb20da22d1091f73f0b9fddf15cfa8f8231721fa /gas/testsuite
parentaa820537ead0135a7c38c619039dce8a6fc74ed1 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gas/testsuite/gas/bfin/expected_errors.l69
-rw-r--r--gas/testsuite/gas/bfin/expected_errors.s86
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);