diff mbox series

[RS6000] Rotate testcase

Message ID 20181113032116.GK29784@bubble.grove.modra.org
State New
Headers show
Series [RS6000] Rotate testcase | expand

Commit Message

Alan Modra Nov. 13, 2018, 3:21 a.m. UTC
The testcase exercises one of the rotate patterns.  Segher okayed the
testcase a long time ago, and the comments are obvious.
Committed rev 266046.

gcc/
	* config/rs6000/predicates.md (logical_const_operand),
	(logical_operand): Correct comment.
gcc/testsuite/
	* gcc.target/powerpc/rotmask.c: New.
diff mbox series

Patch

diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md
index 805d92ea1f1..1af01935b5e 100644
--- a/gcc/config/rs6000/predicates.md
+++ b/gcc/config/rs6000/predicates.md
@@ -922,7 +922,7 @@  (define_predicate "non_add_cint_operand"
 		    && !satisfies_constraint_L (op)")))
 
 ;; Return 1 if the operand is a constant that can be used as the operand
-;; of an OR or XOR.
+;; of an AND, OR or XOR.
 (define_predicate "logical_const_operand"
   (match_code "const_int")
 {
@@ -935,7 +935,7 @@  (define_predicate "logical_const_operand"
 })
 
 ;; Return 1 if the operand is a non-special register or a constant that
-;; can be used as the operand of an OR or XOR.
+;; can be used as the operand of an AND, OR or XOR.
 (define_predicate "logical_operand"
   (ior (match_operand 0 "gpc_reg_operand")
        (match_operand 0 "logical_const_operand")))
diff --git a/gcc/testsuite/gcc.target/powerpc/rotmask.c b/gcc/testsuite/gcc.target/powerpc/rotmask.c
new file mode 100644
index 00000000000..4d1b9174921
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/rotmask.c
@@ -0,0 +1,8 @@ 
+/* { dg-require-effective-target lp64 } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler-not "rotldi" } } */
+
+unsigned long f (unsigned long x)
+{
+  return ((x << 1) | (x >> 63)) & 0xffffffff;
+}