OSDN Git Service

8d14adc2f26e87c7f981444c3fe9ecb48f778b65
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / 20020720-1.x
1 # The following targets fail 20020720-1.c for several reasons:
2 # (1) They implement floating point instructions via software, or
3 # (2) The "abs(x) < 0.0" comparison is split up in too many intermediate
4 #     insns for combine to handle -- it can handle max three insns
5 #     simultaneously.  For example, for RISCy machines it is common that 1
6 #     insn performs abs, 1 insn loads 0.0, 1 insn sets CCmode flags based
7 #     upon the FP comparison, and a 4th insn makes a conditional branch
8 #     based upon the appropriate bits in the flags.  On the other hand, if
9 #     for example the comparison insn takes 0.0 as an operand, the
10 #     combiner is able to see all intermediate instructions simultaneously
11 #     and can make the optimization.
12
13 # Don't XFAIL at -O0, that should never fail.
14 if { [istarget "sparc*-*-*"] } {
15     set torture_eval_before_compile {
16         global compiler_conditional_xfail_data
17         set compiler_conditional_xfail_data {
18             "PR opt/10348" \
19             { "*-*-*" } \
20             { "-fpic" "-fPIC" } \
21             { "-O0" }
22         }
23     }
24     return 0
25 }
26
27 set torture_eval_before_compile {
28     global compiler_conditional_xfail_data
29     set compiler_conditional_xfail_data {
30         "This test fails to optimize completely on certain platforms." \
31         { "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" \
32           "h8300*-*-*" "frv-*-*" "powerpc*-*-*" "rs6000-*-*" "bfin*-*" \
33           "m32r*-*-*" "avr-*-*"} \
34         { "*" } \
35         { "-O0" }
36     }
37 }
38
39 return 0