]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/csky/csky_insn_fpuv2.md
C-SKY: Support fldrd/fstrd for fpuv2 and fldr.64/fstr.64 for fpuv3.
authorGeng Qi <gengqi@linux.alibaba.com>
Wed, 26 May 2021 03:29:19 +0000 (11:29 +0800)
committerXianmiao Qu <xianmiao_qu@c-sky.com>
Wed, 26 May 2021 06:36:39 +0000 (14:36 +0800)
commit41eba35b08a9bbd1f06b15e74942a94ea838d8cf
tree7cd3fd1a5f1d348d3500dd9c818417a0b5131f78
parent4553b95516176d578aa6ce81499509f6ec099bdb
C-SKY: Support fldrd/fstrd for fpuv2 and fldr.64/fstr.64 for fpuv3.

gcc/ChangeLog:

* config/csky/csky.c (ck810_legitimate_index_p): 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_movdf): Use "Y" instead of "m"
when mov between memory and general registers, and lower their priority.
* config/csky/csky_insn_fpuv3.md (fpuv2_movdf): Likewise.

gcc/testsuite/ChangeLog:

* gcc.target/csky/fldrd_fstrd.c: New.
* gcc.target/csky/fpuv3/fldr64_fstr64.c: New.
gcc/config/csky/constraints.md
gcc/config/csky/csky.c
gcc/config/csky/csky_insn_fpuv2.md
gcc/config/csky/csky_insn_fpuv3.md
gcc/testsuite/gcc.target/csky/fldrd_fstrd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/csky/fpuv3/fldr64_fstr64.c [new file with mode: 0644]