llvm-6502/test
Sanjay Patel 0056820a48 Make the sqrt intrinsic return undef for a negative input.
As discussed here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140609/220598.html

And again here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-September/077168.html

The sqrt of a negative number when using the llvm intrinsic is undefined. 
We should return undef rather than 0.0 to match the definition in the LLVM IR lang ref.

This change should not affect any code that isn't using "no-nans-fp-math"; 
ie, no-nans is a requirement for generating the llvm intrinsic in place of a sqrt function call.

Unfortunately, the behavior introduced by this patch will not match current gcc, xlc, icc, and 
possibly other compilers. The current clang/llvm behavior of returning 0.0 doesn't either. 
We knowingly approve of this difference with the other compilers in an attempt to flag code 
that is invoking undefined behavior.

A front-end warning should also try to convince the user that the program will fail:
http://llvm.org/bugs/show_bug.cgi?id=21093

Differential Revision: http://reviews.llvm.org/D5527



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218803 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-01 20:36:33 +00:00
..
Analysis Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
Assembler Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
Bindings Extend C disassembler API to allow specifying target features 2014-09-30 16:31:40 +00:00
Bitcode Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
BugPoint
CodeGen [x86] Sort the ISA-specific RUN lines for vector-sext.ll to go from 2014-10-01 20:32:44 +00:00
DebugInfo Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
ExecutionEngine [MCJIT] Make sure we test ARM BR24 relocations with both internal and external 2014-09-11 22:43:36 +00:00
Feature [AArch64] Update test case to pass with post-RA MI scheduler. 2014-09-13 03:23:23 +00:00
FileCheck
Instrumentation Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
Integer
JitListener Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
Linker Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
LTO LTO: Add missing target triple from r218784 2014-10-01 18:49:58 +00:00
MC [AArch64] Allow access to all system registers with MRS/MSR instructions. 2014-10-01 10:13:59 +00:00
Object Nuke MCAnalysis. 2014-09-02 22:32:20 +00:00
Other [lit] Parse all strings as UTF-8 rather than ASCII. 2014-09-12 16:46:05 +00:00
TableGen [AVX512] Added intrinsics for VPCMPEQB and VPCMPEQW. 2014-09-30 11:32:22 +00:00
tools Revert r218673 'llvm-cov: add test for report's function & file association.' 2014-09-30 14:48:12 +00:00
Transforms Make the sqrt intrinsic return undef for a negative input. 2014-10-01 20:36:33 +00:00
Unit
Verifier Verifier: Don't reject varargs callee cleanup functions 2014-08-29 21:25:28 +00:00
YAMLParser
.clang-format
CMakeLists.txt Add LLVMgold target to test dependencies. 2014-09-10 22:20:49 +00:00
lit.cfg pass environment when invoking llvm-config from lit.cfg 2014-09-24 18:37:48 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh