summaryrefslogtreecommitdiffstats
path: root/gcc/config/m32c/m32c.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m32c/m32c.md')
-rw-r--r--gcc/config/m32c/m32c.md29
1 files changed, 25 insertions, 4 deletions
diff --git a/gcc/config/m32c/m32c.md b/gcc/config/m32c/m32c.md
index aa6d3d7ca27..f1930d4fdf3 100644
--- a/gcc/config/m32c/m32c.md
+++ b/gcc/config/m32c/m32c.md
@@ -44,14 +44,35 @@
(UNS_EH_EPILOGUE 3)
(UNS_PUSHM 4)
(UNS_POPM 5)
+ (UNS_SMOVF 6)
+ (UNS_SSTR 7)
+ (UNS_SCMPU 8)
+ (UNS_SMOVU 9)
])
+;; n = no change, x = clobbered. The first 16 values are chosen such
+;; that the enum has one bit set for each flag.
+(define_attr "flags" "x,c,z,zc,s,sc,sz,szc,o,oc,oz,ozc,os,osc,osz,oszc,n" (const_string "n"))
+(define_asm_attributes [(set_attr "flags" "x")])
+
+(define_mode_macro QHI [QI HI])
+(define_mode_macro HPSI [(HI "TARGET_A16") (PSI "TARGET_A24")])
+(define_mode_macro QHPSI [QI HI (PSI "TARGET_A24")])
+(define_mode_macro QHSI [QI HI (SI "TARGET_A24")])
+(define_mode_attr bwl [(QI "b") (HI "w") (PSI "l") (SI "l")])
+
+(define_code_macro any_cond [eq ne gt ge lt le gtu geu ltu leu])
+(define_code_macro eqne_cond [eq ne])
+(define_code_macro gl_cond [gt ge lt le gtu geu ltu leu])
+
+
+
(define_insn "nop"
[(const_int 0)]
""
"nop")
-;; n = no change, x = clobbered. The first 16 values are chosen such
-;; that the enum has one bit set for each flag.
-(define_attr "flags" "x,c,z,zc,s,sc,sz,szc,o,oc,oz,ozc,os,osc,osz,oszc,n" (const_string "n"))
-(define_asm_attributes [(set_attr "flags" "x")])
+(define_insn "no_insn"
+ [(const_int 1)]
+ ""
+ "")
OpenPOWER on IntegriCloud