diff options
author | Xi Ruoyao <xry111@xry111.site> | 2024-02-25 20:40:41 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2024-02-29 14:48:18 +0800 |
commit | c556ea076dcbfe2a3059dd0ad2e06a0b1d1fa89b (patch) | |
tree | 8fddb4d71bc397629275f726222218128cf6d90d /gcc/config/loongarch | |
parent | 3685fae23bb00898749dfc155212c9c5cd3a0980 (diff) | |
download | gcc-c556ea076dcbfe2a3059dd0ad2e06a0b1d1fa89b.zip gcc-c556ea076dcbfe2a3059dd0ad2e06a0b1d1fa89b.tar.gz gcc-c556ea076dcbfe2a3059dd0ad2e06a0b1d1fa89b.tar.bz2 |
LoongArch: NFC: Deduplicate crc instruction defines
Introduce an iterator for UNSPEC_CRC and UNSPEC_CRCC to make the next
change easier.
gcc/ChangeLog:
* config/loongarch/loongarch.md (CRC): New define_int_iterator.
(crc): New define_int_attr.
(loongarch_crc_w_<size>_w, loongarch_crcc_w_<size>_w): Unify
into ...
(loongarch_<crc>_w_<size>_w): ... here.
Diffstat (limited to 'gcc/config/loongarch')
-rw-r--r-- | gcc/config/loongarch/loongarch.md | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md index dffa41b..9646fa90 100644 --- a/gcc/config/loongarch/loongarch.md +++ b/gcc/config/loongarch/loongarch.md @@ -4251,24 +4251,16 @@ (define_mode_iterator QHSD [QI HI SI DI]) +(define_int_iterator CRC [UNSPEC_CRC UNSPEC_CRCC]) +(define_int_attr crc [(UNSPEC_CRC "crc") (UNSPEC_CRCC "crcc")]) -(define_insn "loongarch_crc_w_<size>_w" +(define_insn "loongarch_<crc>_w_<size>_w" [(set (match_operand:SI 0 "register_operand" "=r") (unspec:SI [(match_operand:QHSD 1 "register_operand" "r") (match_operand:SI 2 "register_operand" "r")] - UNSPEC_CRC))] + CRC))] "" - "crc.w.<size>.w\t%0,%1,%2" - [(set_attr "type" "unknown") - (set_attr "mode" "<MODE>")]) - -(define_insn "loongarch_crcc_w_<size>_w" - [(set (match_operand:SI 0 "register_operand" "=r") - (unspec:SI [(match_operand:QHSD 1 "register_operand" "r") - (match_operand:SI 2 "register_operand" "r")] - UNSPEC_CRCC))] - "" - "crcc.w.<size>.w\t%0,%1,%2" + "<crc>.w.<size>.w\t%0,%1,%2" [(set_attr "type" "unknown") (set_attr "mode" "<MODE>")]) |