Cooper Qu
1feede9b38
CSKY: Add FPUV3 instructions, which supported by ck860f.
Co-Authored-By: Lifang Xia <lifang_xia@c-sky.com>
gas/
* config/tc-csky.c (float_work_fpuv3_fmovi): New function,
helper function to encode fpuv3 fmovi instructions.
(float_work_fpuv3_fstore): New function.
(struct literal): Add new member 'offset'.
(csky_cpus): New cpu CK860f.
(enter_literal): Return literal pool pointer instead of offset.
(parse_rt): Adjust the change of enter_literal.
(parse_rtf): Likewise.
(v1_work_lrw): Likewise.
(v1_work_jbsr): Likewise.
(v2_work_lrw): Likewise.
(v2_work_jbsr): Likewise.
(v2_work_jsri): Likewise.
(vdsp_work_vlrw): Likewise.
(is_freglist_legal): Add handler for FPUV3.
(parse_type_freg): Likewise.
(is_imm_within_range): Set e.X_add_number if it is a signed and
negtive number.
(get_operand_value): Add handler for OPRND_TYPE_IMM9b,
OPRND_TYPE_HFLOAT_FMOVI, OPRND_TYPE_SFLOAT_FMOVI
and OPRND_TYPE_DFLOAT_FMOVI.
(float_to_half): Convert float number to harf float.
opcodes/
* csky-dis.c (csky_output_operand): Add handlers for
OPRND_TYPE_HFLOAT_FMOVI, OPRND_TYPE_SFLOAT_FMOVI and
OPRND_TYPE_DFLOAT_FMOVI. Refine OPRND_TYPE_FREGLIST_DASH
to support FPUV3 instructions.
* csky-opc.h (enum operand_type): New enum OPRND_TYPE_IMM9b,
OPRND_TYPE_HFLOAT_FMOVI, OPRND_TYPE_SFLOAT_FMOVI and
OPRND_TYPE_DFLOAT_FMOVI.
(OPRND_MASK_4_5, OPRND_MASK_6, OPRND_MASK_6_7, OPRND_MASK_6_8,
OPRND_MASK_7, OPRND_MASK_7_8, OPRND_MASK_17_24,
OPRND_MASK_20, OPRND_MASK_20_21, OPRND_MASK_20_22,
OPRND_MASK_20_23, OPRND_MASK_20_24, OPRND_MASK_20_25,
OPRND_MASK_0_3or5_8, OPRND_MASK_0_3or6_7, OPRND_MASK_0_3or25,
OPRND_MASK_0_4or21_24, OPRND_MASK_5or20_21,
OPRND_MASK_5or20_22, OPRND_MASK_5or20_23, OPRND_MASK_5or20_24,
OPRND_MASK_5or20_25, OPRND_MASK_8_9or21_25,
OPRND_MASK_8_9or16_25, OPRND_MASK_4_6or20, OPRND_MASK_5_7or20,
OPRND_MASK_4_5or20or25, OPRND_MASK_4_6or20or25,
OPRND_MASK_4_7or20or25, OPRND_MASK_6_9or17_24,
OPRND_MASK_6_7or20, OPRND_MASK_6or20, OPRND_MASK_7or20,
OPRND_MASK_5or8_9or16_25, OPRND_MASK_5or8_9or20_25): Define.
(csky_v2_opcodes): Add FPUV3 instructions.
include/
* opcode/csky.h (CSKY_ISA_FLOAT_7E60): Define.
2020-09-09 19:25:40 +08:00
..
2020-08-12 11:25:38 +01:00
2020-09-08 14:18:38 +01:00
2020-04-20 10:58:16 +01:00
2020-04-20 10:58:16 +01:00
2020-09-08 14:18:38 +01:00
2020-09-08 14:21:44 +01:00
2020-04-20 10:58:16 +01:00
2020-02-26 10:37:25 +10:30
2020-09-08 14:18:38 +01:00
2020-09-08 14:21:44 +01:00
2020-04-30 15:47:30 +01:00
2020-09-08 14:18:38 +01:00
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-07-14 14:51:15 +03:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-07-07 16:01:48 +03:00
2020-02-25 10:27:07 +02:00
2020-07-07 16:01:48 +03:00
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-08-26 15:39:00 +02:00
2020-08-26 15:39:00 +02:00
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-08-26 15:39:00 +02:00
2020-08-26 15:39:00 +02:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-05 16:22:46 +09:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-09-09 19:25:40 +08:00
2020-01-01 18:12:08 +10:30
2020-07-04 10:34:23 +01:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-08-30 20:49:32 +09:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-09-09 19:25:40 +08:00
2020-09-09 19:25:40 +08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-04 14:10:40 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-08-26 16:48:39 +02:00
2020-03-26 20:02:42 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-03-26 20:02:42 +10:30
2020-01-20 15:45:50 +10:30
2020-07-14 10:33:40 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:33:40 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:42:33 +02:00
2020-09-02 16:30:44 +09:30
2020-07-10 05:18:34 -07:00
2020-07-10 05:18:34 -07:00
2020-01-01 18:42:54 +10:30
2020-07-30 16:13:17 -07:00
2020-07-30 16:13:17 -07:00
2020-07-10 05:18:34 -07:00
2020-07-30 16:13:17 -07:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-04-21 16:53:36 +02:00
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-03-09 08:23:46 -07:00
2020-03-09 08:23:46 -07:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-03-20 12:35:51 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-03-20 12:35:51 +10:30
2020-01-01 18:42:54 +10:30
2020-02-26 10:37:25 +10:30
2020-05-28 22:08:42 +09:30
2020-01-01 18:42:54 +10:30
2020-05-28 21:11:32 +09:30
2020-01-01 18:42:54 +10:30
2020-01-17 12:34:03 -06:00
2020-05-19 20:41:03 +09:00
2020-06-04 16:17:42 +02:00
2020-05-19 20:41:03 +09:00
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-05-19 20:41:03 +09:00
2020-05-19 20:41:03 +09:00
2020-05-19 20:41:03 +09:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-06 14:44:32 +09:30
2020-08-19 08:47:35 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-30 09:54:55 +08:00
2020-06-22 10:01:14 +08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-03-22 23:20:15 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-07-29 19:46:44 +02:00
2020-01-01 18:42:54 +10:30
2020-05-26 18:15:41 +02:00
2020-01-13 12:12:41 +10:30
2020-01-13 12:12:41 +10:30
2020-01-01 18:42:54 +10:30
2020-04-29 13:13:55 +01:00
2020-04-29 16:09:38 +01:00
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-08-25 23:07:10 +09:30
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 16:44:27 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-14 10:57:52 +10:30
2020-08-04 22:31:42 +02:00
2020-08-04 22:31:42 +02:00
2020-03-25 08:54:18 +10:30