diff options
author | Geng Qi <gengqi@linux.alibaba.com> | 2021-05-25 18:45:25 +0800 |
---|---|---|
committer | Xianmiao Qu <xianmiao_qu@c-sky.com> | 2021-05-26 10:05:18 +0800 |
commit | 94079e642d95ba4bcb75354d6cd628a473a94479 (patch) | |
tree | 779faf1ac9a00a71332bd536cdd178dbf1d601a0 /gcc/config/csky | |
parent | 1fd76b24306ed4df4cf9e797d900699ed59ce7f7 (diff) | |
download | gcc-94079e642d95ba4bcb75354d6cd628a473a94479.zip gcc-94079e642d95ba4bcb75354d6cd628a473a94479.tar.gz gcc-94079e642d95ba4bcb75354d6cd628a473a94479.tar.bz2 |
C-SKY: Add instruction "ld.bs".
gcc/
* config/csky/csky.md (cskyv2_sextend_ldbs): New.
gcc/testsuite/
* gcc.target/csky/ldbs.c: New.
Diffstat (limited to 'gcc/config/csky')
-rw-r--r-- | gcc/config/csky/csky.md | 10 |
1 files changed, 10 insertions, 0 deletions
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/csky/csky.md @@ -1533,6 +1533,7 @@ }" ) +;; hi -> si (define_insn "extendhisi2" [(set (match_operand:SI 0 "register_operand" "=r") (sign_extend:SI (match_operand:HI 1 "register_operand" "r")))] @@ -1557,6 +1558,15 @@ "sextb %0, %1" ) +(define_insn "*cskyv2_sextend_ldbs" + [(set (match_operand:SI 0 "register_operand" "=r") + (sign_extend:SI (match_operand:QI 1 "csky_simple_mem_operand" "m")))] + "CSKY_ISA_FEATURE (E2)" + "ld.bs\t%0, %1" + [(set_attr "length" "4") + (set_attr "type" "load")] +) + ;; qi -> hi (define_insn "extendqihi2" [(set (match_operand:HI 0 "register_operand" "=r") |