This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: S/390: Fix warnings in "*setmem_long..." patterns.


On 12/02/2015 11:12 AM, Dominik Vogt wrote:
> Hopefully, this is correct now; it does pass the functional test case
> that's part of the patch.  Unfortunately the define_insn patters
> had to be duplicated because of the new subreg offsets.  

The number of patterns could possibly be reduced using the define_subst machinery.  I'm looking into
this for some other changes. No need to do this right now. We can do this later on-top.

> Not sure
> whether I've missed any "use" patterns that should be added.

With adding the length operand explicitly to the unspec we should have all the uses of the register
pair covered. To my understanding it is correct to remove these as done with your patch.

+   ; Convert Pmode to BLKmode
+   UNSPEC_REPLICATE_BYTE

The comment does not match.

+++ b/gcc/testsuite/gcc.target/s390/md/setmem_long-1.c
@@ -0,0 +1,64 @@
+/* Machine description pattern tests.  */
+
+/* { dg-do run } */
+/* { dg-options "-mmvcle -dP" } */
...
+/* Check that the right patterns are used.  */
+/* { dg-final { scan-assembler-times {c:12 .*{[*]setmem_long_[36][14]z?}} 1 } } */
+/* { dg-final { scan-assembler-times {c:17 .*{[*]setmem_long_[36][14]z?}} 1 } } */

Don't you need a --save-temps as part of the options?

Apart from these things the patch looks good to me now. I'll wait two days for other comments before
applying it (I can do the remaining changes while doing the commit.).

Thanks!

-Andreas-


> 
> Ciao
> 
> Dominik ^_^  ^_^
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]