diff options
author | Jim Grosbach <grosbach@apple.com> | 2014-08-28 22:08:28 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2014-08-28 22:08:28 +0000 |
commit | ec2b0d0b11f3846a970145faf7e1c1e990b371bb (patch) | |
tree | e1f2ff3d982ca1527b3bbc1f2d5982f6ea86fc8f /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | ccd267683b5007d70969748068abf1a36713aaa7 (diff) | |
download | llvm-ec2b0d0b11f3846a970145faf7e1c1e990b371bb.zip llvm-ec2b0d0b11f3846a970145faf7e1c1e990b371bb.tar.gz llvm-ec2b0d0b11f3846a970145faf7e1c1e990b371bb.tar.bz2 |
AArch64: More correctly constrain target vector extend lowering.
The AArch64 target lowering for [zs]ext of vectors is set up to handle
input simple types and expects the generic SDag path to do something reasonable
with anything that's not a simple type. The code, however, was only
checking that the result type was a simple type and assuming that
implied that the source type would also be a simple type. That's not a
valid assumption, as operations like "zext <1 x i1> %0 to <1 x i32>"
demonstrate. The fix is to simply explicitly validate the source type
as well as the result type.
PR20791
llvm-svn: 216689
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions