75ab75b5273d2587ff37baa30751523bba42d68a
1 /* Machine description pattern tests. */
3 /* { dg-do compile } */
4 /* { dg-options "-save-temps -dP" } */
5 /* { dg-do run { target { s390_useable_hw } } } */
6 /* Skip test if -O0 is present on the command line:
8 { dg-skip-if "" { *-*-* } { "-O0" } { "" } }
10 Skip test if the -O option is missing from the command line
11 { dg-skip-if "" { *-*-* } { "*" } { "-O*" } }
14 __attribute__ ((noinline
))
15 unsigned int andc_vv(unsigned int a
, unsigned int b
)
17 /* { dg-final { scan-assembler ":16:.\* \{\\*andsi3_\(esa\|zarch\)\}" } } */
18 /* { dg-final { scan-assembler ":16:.\* \{\\*xorsi3\}" } } */
20 __attribute__ ((noinline
))
21 unsigned int andc_pv(unsigned int *a
, unsigned int b
)
23 /* { dg-final { scan-assembler ":22:.\* \{\\*andsi3_\(esa\|zarch\)\}" } } */
24 /* { dg-final { scan-assembler ":22:.\* \{\\*xorsi3\}" } } */
26 __attribute__ ((noinline
))
27 unsigned int andc_vp(unsigned int a
, unsigned int *b
)
29 /* { dg-final { scan-assembler ":28:.\* \{\\*andsi3_\(esa\|zarch\)\}" } } */
30 /* { dg-final { scan-assembler ":28:.\* \{\\*xorsi3\}" } } */
32 __attribute__ ((noinline
))
33 unsigned int andc_pp(unsigned int *a
, unsigned int *b
)
35 /* { dg-final { scan-assembler ":34:.\* \{\\*andsi3_\(esa\|zarch\)\}" } } */
36 /* { dg-final { scan-assembler ":34:.\* \{\\*xorsi3\}" } } */
38 /* { dg-final { scan-assembler-times "\tnr\?k\?\t" 4 } } */
39 /* { dg-final { scan-assembler-times "\txr\?k\?\t" 4 } } */
44 unsigned int a
= 0xc000000cu
;
45 unsigned int b
= 0x5000000au
;
46 unsigned int e
= 0x80000004u
;