llvm-project/clang/test
Bruno Cardoso Lopes 2ebe18b609 [SemaExpr] Support assignments from vector to scalars with same size
Before r266366, clang used to support constructs like:

  typedef __attribute__((vector_size(8))) double float64x1_t;
  typedef __attribute__((vector_size(16))) double float64x2_t;
  float64x1_t vget_low_f64(float64x2_t __p0);

  double y = 3.0 + vget_low_f64(v);

But it would reject:

  double y = vget_low_f64(v) + 3.0;

It also always rejected assignments:

  double y = vget_low_f64(v);

This patch: (a) revivies the behavior of `3.0 + vget_low_f64(v)` prior to
r266366, (b) add support for `vget_low_f64(v) + 3.0` and (c) add support for
assignments.

These vector semantics have never really been tied up but it seems
odd that we used to support some binop froms but do not support
assignment. If we did support scalar for the purposes of arithmetic, we
should probably be able to reinterpret as scalar for the purposes of
assignment too.

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

rdar://problem/26093791

llvm-svn: 274646
2016-07-06 18:05:23 +00:00
..
ARCMT Re-apply "test: Use add_lit_testsuites so that subsets of tests can be specified" 2016-07-05 17:54:40 +00:00
ASTMerge Added support to the ASTImporter for C++ constructor initializers. 2016-05-16 20:48:03 +00:00
Analysis DeadStoresChecker: Don't warn about dead stores into volatile variables 2016-06-24 16:26:43 +00:00
CXX [Sema] Fix a bug where pack expansion was not expanded in type alias 2016-07-05 17:57:24 +00:00
CodeCompletion [CodeCompletion] Allow system headers providing private symbols with a single underscore. 2016-07-01 01:17:02 +00:00
CodeGen Add negative test for TBAA 2016-07-06 07:13:49 +00:00
CodeGenCUDA [CUDA] Give templated device functions internal linkage, templated kernels external linkage. 2016-06-30 18:41:33 +00:00
CodeGenCXX Revert "Include debug info for nested structs and classes" 2016-07-06 15:15:38 +00:00
CodeGenObjC Allow 'nodebug' on local variables. 2016-06-16 00:42:36 +00:00
CodeGenObjCXX Fix mangled name of method with ns_consumed parameters. 2016-05-25 14:15:08 +00:00
CodeGenOpenCL [OpenCL] An implementation of device side enqueue (DSE) from OpenCL v2.0 s6.13.17. 2016-07-05 11:31:24 +00:00
Coverage
CoverageMapping [Coverage] Push a new region when handling CXXTryStmts 2016-06-22 19:57:58 +00:00
Driver [Sparc] Allow LEON cpu models to be selected with -mcpu 2016-07-04 08:56:08 +00:00
FixIt ObjC Class Property: diagnostics when accessing a class property using instance. 2016-06-28 23:01:49 +00:00
Format
Frontend [OpenCL] Allow -std={cl|CL}{|1.1|1.2|2.0} in driver 2016-06-17 17:19:28 +00:00
Headers Attempting to fix lit test test/Headers/opencl-c-header.cl on cygwin. 2016-06-27 21:43:00 +00:00
Index [libclang] Sync-up the way top-level decls in an ASTUnit are handled with how decls in a DeclContext are handled. 2016-07-01 19:10:54 +00:00
Integration
Layout [MS ABI] Implement __declspec(empty_bases) and __declspec(layout_version) 2016-05-23 17:16:12 +00:00
Lexer Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths. 2016-06-13 20:40:21 +00:00
Misc AvailabilityAttr: we accept "macos" as the platform name. 2016-06-28 20:55:30 +00:00
Modules Restructure the propagation of -fPIC/-fPIE. 2016-06-23 15:07:32 +00:00
OpenMP [OpenMP] Sema and parsing for 'distribute simd' pragma 2016-07-06 04:45:38 +00:00
PCH Re-apply "test: Use add_lit_testsuites so that subsets of tests can be specified" 2016-07-05 17:54:40 +00:00
Parser Fix typo-correction crash if a typo occurs within the operand of a 2016-06-30 20:24:30 +00:00
Preprocessor [Driver][AArch64] Add support for Broadcom Vulcan core. 2016-06-29 10:00:31 +00:00
Profile Remove MaxFunctionCount module flag annotation. 2016-06-20 20:48:32 +00:00
Rewriter
Sema [SemaExpr] Support assignments from vector to scalars with same size 2016-07-06 18:05:23 +00:00
SemaCUDA [CUDA] Add implicit conversion of __launch_bounds__ arguments to rvalue. 2016-06-06 22:54:57 +00:00
SemaCXX C++14 init-capture: error out instead of crashing. 2016-07-01 22:27:16 +00:00
SemaObjC ObjC Class Property: diagnostics when accessing a class property using instance. 2016-06-28 23:01:49 +00:00
SemaObjCXX Re-commit r273548, reverted in r273589, with a fix to not produce 2016-06-23 19:02:52 +00:00
SemaOpenCL [OpenCL] An implementation of device side enqueue (DSE) from OpenCL v2.0 s6.13.17. 2016-07-05 11:31:24 +00:00
SemaTemplate Revert accidential "[MSVC] Late parsing of in-class defined member functions in template" 2016-06-15 11:24:54 +00:00
TableGen
Tooling Back out the test case for r266973 for now. 2016-04-21 10:46:14 +00:00
Unit Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 06:54:46 +00:00
VFS [VFS] Fix status() of opened redirected file 2015-12-10 23:41:39 +00:00
.clang-format
CMakeLists.txt Re-apply "test: Use add_lit_testsuites so that subsets of tests can be specified" 2016-07-05 17:54:40 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg Port some more debug info tests on Windows 2016-06-30 17:41:27 +00:00
lit.site.cfg.in Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 06:54:46 +00:00
make_test_dirs.pl