diff options
author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-05-14 22:33:24 +0000 |
---|---|---|
committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-05-14 22:33:24 +0000 |
commit | af85f6083af0f2819714dedc70fe0691f32ed1b5 (patch) | |
tree | bb082f981d1deea22eb3ca4ecbeaa7df8b3997b7 /clang/lib/Sema/DeclSpec.cpp | |
parent | dacc4a953df3c241f71ed7d163a427d75dce3b0c (diff) | |
download | bcm5719-llvm-af85f6083af0f2819714dedc70fe0691f32ed1b5.tar.gz bcm5719-llvm-af85f6083af0f2819714dedc70fe0691f32ed1b5.zip |
ARM ISel: Don't create illegal types during LowerMUL
The transformation happening here is that we want to turn a
"mul(ext(X), ext(X))" into a "vmull(X, X)", stripping off the extension. We have
to make sure that X still has a valid vector type - possibly recreate an
extension to a smaller type. In case of a extload of a memory type smaller than
64 bit we used create a ext(load()). The problem with doing this - instead of
recreating an extload - is that an illegal type is exposed.
This patch fixes this by creating extloads instead of ext(load()) sequences.
Fixes PR15970.
radar://13871383
llvm-svn: 181842
Diffstat (limited to 'clang/lib/Sema/DeclSpec.cpp')
0 files changed, 0 insertions, 0 deletions