[PATCH] ARM-BE: test files for vector argument passing

Christian Pirker cpirker at a-bix.com
Wed May 14 08:35:07 PDT 2014


Hi all,

According to ARM pcs are vector arguments passed in a format of integer types.
In little endian both integer and vector types are of the same bit representation.
However in big endian any vector argument need to be converted in an integer type (and vice versa) when passing as procedure argument.
Such conversion between vector and integer data types is implemented by VREV instructions.
You can find a deep discussion on neon vector types (although for AArch64, but essentially valid for ARM32 as well):
http://llvm.org/docs/BigEndianNEON.html

This patch provides tests for caller and callee processing of vector arguments for both soft and hard float ABIs. 

Please review.

Thanks,
Christian

http://reviews.llvm.org/D3766

Files:
  lib/Target/ARM/ARMISelLowering.cpp
  test/CodeGen/ARM/big-endian-vector-callee.ll
  test/CodeGen/ARM/big-endian-vector-caller.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3766.9392.patch
Type: text/x-patch
Size: 77568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140514/eefe99cb/attachment.bin>


More information about the llvm-commits mailing list