llvm-project/clang/test
Erich Keane 348f22eac8 Correct gcc vector splat conversion from float to int-vector
In looking into some other code, I came across this issue where a
float converted to a gcc integer vector via a splat causes it to miss
the float-to-integral cast, which causes some REALLY strange codegen
bugs.

The AST looked like:
`-ImplicitCastExpr <col:13>
'gcc_int_2':'__attribute__((__vector_size__(2 * sizeof(int)))) int' <VectorSplat>
        `-ImplicitCastExpr <col:13> 'float' <LValueToRValue>
                  `-DeclRefExpr <col:13> 'float' lvalue ParmVar
                  0x556f16a5dc90 'f' 'float'

Despite the type of the VectorSplat cast as printed, it ended up
becoming a vector of float, which caused non-matching instructions. For
example, IntVector + a float constant resulted in:

add <2 x i32> %8, <2 x float> <float 3.000000e+00, float 3.000000e+00>

This patch corrects the conversion so that the float is first converted
to an integral, THEN splatted.
2019-12-13 12:27:31 -08:00
..
ARCMT
AST [AST] Enable expression of OpenCL language address spaces an attribute 2019-12-05 12:24:06 +03:00
ASTMerge
Analysis [analyzer] Do not cache out on some shared implicit AST nodes 2019-12-11 17:15:12 -08:00
CXX [c++20] Implement P1946R0: allow defaulted comparisons to take their 2019-12-10 19:54:35 -08:00
ClangScanDeps Revert "[clang][clang-scan-deps] Aggregate the full dependency information." 2019-12-11 16:35:55 -08:00
CodeCompletion [clangd] Show lambda signature for lambda autocompletions 2019-11-22 12:48:06 +01:00
CodeGen [ARM][MVE][Intrinsics] All vqdmulhq/vqrdmulhq tests should be for signed numbers. 2019-12-13 17:29:59 +00:00
CodeGenCUDA clang: Add -fconvergent-functions flag 2019-11-19 23:20:15 +05:30
CodeGenCXX Correct gcc vector splat conversion from float to int-vector 2019-12-13 12:27:31 -08:00
CodeGenCoroutines
CodeGenObjC Default to -fuse-init-array 2019-12-12 10:32:56 -08:00
CodeGenObjCXX Debug Info: Strengthen the synthesized-property-cleanup.mm test, NFC 2019-12-10 13:39:22 -08:00
CodeGenOpenCL [OpenCL] Fix mangling of single-overload builtins 2019-12-03 11:09:16 +00:00
CodeGenOpenCLCXX [OpenCL] Handle address space conversions for constexpr (PR44177) 2019-12-09 11:09:16 +00:00
Coverage
CoverageMapping Revert "[Coverage] Revise format to reduce binary size" 2019-12-04 10:35:14 -08:00
Driver Default to -fuse-init-array 2019-12-12 10:32:56 -08:00
FixIt
Format [clang-format] Proposal for clang-format to give compiler style warnings 2019-10-13 14:51:45 +00:00
Frontend [LTO] Support for embedding bitcode section during LTO 2019-12-12 12:34:19 -08:00
Headers [ARM][CMSE] Add CMSE header and builtins 2019-12-12 15:01:14 +00:00
Import Tighten up CHECK lines added in a9f10ebffa to work on ARM. 2019-12-05 18:35:08 -08:00
Index Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working directory 2019-12-03 15:44:01 -08:00
Integration
InterfaceStubs [clang][IFS] Allow 2 output files when using -o and -c with clang IFS stubs. 2019-12-09 14:47:17 -05:00
Layout
Lexer Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
Misc [WebAssembly] Add new `export_name` clang attribute for controlling wasm export names 2019-12-11 11:54:57 -08:00
Modules Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working directory 2019-12-03 15:44:01 -08:00
OpenMP [OPENMP50]Fix possible conflict when emitting an alias for the functions 2019-12-12 15:48:33 -05:00
PCH [c++20] Fix handling of unqualified lookups from a defaulted comparison 2019-12-09 17:40:36 -08:00
Parser [Diagnsotics] Small Improvement on -Wmisleading-indentation 2019-12-12 14:52:47 +01:00
Preprocessor [PS4] Predefine the __SCE__ macro for the x86_64-scei-ps4 triple 2019-12-12 11:00:09 -08:00
Profile Revert "[Coverage] Revise format to reduce binary size" 2019-12-04 10:35:14 -08:00
Refactor
Rewriter
Sema [Wdocumentation] Use C2x/C++14 deprecated attribute 2019-12-10 21:16:18 +01:00
SemaCUDA [CUDA][HIP} Add a test for constexpr default ctor 2019-10-11 02:43:28 +00:00
SemaCXX [Sema] Improve diagnostic about addr spaces for overload candidates 2019-12-13 12:35:18 +00:00
SemaObjC Set a source location for Objective-C accessor stubs 2019-12-05 12:45:10 -08:00
SemaObjCXX [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object 2019-10-17 15:27:04 +00:00
SemaOpenCL [Sema] Improve diagnostic about addr spaces for overload candidates 2019-12-13 12:35:18 +00:00
SemaOpenCLCXX [Sema] Improve diagnostic about addr spaces for overload candidates 2019-12-13 12:35:18 +00:00
SemaSYCL [SYCL] Add sycl_kernel attribute for accelerated code outlining 2019-12-03 16:13:22 +03:00
SemaTemplate Update line number after previous patch added an additional unsupported 2019-12-12 14:45:05 -08:00
TableGen
Templight
Tooling Prefer 'env not' over 'not env' in tests. 2019-10-14 01:41:56 +00:00
Unit
VFS Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working directory 2019-12-03 15:44:01 -08:00
clang-rename
.clang-format
CMakeLists.txt [gen_ast_dump_json_test.py] Copy to binary directory to omit --clang argument 2019-11-15 12:52:56 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg.py Revert "[analyzer] Add test directory for scan-build." 2019-11-05 14:03:36 -08:00
lit.site.cfg.py.in
make_test_dirs.pl