blob: c693128a791d4b824302957b15fdd396b4cc9440 [file] [log] [blame]
# The following targets fail 20020720-1.c for several reasons:
# (1) They implement floating point instructions via software, or
# (2) The "abs(x) < 0.0" comparison is split up in too many intermediate
# insns for combine to handle -- it can handle max three insns
# simultaneously. For example, for RISCy machines it is common that 1
# insn performs abs, 1 insn loads 0.0, 1 insn sets CCmode flags based
# upon the FP comparison, and a 4th insn makes a conditional branch
# based upon the appropriate bits in the flags. On the other hand, if
# for example the comparison insn takes 0.0 as an operand, the
# combiner is able to see all intermediate instructions simultaneously
# and can make the optimization.
# Don't XFAIL at -O0, that should never fail.
if { [istarget "sparc*-*-*"] } {
set torture_eval_before_compile {
global compiler_conditional_xfail_data
set compiler_conditional_xfail_data {
"PR opt/10348" \
{ "*-*-*" } \
{ "-fpic" "-fPIC" } \
{ "-O0" }
}
}
return 0
}
set torture_eval_before_compile {
global compiler_conditional_xfail_data
set compiler_conditional_xfail_data {
"This test fails to optimize completely on certain platforms." \
{ "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" \
"h8300*-*-*" "frv-*-*" "powerpc-*-*spe" } \
{ "*" } \
{ "-O0" }
}
}
return 0