Projects
openEuler:24.03:SP1:Everything
gcc
_service:tar_scm:0139-LoongArch-NFC-Deduplicate...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0139-LoongArch-NFC-Deduplicate-crc-instruction-defines.patch of Package gcc
From 7a4761a31454f999331e8aa5f831e26e249c4295 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 25 Feb 2024 20:40:41 +0800 Subject: [PATCH 139/188] 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. --- gcc/config/loongarch/loongarch.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md index 9356194fe..b5ad9eada 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>")]) -- 2.43.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2