mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Add support for v1i128 type.
The v1i128 type is needed for the quadword add/substract instructions introduced in POWER8. Futhermore, the PowerPC ABI specifies that parameters of type v1i128 are to be passed in a single vector register, while parameters of type i128 are passed in pairs of GPRs. Thus, it is necessary to be able to differentiate between v1i128 and i128 in LLVM. http://reviews.llvm.org/D8564 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235198 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -157,6 +157,7 @@ std::string EVT::getEVTString() const {
|
||||
case MVT::v4i64: return "v4i64";
|
||||
case MVT::v8i64: return "v8i64";
|
||||
case MVT::v16i64: return "v16i64";
|
||||
case MVT::v1i128: return "v1i128";
|
||||
case MVT::v1f32: return "v1f32";
|
||||
case MVT::v2f32: return "v2f32";
|
||||
case MVT::v2f16: return "v2f16";
|
||||
@@ -225,6 +226,7 @@ Type *EVT::getTypeForEVT(LLVMContext &Context) const {
|
||||
case MVT::v4i64: return VectorType::get(Type::getInt64Ty(Context), 4);
|
||||
case MVT::v8i64: return VectorType::get(Type::getInt64Ty(Context), 8);
|
||||
case MVT::v16i64: return VectorType::get(Type::getInt64Ty(Context), 16);
|
||||
case MVT::v1i128: return VectorType::get(Type::getInt128Ty(Context), 1);
|
||||
case MVT::v2f16: return VectorType::get(Type::getHalfTy(Context), 2);
|
||||
case MVT::v4f16: return VectorType::get(Type::getHalfTy(Context), 4);
|
||||
case MVT::v8f16: return VectorType::get(Type::getHalfTy(Context), 8);
|
||||
|
Reference in New Issue
Block a user