Szabolcs Nagy
c28eeff2ea
[ARM] Add ARMv8.3 VCMLA and VCADD instructions
...
Add support for VCMLA and VCADD advanced SIMD complex number instructions.
The command line option is -march=armv8.3-a+fp16+simd for enabling all
instructions.
In arm-dis.c the formatting syntax was abused a bit to select between
0 vs 90 or 180 vs 270 or 90 vs 270 based on a bit value instead of
duplicating entries in the opcode table.
gas/
* config/tc-arm.c (do_vcmla, do_vcadd): Define.
(neon_scalar_for_vcmla): Define.
(enum operand_parse_code): Add OP_IROT1 and OP_IROT2.
(NEON_ENC_TAB): Add DDSI and QQSI variants.
(insns): Add vcmla and vcadd.
* testsuite/gas/arm/armv8_3-a-simd.d: New.
* testsuite/gas/arm/armv8_3-a-simd.s: New.
* testsuite/gas/arm/armv8_3-a-simd-bad.d: New.
* testsuite/gas/arm/armv8_3-a-simd-bad.l: New.
* testsuite/gas/arm/armv8_3-a-simd-bad.s: New.
opcodes/
* arm-dis.c (coprocessor_opcodes): Add vcmla and vcadd.
(print_insn_coprocessor): Add 'V' format for neon D or Q regs.
2016-12-05 14:24:17 +00:00
..
2016-01-01 23:00:01 +10:30
2010-12-09 09:03:18 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-11 10:22:56 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00:00
2016-11-18 10:02:16 +00: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-29 11:29:18 +01: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-29 11:29:18 +01:00
2016-04-12 10:21:06 +02:00
2016-11-29 11:29:18 +01:00
2016-12-05 14:24:17 +00:00
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-12-05 14:24:17 +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-22 15:43:03 +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-09 14:00:18 -08:00
2016-12-01 10:26:32 +00: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-09 14:00:18 -08:00
2016-01-01 23:00:01 +10:30
2016-11-09 14:00:18 -08: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-11-22 04:40:37 -08: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