Andrew Burgess
b437d035dd
arc/nps400: Validate address type operands correctly
...
When we match against an address type operand within an instruction it
is important that we match exactly the right address type operand early
on, during the opcode selection phase. If we wait until the operand
insertion phase to check that we have the correct address operand, then
it is too late to select an alternative opcode. This becomes important
only when we have multiple opcodes with the same mnemonic, and operand
lists that differ only in the type of the address operands.
This commit fixes this issue, and adds some example instructions that
require this issue to be fixed (the instructions are identical except
for the address type operand).
gas/ChangeLog:
* config/tc-arc.c (find_opcode_match): Use insert function to
validate matching address type operands.
* testsuite/gas/arc/nps400-10.d: New file.
* testsuite/gas/arc/nps400-10.s: New file.
opcodes/ChangeLog:
* arc-opc.c (arc_flag_operands): Add F_DI14.
(arc_flag_classes): Add C_DI14.
* arc-nps400-tbl.h: Add new exc instructions.
2016-11-04 22:46:51 +00:00
..
2016-01-01 23:00:01 +10:30
2010-12-09 09:03:18 +00:00
2016-09-21 16:58:48 +01:00
2016-10-11 11:24:44 +01:00
2016-09-21 16:57:22 +01:00
2016-09-21 16:58:48 +01:00
2016-10-18 04:39:37 +01:00
2016-09-21 16:57:22 +01:00
2016-09-21 16:48:06 +01:00
2016-09-21 16:58:48 +01:00
2016-10-07 10:55:56 +01:00
2016-09-21 16:58:48 +01:00
2016-09-30 14:16:54 +01:00
2016-04-15 16:20:55 -07:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-11-03 17:14:38 +00:00
2016-08-24 14:23:00 +02:00
2016-09-26 16:47:17 +02:00
2016-11-03 17:14:38 +00:00
2016-11-03 17:14:38 +00:00
2016-11-03 17:14:38 +00:00
2016-11-04 22:46:51 +00:00
2016-11-04 22:46:51 +00:00
2016-04-12 10:21:06 +02:00
2016-10-17 15:27:51 +02:00
2016-10-06 10:13:15 +10:30
2016-06-09 19:00:57 +03:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-01 10:41:32 +00:00
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-03-21 16:31:46 +00:00
2016-01-01 23:00:01 +10:30
2016-11-04 22:46:51 +00:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2013-01-02 13:13:36 +00:00
2014-01-08 05:32:12 -08:00
2015-01-02 00:53:45 +10:30
2016-01-01 22:59:17 +10:30
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2014-07-04 13:40:28 +09:30
2016-11-01 16:45:57 +00:00
2016-11-01 16:45:57 +00:00
2016-01-01 23:00:01 +10:30
2016-10-06 09:36:33 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 09:36:33 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-11-01 16:45:57 +00:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-03-02 13:35:41 +10:30
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-07-08 11:38:35 -07:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-11-02 12:31:25 -07:00
2016-11-03 09:55:01 -07:00
2016-11-02 12:31:25 -07:00
2016-11-02 12:31:25 -07:00
2016-01-01 23:00:01 +10:30
2016-11-02 12:31:25 -07:00
2016-11-02 12:31:25 -07:00
2016-01-01 23:00:01 +10:30
2016-11-02 12:31:25 -07:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2012-09-04 13:52:06 +00:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2013-05-17 12:57:16 +00:00
2013-05-17 12:57:16 +00:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 10:13:15 +10:30
2016-01-08 11:42:10 +01:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-09-26 16:36:08 +01:00
2016-01-01 23:00:01 +10:30
2016-06-25 11:54:28 -04:00
2016-06-25 11:54:28 -04:00
2016-10-06 10:13:15 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-03-07 15:16:28 +00:00
2016-01-01 23:00:01 +10:30
2016-07-27 17:38:31 +01:00
2016-01-01 23:00:01 +10:30
2016-05-18 13:07:24 +01:00
2016-01-01 23:00:01 +10:30
2016-07-13 17:42:43 +01:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 09:39:56 +10:30
2016-10-06 09:39:56 +10:30
2016-05-27 13:49:58 +01:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-06-01 21:26:32 -04:00
2016-06-15 16:25:34 +01:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 10:13:15 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-03-03 00:23:31 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-08-01 09:42:31 -07:00
2016-09-29 15:12:47 +09:30
2016-11-01 16:45:57 +00:00
2016-11-01 16:45:57 +00:00
2016-03-02 13:38:44 +10:30
2016-01-14 16:23:35 +00:00
2016-03-01 10:52:24 +00:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-06-10 13:41:42 +02:00
2016-09-12 16:32:02 +02:00
2016-01-01 23:00:01 +10:30
2016-09-12 16:32:02 +02:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 10:13:15 +10:30
2016-10-07 11:24:21 +10:30
2016-06-17 02:15:43 -07:00
2016-08-26 07:31:31 -07:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-10-06 10:13:15 +10:30
2016-10-06 10:13:15 +10:30
2016-01-01 23:00:01 +10:30
2016-05-23 01:17:12 -04:00
2016-05-23 01:17:12 -04:00
2016-01-01 23:00:01 +10:30
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-13 15:09:25 +01:00
2016-10-06 10:13:15 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-02-02 11:09:17 +00:00
2016-04-20 07:04:49 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30