[PATCH] D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 7 06:26:03 PDT 2020


ZarkoCA marked an inline comment as done.
ZarkoCA added inline comments.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-csr-vector.ll:2
+; RUN: llc -mtriple=powerpc-unknown-aix-xcoff -verify-machineinstrs \
+; RUN: -mcpu=pwr7 -mattr=+altivec -stop-after=prologepilog < %s | \
+; RUN: FileCheck --check-prefix=MIR32 %s
----------------
Xiangling_L wrote:
> ZarkoCA wrote:
> > Xiangling_L wrote:
> > > sfertile wrote:
> > > > Minor nit: align this with the first argument in the preceeding line.
> > > The ABI mentioned AIX5.3 is the first AIX release to enable vector programming, and there are arch like pwr4 is not compatible with altivec. Since this is our first altivec patch, it looks it's the right place to add `report_fatal_error` for arch level which doesn't support altivec.
> > While I think that's a good suggestion, none of the other PPC targets do anything similar.  If you choose an arch that doesn't support altivec while selecting a CPU that doesn't support it they quietly don't generate the altivec instructions.  
> > 
> > Also, as things are, we do have a report fatal error when ever someone tries using vector types in the front end and in the back end.  
> I see. The only reason why I raise it up is because XL gives an error when using altivec with unsupported arch.
I see a warning and xlc and xlclang: 
`1506-1162 (W) The altivec option is not supported for the target architecture and is ignored.` 
Additionally with xlclang we get from the altivec.h header included in xlclang if an unsupported arch is specified.  

But this has me thinking that it is a good idea to follow through with your suggestion of an error. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88676/new/

https://reviews.llvm.org/D88676



More information about the llvm-commits mailing list