From: gengqi
gcc/ChangeLog:
* config/riscv/arch-canonicalize
(longext_sort): New function for sorting 'multi-letter'.
* config/riscv/multilib-generator: Skip to next loop when current
'alt' is 'arch'. The 'arch' may not be the first of 'alts'.
(_expand_comb
gcc/ChangeLog:
* config/riscv/riscv.md
(muldi3_highpart): Rename to muldi3_highpart.
(mulditi3): Emit muldi3_highpart.
(mulsi3_highpart): Rename to mulsi3_highpart.
(mulsidi3): Emit mulsi3_highpart.
---
gcc/config/riscv/riscv.md | 8
1 file changed
gcc/ChangeLog:
* config/csky/constraints.md ("l", "h"): Delete.
* config/csky/csky.h (reg_class, REG_CLASS_NAMES,
REG_CLASS_CONTENTS): Delete LO_REGS and HI_REGS.
* config/csky/csky.c (regno_reg_classm,
csky_secondary_reload, csky_register_move_cost):
gcc/ChangeLog:
* config/csky/csky.c (csky_option_override):
Init csky_arch_isa_features[] advanced, so TARGET_DSP
and TARGET_DIV can be set well.
---
gcc/config/csky/csky.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gcc/
gcc/ChangeLog:
* config/csky/csky.h
(FRAME_POINTER_REGNUM): Use HARD_FRAME_POINTER_REGNUM and
FRAME_POINTER_REGNUM instead of the signle definition. The
signle definition may not work well at simplify_subreg_regno().
(ELIMINABLE_REGS): Add for HARD_FRAME_POI
gcc/ChangeLog:
* config/csky/constraints.md ("W"): New constriant for mem operand
with base reg, index register.
("Q"): Renamed and modified "csky_valid_fpuv2_mem_operand" to
"csky_valid_mem_constraint_operand" to deal with both "Q" and "W"
constraint.
gcc/
* config/csky/csky.md (cskyv2_sextend_ldbs): New insn.
gcc/testsuite/
* gcc/testsuite/gcc.target/csky/ldbs.c: New.
---
gcc/config/csky/csky.md | 10 ++
gcc/testsuite/gcc.target/csky/ldbs.c | 11 +++
2 files changed, 21 insertions(+)
create mode 1
gcc/ChangeLog:
* config/csky/csky.c (ck810_legitimate_index_p): Modified for
support "base + index" with DF mode.
* config/csky/constraints.md ("Y"): New constraint for memory operands
without index register.
* config/csky/csky_insn_fpuv2.md
(fpuv3_m
When use multi-lib riscv-tool-chain. A bug is triggered when there are two
'-march' at command line.
riscv64-unknown-elf-gcc -march=rv32gcp -mabi=ilp32f -march=rv32gcpzp64
HelloWorld.c
/lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld:
/lh
gcc/ChangeLog:
* doc/options.texi (Negative): Fix the discription so that it matches
the code implementation of prune_options().
---
gcc/doc/options.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/doc/options.texi b/gcc/doc/options.texi
index 205762
gcc/ChangeLog:
* config/csky/constraints.md ("W"): New constriant for mem operand
with base reg, index register.
("Q"): Renamed and modified "csky_valid_fpuv2_mem_operand" to
"csky_valid_mem_constraint_operand" to deal with both "Q" and "W"
constraint.
gcc/ChangeLog:
* config/csky/constraints.md ("l", "h"): Delete.
* config/csky/csky.h (reg_class, REG_CLASS_NAMES,
REG_CLASS_CONTENTS): Delete LO_REGS and HI_REGS.
* config/csky/csky.c (regno_reg_classm,
csky_secondary_reload, csky_register_move_cost):
gcc/ChangeLog:
* config/csky/csky.c (csky_option_override):
Init csky_arch_isa_features[] advanced, so TARGET_DSP
and TARGET_DIV can be set well.
---
gcc/config/csky/csky.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gcc/
gcc/ChangeLog:
* config/csky/csky.h
(FRAME_POINTER_REGNUM): Use HARD_FRAME_POINTER_REGNUM and
FRAME_POINTER_REGNUM instead of the signle definition. The
signle definition may not work well at simplify_subreg_regno().
(ELIMINABLE_REGS): Add for HARD_FRAME_POI
gcc/ChangeLog:
config/csky/csky.md (cskyv2_sextend_ldbs): New insn.
---
gcc/config/csky/csky.md | 10 ++
1 file changed, 10 insertions(+)
diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md
index c27d627..b980d4c 100644
--- a/gcc/config/csky/csky.md
+++ b/gcc/config/cs
gcc/testsuite/ChangeLog:
* gcc/testsuite/gcc.target/csky/fpuv3/fpuv3.exp: New.
* gcc/testsuite/gcc.target/csky/fpuv3/fpv3_div.c: New.
* gcc/testsuite/gcc.target/csky/fpuv3/fpv3_fadd.c: New.
* gcc/testsuite/gcc.target/csky/fpuv3/fpv3_fdtos.c: New.
* gcc/tests
gcc/ChangeLog:
* config/csky/csky.c (csky_can_change_mode_class): Delete.
For csky, HF/SF mode use the low bits of VREGS.
---
gcc/config/csky/csky.c | 16
1 file changed, 16 deletions(-)
diff --git a/gcc/config/csky/csky.c b/gcc/config/csky/csky.c
index 7f2af82..
gcc/ChangeLog:
* config/csky/csky.md (untyped_call): Emit clobber for return
registers to mark them used.
---
gcc/config/csky/csky.md | 4
1 file changed, 4 insertions(+)
diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md
index b980d4c..f91d851 100644
--- a/gcc/c
gcc/ChangeLog:
* config/csky/csky.c (TARGET_PROMOTE_PROTOTYPES): Use default.
---
gcc/config/csky/csky.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gcc/config/csky/csky.c b/gcc/config/csky/csky.c
index 67cdf9c..e4c92fe 100644
--- a/gcc/config/csky/csky.c
+++ b/gcc/config/csky/c
gcc/ChangeLog:
* config/csky/csky.c (ck810_legitimate_index_p): Modified for
support "base + index" with DF mode.
* config/csky/constraints.md ("Y"): New constraint for memory operands
without index register.
* config/csky/csky_insn_fpuv2.md
(fpuv3_m
gcc/ChangeLog:
* common/config/riscv/riscv-common.c
(riscv_subset_list::parsing_subset_version): Properly parse the letter
'p' in '-march'.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-12.c: New.
* gcc.target/riscv/attribute-19.c: New.
---
gcc/common/co
gcc/ChangeLog:
* common/config/riscv/riscv-common.c
(riscv_subset_list::parsing_subset_version): Properly parse the letter
'p' in '-march'.
(riscv_subset_list::parse_std_ext,
riscv_subset_list::parse_multiletter_ext): To handle errors generated
in ri
From: gengqi
gcc/ChangeLog:
* config/riscv/arch-canonicalize
(longext_sort): New function for sorting 'multi-letter'.
* config/riscv/multilib-generator: Adjusting the loop of 'alt' in
'alts'. The 'arch' may not be the first of 'alts'.
(_expand_combination):
From: gengqi
Think about this case:
./multilib-generator rv32imc-ilp32-rv32imac,rv32imacxthead-f
Here are 2 problems:
1. A unexpected 'xtheadf' extension was made.
2. The arch 'rv32imac' was not be created.
This modification fix these two, and also sorts 'multi-letter'.
gcc/ChangeLog:
24 matches
Mail list logo