[PATCH] D91696: [AArch64][SVE] Allow lax conversion between VLATs and GNU vectors
    Joe Ellis via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Wed Nov 18 03:51:22 PST 2020
    
    
  
joechrisellis created this revision.
joechrisellis added reviewers: fpetrogalli, peterwaller-arm.
Herald added subscribers: cfe-commits, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: clang.
joechrisellis requested review of this revision.
Previously, lax conversions were only allowed between SVE vector-length
agnostic types and vector-length specific types. This meant that code
such as the following:
  #include <arm_sve.h>
  #define N __ARM_FEATURE_SVE_BITS
  #define FIXED_ATTR __attribute__ ((vector_size (N/8)))
  typedef float fixed_float32_t FIXED_ATTR;
  
  void foo() {
      fixed_float32_t fs32;
      svfloat64_t s64;
      fs32 = s64;
  }
was not allowed.
This patch makes a minor change to areLaxCompatibleSveTypes to allow for
lax conversions to be performed between SVE vector-length agnostic types
and GNU vectors.
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D91696
Files:
  clang/lib/AST/ASTContext.cpp
  clang/test/Sema/aarch64-sve-lax-vector-conversions.c
  clang/test/SemaCXX/aarch64-sve-lax-vector-conversions.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91696.306040.patch
Type: text/x-patch
Size: 8114 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201118/e22e9756/attachment.bin>
    
    
More information about the cfe-commits
mailing list