(define_split for and_shl_scratch):
authorJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 6 Nov 1996 03:48:54 +0000 (03:48 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 6 Nov 1996 03:48:54 +0000 (03:48 +0000)
Use rtx_equal_p on the operands to find out which alternative is used.

From-SVN: r13102

gcc/config/sh/sh.md

index 5e99bfd3caaec08f1cd03cd2eac6c102f4c82295..07bc69afdbe33820527d05d54cffa84495d9a405 100644 (file)
   [(use (reg:SI 0))]
   "
 {
-  rtx and_source = operands[1];
+  rtx and_source = operands[rtx_equal_p (operands[0], operands[1]) ? 3 : 1];
 
   if (INTVAL (operands[2]))
     {
       gen_shifty_op (LSHIFTRT, operands);
-      and_source = operands[3];
     }
   emit_insn (gen_andsi3 (operands[0], operands[0], and_source));
   operands[2] = operands[4];