aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEdwin Lu <ewlu@rivosinc.com>2023-09-11 09:56:06 -0700
committerEdwin Lu <ewlu@rivosinc.com>2023-09-11 09:56:06 -0700
commit4074aede45e3d8fbdb8fe28e1f084e869d3546f5 (patch)
tree3a8fbbf988a20a25410c155d49b9d46dda5cb269 /gcc
parentd8751d9e32214380e6fdbb9e47f13192cc899469 (diff)
downloadgcc-4074aede45e3d8fbdb8fe28e1f084e869d3546f5.zip
gcc-4074aede45e3d8fbdb8fe28e1f084e869d3546f5.tar.gz
gcc-4074aede45e3d8fbdb8fe28e1f084e869d3546f5.tar.bz2
RISC-V: Add Types to Un-Typed Zicond Instructions
Creates a new "zicond" type and updates all zicond instructions with that type. gcc/ChangeLog: * config/riscv/riscv.md: Add "zicond" type * config/riscv/zicond.md: Update types Signed-off-by: Edwin Lu <ewlu@rivosinc.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/riscv/riscv.md3
-rw-r--r--gcc/config/riscv/zicond.md8
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index a6046c1..01cf623 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -318,6 +318,7 @@
;; crypto cryptography instructions
;; pushpop zc push and pop instructions
;; mvpair zc move pair instructions
+;; zicond zicond instructions
;; Classification of RVV instructions which will be added to each RVV .md pattern and used by scheduler.
;; rdvlenb vector byte length vlenb csrr read
;; rdvl vector length vl csrr read
@@ -427,7 +428,7 @@
mtc,mfc,const,arith,logical,shift,slt,imul,idiv,move,fmove,fadd,fmul,
fmadd,fdiv,fcmp,fcvt,fsqrt,multi,auipc,sfb_alu,nop,trap,ghost,bitmanip,
rotate,clmul,min,max,minu,maxu,clz,ctz,cpop,
- atomic,condmove,cbo,crypto,pushpop,mvpair,rdvlenb,rdvl,wrvxrm,wrfrm,
+ atomic,condmove,cbo,crypto,pushpop,mvpair,zicond,rdvlenb,rdvl,wrvxrm,wrfrm,
rdfrm,vsetvl,vlde,vste,vldm,vstm,vlds,vsts,
vldux,vldox,vstux,vstox,vldff,vldr,vstr,
vlsegde,vssegte,vlsegds,vssegts,vlsegdux,vlsegdox,vssegtux,vssegtox,vlsegdff,
diff --git a/gcc/config/riscv/zicond.md b/gcc/config/riscv/zicond.md
index 6627be3..05e7348 100644
--- a/gcc/config/riscv/zicond.md
+++ b/gcc/config/riscv/zicond.md
@@ -40,7 +40,7 @@
else
gcc_unreachable ();
}
-)
+[(set_attr "type" "zicond")])
(define_insn "*czero.<nez>.<GPR:mode><X:mode>"
[(set (match_operand:GPR 0 "register_operand" "=r")
@@ -57,7 +57,7 @@
else
gcc_unreachable ();
}
-)
+[(set_attr "type" "zicond")])
;; Special optimization under eq/ne in primitive semantics
(define_insn "*czero.eqz.<GPR:mode><X:mode>.opt1"
@@ -75,7 +75,7 @@
else
gcc_unreachable ();
}
-)
+[(set_attr "type" "zicond")])
(define_insn "*czero.nez.<GPR:mode><X:mode>.opt2"
[(set (match_operand:GPR 0 "register_operand" "=r")
@@ -92,7 +92,7 @@
else
gcc_unreachable ();
}
-)
+[(set_attr "type" "zicond")])
;; Combine creates this form in some cases (particularly the coremark
;; CRC loop).