aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2018-04-23 11:55:14 +0200
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2018-04-23 11:55:14 +0200
commit9ba5e5fceeff0d9a752b8c0a00344b3a187d08bb (patch)
tree0a0acdfb013a4594fd3eac4b4293a250dfe477eb /gcc
parent31d2e01ad472f11ebfd9cc3405238e90cf25a09c (diff)
downloadgcc-9ba5e5fceeff0d9a752b8c0a00344b3a187d08bb.zip
gcc-9ba5e5fceeff0d9a752b8c0a00344b3a187d08bb.tar.gz
gcc-9ba5e5fceeff0d9a752b8c0a00344b3a187d08bb.tar.bz2
[ARC] Fix FLS, SETI patterns.
Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md ("vunspec"): Delete it, unify all the unspec enums into a single definition. (fls): Fix predicates and printing. (seti): Likewise. From-SVN: r259558
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arc/arc.md14
2 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6044fbc..4dcf45e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2018-04-23 Claudiu Zissulescu <claziss@synopsys.com>
+ * config/arc/arc.md ("vunspec"): Delete it, unify all the unspec
+ enums into a single definition.
+ (fls): Fix predicates and printing.
+ (seti): Likewise.
+
+2018-04-23 Claudiu Zissulescu <claziss@synopsys.com>
+
* config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove.
* config/arc/arc.c (arc_expand_builtin): Sleep accepts registers
and short u6 immediate.
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index c4bc300..d19e99d 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -136,9 +136,7 @@
UNSPEC_ARC_VMPY2H
UNSPEC_ARC_VMPY2HU
UNSPEC_ARC_STKTIE
- ])
-(define_c_enum "vunspec" [
VUNSPEC_ARC_RTIE
VUNSPEC_ARC_SYNC
VUNSPEC_ARC_BRK
@@ -5802,21 +5800,19 @@
})
(define_insn "fls"
- [(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
- (unspec:SI [(match_operand:SI 1 "general_operand" "cL,Cal")]
+ [(set (match_operand:SI 0 "register_operand" "=r,r")
+ (unspec:SI [(match_operand:SI 1 "nonmemory_operand" "rL,Cal")]
UNSPEC_ARC_FLS))]
"TARGET_NORM && TARGET_V2"
- "@
- fls \t%0, %1
- fls \t%0, %1"
+ "fls\\t%0,%1"
[(set_attr "length" "4,8")
(set_attr "type" "two_cycle_core,two_cycle_core")])
(define_insn "seti"
- [(unspec_volatile:SI [(match_operand:SI 0 "general_operand" "rL")]
+ [(unspec_volatile:SI [(match_operand:SI 0 "nonmemory_operand" "rL")]
VUNSPEC_ARC_SETI)]
"TARGET_V2"
- "seti %0"
+ "seti\\t%0"
[(set_attr "length" "4")
(set_attr "type" "misc")])