]> granicus.if.org Git - clang/commit
x86-64 ABI: unwrap single element structs / arrays of 256-bit vectors to pass and...
authorSanjay Patel <spatel@rotateright.com>
Mon, 16 Feb 2015 17:26:51 +0000 (17:26 +0000)
committerSanjay Patel <spatel@rotateright.com>
Mon, 16 Feb 2015 17:26:51 +0000 (17:26 +0000)
commitf338f128bec4d717809f1681dc6328f7aca201c1
treeb9720038808eb8babe88e9491f267745ca9a574c
parentadf338c527ad74398c8701a758de4b443397a07f
x86-64 ABI: unwrap single element structs / arrays of 256-bit vectors to pass and return in registers

This is a patch for PR22563 ( http://llvm.org/bugs/show_bug.cgi?id=22563 ).

We were not correctly unwrapping a single 256-bit AVX vector that was defined as an array of 1 inside a struct.

We would generate a <4 x float> param/return value instead of <8 x float> and lose half of the vector.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229408 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGen/x86_64-arguments.c