URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [ieee/] [compare-fp-3.c] - Rev 12
Compare with Previous | Blame | View Log
/* Copyright (C) 2004 Free Software Foundation. Test for composite comparison always true/false optimization. Written by Paolo Bonzini, 26th May 2004. */ extern void link_error0 (); extern void link_error1 (); void test1 (float x, float y) { if ((x==y) && (x!=y)) link_error0(); } void test2 (float x, float y) { if ((x<y) && (x>y)) link_error0(); } void test3 (float x, float y) { if ((x<y) && (y<x)) link_error0(); } void test4 (float x, float y) { if ((x==y) || (x!=y)) { } else link_error1 (); } void test5 (float x, float y) { if (__builtin_isunordered (x, y) || (x>=y) || (x<y)) { } else link_error1 (); } void test6 (float x, float y) { if (__builtin_isunordered (y, x) || (x<=y) || (y<x)) { } else link_error1 (); } void test7 (float x, float y) { if (__builtin_isunordered (x, y) || !__builtin_isunordered (x, y)) { } else link_error1 (); } void all_tests (float x, float y) { test1 (x, y); test2 (x, y); test3 (x, y); test4 (x, y); test5 (x, y); test6 (x, y); test7 (x, y); } int main () { all_tests (0, 0); all_tests (1, 2); all_tests (4, 3); return 0; } #ifndef __OPTIMIZE__ void link_error0() {} void link_error1() {} #endif /* ! __OPTIMIZE__ */