mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 21:31:03 +00:00
Use new neon_vector_type and neon_polyvector_type attributes for Neon vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119406 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4fbf63845f
commit
6a8aceb50b
@ -844,12 +844,16 @@ void NeonEmitter::run(raw_ostream &OS) {
|
||||
|
||||
// Emit vector typedefs.
|
||||
for (unsigned i = 0, e = TDTypeVec.size(); i != e; ++i) {
|
||||
bool dummy, quad = false;
|
||||
(void) ClassifyType(TDTypeVec[i], quad, dummy, dummy);
|
||||
OS << "typedef __attribute__(( __vector_size__(";
|
||||
bool dummy, quad = false, poly = false;
|
||||
(void) ClassifyType(TDTypeVec[i], quad, poly, dummy);
|
||||
if (poly)
|
||||
OS << "typedef __attribute__((neon_polyvector_type(";
|
||||
else
|
||||
OS << "typedef __attribute__((neon_vector_type(";
|
||||
|
||||
OS << utostr(8*(quad ? 2 : 1)) << ") )) ";
|
||||
if (!quad)
|
||||
unsigned nElts = GetNumElements(TDTypeVec[i], quad);
|
||||
OS << utostr(nElts) << "))) ";
|
||||
if (nElts < 10)
|
||||
OS << " ";
|
||||
|
||||
OS << TypeString('s', TDTypeVec[i]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user