summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r--gcc/config/rs6000/rs6000.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 1ceb393efde..6c9bae934d1 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -149,6 +149,8 @@
UNSPEC_PLTSEQ
UNSPEC_PLT16_HA
UNSPEC_CFUGED
+ UNSPEC_CNTLZDM
+ UNSPEC_CNTTZDM
])
;;
@@ -2463,6 +2465,24 @@
"cfuged %0,%1,%2"
[(set_attr "type" "integer")])
+(define_insn "cntlzdm"
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "gpc_reg_operand" "r")]
+ UNSPEC_CNTLZDM))]
+ "TARGET_FUTURE && TARGET_POWERPC64"
+ "cntlzdm %0,%1,%2"
+ [(set_attr "type" "integer")])
+
+(define_insn "cnttzdm"
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "gpc_reg_operand" "r")]
+ UNSPEC_CNTTZDM))]
+ "TARGET_FUTURE && TARGET_POWERPC64"
+ "cnttzdm %0,%1,%2"
+ [(set_attr "type" "integer")])
+
(define_insn "cmpb<mode>3"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")